FreeBSD NFS Server ve Client Yapılandırması
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYE31ZVz' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Bilindiği gibi nfs (Network File System) bir çok alanda oldukça fayda sağlayan RPC temelli bir dosya sistemidir. nfs ile bir bilgisayar üzerinde bulunan belli bir disk bölümüne başka bilgisiyarların da ulaşarak, okuma ve yazma gibi işlemler yapabilmesi sağlanabiliyor.
Örneğin, sunucu kümeleme işlemlerinde nfs kullanmak güzel bir yöntemdir. Birden fazla web sunucusundan oluşan sistemlerde, tüm web sunucular storage olarak görev yapan bir başka sunucuya NFS üzerinden erişebilirler.
Bu yazıda, freebsd'lerde NFS Server ve Client konfigurasyonlarının nasıl yapıldığına değinmek istiyorum. Yazıda iki adet freebsd 7.1 kullanacağım ve birisi NFS server olurken diğeri NFS client olacak.
freebsd'lerde NFS desteği default olarak verildiği için herhangi bir kurulum yapmaya gerek yok. Dolayısı ile konfigurasyon işlemlerini yapmak yeterli olacaktır.
NFS Server Yapılandırması
Öncelikli olarak NFS Server'ın startup sırasında devreye girmesi için /etc/rc.conf dosyasına aşağıdaki satırları ekleyin.
rpcbind_enable="YES" nfs_server_enable="YES" mountd_flags="-r"
Daha sonra paylaşıma açılacak disk bölümü ya da dizin için /etc/exports isimli dosya da gerekli tanımlamaların yapılması gerekiyor.
Exports dosyasında, hangi disk bölümlerinin ya da hangi dizinlerin export (share) edileceği ve hangi bilgisayarların ne gibi haklarla export kaynaklarına erişecekleri ile ilgili tüm tanımlamaların yapıldığı dosyadır. Örneğin, ben /usr/ dizini altında nfs-share isimli bir dizine belirli bir makinadan erişelebilmesi için şu şekilde bir kayıt giriyorum:
Dosyayı editleyip,
# vi /etc/exports
İçeriğine şu satırı ekleyip dosyayı kaydediyorum.
/usr/nfs-share -maproot=root 192.168.12.233
Bu satır ile 192.168.12.233 ip adresli bilgisayarın /usr/nfs-share isimli dizine root yetkileri ile erişebileceğini söylemiş oluyoruz. exports dosyası içerisinde maproot gibi bir kaç farklı parametre bulunuyor.
Export Çeşitleri
Aynı örnek üzerinden gidersek parametreleri şöyle özetleyebiliriz.
/usr/nfs-share -ro 192.168.12.233
Yukarıda belirtilen -ro parametresi read-only manasında gelmektedir ve export edilen bu kaynağa erişen herhangi bir bilgisayar bu dizin içerisinde yazma işlemi yapamaz.
/usr/nfs-share -alldirs 192.168.12.233
-alldirs parametresi ise, /usr/nfs-share dizini alltında bulunan alt dizinlerin, nfs client'lar tarafından mount point olarak kullanılabileceğini belirtir. Yani nfs client'a /usr/nfs-share yerine /usr/nfs-share/altdizin gibi bir dizini mount edebilirsiniz.
Birden fazla bilgisayarın export dizinine ulaşmasını sağlamak için ise aşağıdaki gibi bir satır kullanılabilir:
/usr/nfs-share -maproot=root 192.168.12.233 192.168.12.234 192.168.12.235
Bu şekilde 192.168.12.233, 234 ve 235 ip adresine sahip bilgisayarlar nfs üzerinden export dizinine ulaşabileceklerdir.
Aynı zamanda birden fazla dizini export etmek için de şunun gibi bir satır kullanılabilir.
/usr/nfs-share1 /usr/nfs-share2 -maproot=root 192.168.12.233
Böylece hem nfs-share1 dizini hem de nfs-share2 dizini export edilecektir.
Export işleminden sonra NFS sunucuyu start edebiliriz.
NFS Server'ın Start Edilmesi
FreeBSD rc. conf dosyasına gerekli eklemeleri yaptığımız için, bilgisayarın reboot edilmesinden sonra NFS sunucusu devreye girecektir. Ancak reboot etmeye gerek kalmaksızın, NFS hizmetini başlatmak için aşağıdaki komutları sırası ile vermeniz yeterlidir.
# rpcbind # nfsd -u -t -n 4 # mountd -r
Bu üç komut ile nfs sunucusu çalışmaya başlayacaktır.
Komutların kısaca ne olduklarına değinmek gerekirse:
rpcbind: Bu daemon'ı, NFS clientların, NFS sunucunun kullandığı portu belirlemesi için kullanılmaktadır.
nfsd: network file system daemon'ıdır. Komut'la birlikte kullanılan parametrelerin manaları şu şekildedir:
-u : NFS client için UDP hizmeti sunulması.
-t: NFS clientlar için TCP hizmeti sunulması.
-n: Kaç adet nfs sunucusu başlatılacağı. (Örnekte ve öntanımlı olarak 4 adettir.)
mountd: NFS mount daemon'ıdır. Yani export edilen disk bölüm ya da dizinlerinin nfs clientlar tarafından mount edilebilmesini sağlar.
NFS sunucusunu başlattıysanız, client tarafında yapılması gereken işlere geçebilirsiniz.
Export Edilen Kaynakların Kontrolü
NFS sunucunuda hangi dizin ya da disk bölümlerinin export edildiğini görmek için aşağıdaki komutu kullanabilirsiniz.
# showmount -e
Çıktı şuna benzer olacaktır.
Exports list on localhost: /usr/nfs-share 192.168.12.233
Görüldüğü gibi /usr/nfs-share dizini 192.168.12.233 ip'li bilgisayarın ulaşmasına izin verecek şekilde export edilmiş durumda.
NFS Client Yapılandırması
Client tarafında da ekstradan kurulması gereken bir paket bulunmuyor. NFS Client'ın sistem startup'ında devreye girmesi için /etc/rc.conf dosyasına aşağıdaki satırı eklemeniz yeterlidir.
nfs_client_enable="YES"
NFS Client'ın Start Edilmesi
rc.conf girdisi nedeni ile sistem açılışlarında nfs client devreye girecek. Ancak sistemi reboot etmeye gerek kalmadan devreye almak için aşağıdaki komutu verebilirsiniz.
# nfsiod -n 4
NFS istemcisinin, start olmasından sonra, NFS sunucusunda export edilen dizini, sisteme mount edebiliriz.
NFS Sunucusunda Export Edilmiş Disk Bölüm ya da Dizininin Client'a Mount Edilmesi
Bizim örneğimizde, Nfs Sunucusunun ip adresi 192.168.12.232 ve export edilmiş dizin /usr/nfs-share dizini. Export edilmiş bu kaynağını client'ın örneğin /mnt/nfs dizinine aşağıdaki komutu kullanılarak mount edebiliriz.
# mount 192.168.12.232:/usr/nfs-share /mnt/nfs/
Herşey yolunda gittise, artık NFS sunucusunun ilgili dizini root yetkisi ile kullanılabilir durumda olmalıdır.
Durumu görmek için mount komutunu kullanabilirsiniz. Çıktı aşağıdakine benzer şekilde olacaktır.
/dev/da0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/da0s1d on /tmp (ufs, local, soft-updates)
/dev/da0s1f on /usr (ufs, local, soft-updates)
/dev/da0s1e on /var (ufs, local, soft-updates)
192.168.12.232:/usr/nfs-share on /mnt/nfs (nfs)
Görüldüğü üzere, 192.168.12.232 ip'li bilgisayarın /usr/nfs-share dizini istemcimizin /mnt/nfs dizinine nfs üzerinden mount edilmiş durumda. Ayrıca df komutu da benzer bir çıktı verecektir.
Son olara, eğer nfs dizinini sürekli olarak kullanmak istiyorsanız, client'ın bu dizini startup'larda otomatik mount etmesi için fstab dosyanıza bir kayıt girebilirsiniz.
Bu işlemi bizim örneğe uygun olacak şekilde yapmak için:
/etc/fstab dosyasını editleyin.
# vi /etc/fstab
Aşağıdaki satırı ekleyin
192.168.12.232:/usr/nfs-share /mnt/nfs nfs rw 0 0
Böylece açılışlarda, nfs dizini de otomatik olarak mount edilecektir.
Bu yazılar da ilginizi çekebilir:
- CentOS NFS Server ve Client Yapılandırması
- Daily Security Cron Job ve Disk I/O Yoğunluğu.
- noatime – Disk I/O Optimizasyonu
- FreeBSD Sistemlerde RamDisk Oluşturulması
- Scalpel ile Data Recovery
Yorumlar
Henuz yorum yapilmamis.
Yorumda bulunun.