NFS ile Dizin Paylaşma ve Paylaşıma Bağlanma

By samed, 3 August, 2013

NFS (Network File System, Ağ Dosya Sistemi) ile bir makinanız üzerindeki bir dizin paylaşarak bu dizini diğer uzak veya yakın makinelerden doğrudan bir disk bölümüymüş gibi bağlanarak işlemler yapabilmenizi sağlamaktadır.

NFS özellikle kullanıcı izinleri, kota bilgileri gibi bilgileri de istemci makinelerle paylaşabilmesi, basit ve kolay kurulumu gibi nedenlerle çok yaygın olarak kullanılmaktadır. Örneğin kümelenmiş bir sistem (cluster) üzerinde çalışıyorsanız makinelerde kullanıcıların ev dizinlerinin ortak olmasını istersiniz. Bununla birlikte makinelere konfigürasyonları ayrı ayrı kopyalamak, kullanılacak ortak programları tek tek kurmak hem disk hemde zaman açısından etkin bir çözüm değildir. Bu gibi durumlarda bir merkez makine üzerine kurulumların yapılması ve paylaşılması sık başvurulan bir yöntemdir.

Not: Anlatımda Centos 6.4 64-bit istemci ve sunucu kullanılmıştır.

NFS'in İstemci ve Sunucuya Kurulması
Redhat ve türevlerinde NFS servisi ve kütüphanesi nfs-utils paketi ve bunun bağımlılıklarıyla birlikte gelmektedir. Kurulumun hem istemcilerde hemde sunucuda yapılması gerekiyor ama servisin yalnızca sunucuda çalışması yeterli.

yum install nfs-utils

Servisin başlatılması,

chkconfig nfs on 
service rpcbind start
service nfs start

NFS Paylaşımının Yapılması
NFS servisinde paylaşımlar /etc/exports dosyasında yer alan girdilerle kontrol edilir. Her bir satıra bir paylaşım yazılır. Örnek yazım aşağıdaki gibidir.

cat /etc/exports
/home           12.33.44.555(rw,sync,no_root_squash)

Parantez içerisinde belirtilen ayarlamalar sırasıyla şunları ifade etmektedir.

  • rw (read-write): Bu seçim istemcinin paylaşılan dizin üzerinde hem okuma hemde yazabilme işlemi yapabilmesini sağlamaktadır. Yalnızca okuması istenilen durumlarda ro (read-only) anahtarı kullanılmalıdır.
  • sync:
  • no_root_squash: root'un paylaşıma erişmesine izin verir.

Paylaşımların uygulanması

exportfs -a

NFS Paylaşımına Bağlanma
NFS dizinlerine bağlanmak için mount komutunu kullanabilirsiniz veya fstab dosyasına tanım girebilirsiniz.

mount 11.22.33.4:/home /mnt/nfs/home
mount
df -h

Böylece istemcimiz sunucu üzerindeki paylaşıma bağlanmış oldu. Bu paylaşım üzerinde artık kendi makinenize bağlı bir diskmiş gibi çalışabilirsiniz.