CentOS NFS Server ve Client Yapılandırması
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYNSZ2Jd' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Bir önceki yazımda, FreeBSD sistemler üzerinde nfs Server ve Client yapılandırma işlemlerinin nasıl yapıldığından bahsetmiştim. Bu yazıda da aynı işlemlerin centos sistemlerde nasıl yapılabileceğine hızlıca değinmek istiyorum.
nfs Yapılandırması için iki adet centos 5.2 kullanacağım, bunlardan birisi nfs Server olacak diğeri ise client olarak kullanılacak.
NFS Server Yapılandırması
centos sistemler, default olarak NFSv3 desteklemektedirler. Bundan dolayı, herhangi extra paket kurmaya gerek kalmaksızın, sistem NFS Server olarak set edilebilir. Yapılması gereken tek şey, networkteki diğer sistemlerin erişeceği disk bölümü ya da dizinlerin export edilmesi ve nfs servisinin başlatılmasıdır.
Ben örnek olarak, sunucu vazifesi görecek olan CentOS'un /usr/nfs-share isimli dizinini export edeceğim.
Bunun /etc/exports dosyasını editliyorum.
# vi /etc/exports
Daha sonra da aşağıdaki gibi bir satır giriyorum.
/usr/nfs-share 192.168.12.238(rw,no_root_squash)
Bu satıra göre, 192.168.12.238 ip adresine sahip bilgisayar, nfs üzerinden /usr/nfs-share isimli dizine, local sistemin root yetkilerine sahip bir şekilde erisebilecektir.
UYARI: no_root_squash parametresi, nfs client'ların export edilen dizinlere, root yetkisi ile erişmesini sağlamaktadır. Bu nedenle, NFS sunucunuzu public bir ortamda kullanmak istiyorsanız güvenlik nedenlerinden ötürü bu parametreyi kullanmanız önerilmez. |
Yukarıda değinilen sebeplerle, no_root_squash parametresini kullanmak istememeniz durumunda, export ettiğiniz dizine rw (read-write) yetkisi vermiş olsanız bile, clientlar okuma işlemini yapabilecek ama yazamayacaklardır. Bunun nedeni ise, clientların kullanıcılarının, server tarafından default olarak nfsnobody isimli yetkisiz kullanıcıya set edilmesidir. Bu durumda, nfs üzerinden erişilen dizinlere direk olarak yazma işlemi yapılamaz.
Eğer no_root_squash parametresini kullanmak istemiyor ama bir yandan da NFS clientların paylaşımdaki dizinlere yazabilmesini istiyorsanız izleyebileceğiniz iki yol var:
Birincisi exports edilmiş dizinin permission'ını 777 olarak belirlemek. Bu şekilde ilgili dizine herkes yazabileceğinden nfsnobody kullanıcısı da yazabilecektir. İkinci yöntem ise ilgili dizinin owner'ını nfsnobody olarak set etmektir. Export ettiğiniz dizinler güvenlik açısından sorun teşkil etmiyorsa bu yöntemlerden herhangi birini tercih edebilirsiniz.
Export ayarlamalarını yaptıktan sonra NFS sunucusunu start ediyoruz.
# /etc/init.d/nfs start
NFS servisinin sistem açılışlarında otomatik devreye girmesi için startup'a ekleyelim.
# chkconfig --level 345 nfs on
Sunucu ile ilgili yapılması gerekenler bu kadar.
Export edilen dizinleri görmek için showmount komutundan yararlanabilirsiniz.
# showmount -e
Çıktı şöyle olacaktır:
Export list for centnfs-srv.cagri-lab: /usr/nfs-share 192.168.12.238
Şimdi diğer CentOS bilgisayara geçip nfs sunucusunda export edilmiş olan /usr/nfs-share dizinini mount edeceğiz.
NFS Client Yapılandırması
Client tarafında da herhangi bir ek paket kurma ihtiyacı bulunmuyor. Sadece standart bir mount işlemi yapmak yeterli olacaktır. Bizim örneğimize uygun mount komutu şu şekilde:
# mount 192.168.12.236:/usr/nfs-share /mnt/nfs-share
Görüldüğü gibi, 192.168.12.236 ip'li nfs sunucusundaki /usr/nfs-share dizini NFS client'ın /mnt/nfs-share dizinine mount edildi.
mount komutu ile durumu kontrol ederseniz aşağıdaki gibi bir çıktı almanız gerekir.
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/hda1 on /boot type ext3 (rw) tmpfs on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) 192.168.0.236:/usr/nfs-share on /mnt/nfs-share type nfs (rw,addr=192.168.0.236)
NFS dizininin sistem açılışlarında otomatik olarak mount edilmesi için de /etc/fstab dosyasını kullanıyoruz.
fstab dosyasını editleyin:
# vi /etc/fstab
Ve dosyaya aşağıdaki satırın size uygun olanını ekleyin.
192.168.0.236:/usr/nfs-share /mnt/nfs-share nfs defaults 0 0
Böylece nfs client'ın her açılışında ilgili nfs dizini sisteme mount edilecektir.
CentOS üzerine NFS yapılandırmaları ile ilgili genel geçer bilgiler bu şekilde. Daha detaylı bilgi edinmek isterseniz aşağıdaki kaynak linklerinden yararlanabilirsiniz.
Kaynakça:
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-nfs.html
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-nfs-export.html
Bu yazılar da ilginizi çekebilir:
- FreeBSD NFS Server ve Client Yapılandırması
- CentOS6 Üzerine Oracle Java JDK 1.7 Kurulumu
- Windows paylaşımlarına *nix ortamlarından erişmek
- Linux Sistemlerde FTP Dizinlerinin Mount Edilmesi
- FreeBSD Sistemlerde RamDisk Oluşturulması
Yorumlar
Trackbacks
Yorumda bulunun.
Çok güzel anlatılmış.. Elinize sağlık…
[Cevapla]