İçeriğe geç

Ubuntu NFS (Network File System) Bağlantısı Nasıl Yapılır?

Birden fazla sunucunun aynı dosya sistemini paylaşması gerekebiliyor. Bu rehberde Ubuntu üzerinde NFS (Network File System) sunucusunun nasıl kurulacağını, NFS paylaşımının nasıl yapılacağını ve istemci tarafta bu paylaşımın nasıl kalıcı olarak sisteme ekleneceğini adım adım anlatacağız.

NFS Nedir?

NFS (Network File System), bir sunucudaki klasör veya dizinlerin ağ üzerinde başka bir sunucu (istemci) tarafından kullanılmasını sağlayan bir dosya paylaşım protokolüdür. Böylece farklı makineler tek bir dosya sistemine eş zamanlı erişebilir.

Sistem Mimarisi

  • Master Sunucu (NFS Sunucusu): Dosyaların asıl bulunduğu, paylaşımın ayarlandığı sunucudur.
  • Slave Sunucu (NFS İstemcisi): Master’daki paylaşıma bağlanarak /mnt/live dizini üzerinden dosyalara erişir.

Bu rehberde:

  • Master sunucusunun IP adresini MASTER_IP olarak,
  • Slave sunucusunun IP adresini SLAVE_IP olarak düşünebilirsiniz.

Örnek konfigürasyonlarda <SLAVE_IP_1> ifadesi Master’ın /etc/exports dosyasında sadece o istemciye izin vereceğimizi gösteren yerdir. Siz kendi ağa uyarlayarak IP adreslerini girmelisiniz.

Master Sunucu (NFS Sunucusu) Kurulumu

1. Sunucu Güncellemesi

Öncelikle sunucunuzun paket listesini güncelleyin ve sistemde yüklü paketleri en son sürüme yükseltin:

sudo apt update && sudo apt upgrade -y

2. NFS Sunucu Paketlerinin Kurulumu

NFS servisinin düzgün çalışabilmesi için gerekli paketleri yükleyin:

sudoapt install nfs-kernel-server nfs-common -y
  • nfs-kernel-server: Sunucu tarafında NFS hizmetini sağlayan pakettir.
  • nfs-common: Hem sunucu hem istemci için ortak NFS araçlarını içerir.

3. Paylaşılacak Klasörü Oluşturma

NFS ile paylaşmak istediğiniz klasörü oluşturun ve gerekli izinleri verin:

sudo mkdir -p /mnt/live
sudo chmod -R 777 /mnt/live
sudo chown -R nobody:nogroup /mnt/live
  • mkdir -p: Klasör yoksa oluşturur, varsa hata vermez.
  • chmod -R 777: Herkese (okuma, yazma, çalıştırma) izni verir. (Demo/test ortamında kullanılabilir; gerçek ortamlarda daha katı izinler verilmelidir.)
  • chown -R nobody:nogroup: Sahiplik ayarlarını nobody ve nogroup olarak ayarlar.

4. NFS Export Ayarları

Sunucunun hangi klasörü, hangi istemcilere nasıl paylaşacağını /etc/exports dosyasında tanımlarız:

sudo nano /etc/exports

Dosyanın içine şu satırı ekleyin (örnek):

/mnt/live  <SLAVE_IP_1>(rw,sync,no_subtree_check,no_root_squash)

Burada <SLAVE_IP_1> yerine paylaşıma izin vereceğiniz istemcinin IP adresini girin.

  • rw: Okuma ve yazma izni sağlar.
  • sync: Senkronize yazma modunda çalışır, veriler bellekten önce diske yazılır.
  • no_subtree_check: NFS’nin alt dizinleri ayrı ayrı kontrol etmemesini sağlar. Performansı artırır.
  • no_root_squash: root kullanıcısının da tam yetkili olmasını sağlar. (Güvenlik açısından dikkatli kullanılmalıdır.)

Değişiklikleri kaydettikten sonra paylaşımları yeniden yükleyin:

sudo exportfs -ua  # Tüm paylaşımları kaldır
sudo exportfs -a   # /etc/exports'daki tüm paylaşımları yeniden yükle

Son olarak NFS sunucusunu yeniden başlatın:

sudo systemctl restart nfs-kernel-server

Böylece Master (NFS Sunucusu) tarafında yapılandırma tamamlanmış oldu.


Slave Sunucu (NFS İstemcisi) Kurulumu

1. Gerekli NFS İstemci Araçlarını Yükleyin

Slave sunucuda NFS paylaşımlarını kullanabilmek için nfs-common paketini yükleyin:

sudo apt update
sudo apt install nfs-common -y

2. Eski/Olası Mount Noktalarını Temizleyin

Önceden bir mount işlemi yaptıysanız, özellikle aynı dizini tekrar mount ederken sorun yaşamamak için unmount edin:

sudo umount -f /mnt/live

-f parametresi (force) varsa bağlantıda hata olsa bile unmount’u zorlayacaktır.

3. Bağlanılacak Klasörü Oluşturma ve İzin Ayarları

İstemci tarafında NFS ile bağlanacağınız mount noktası dizinini oluşturun:

sudo mkdir -p /mnt/live
sudo chmod -R 777 /mnt/live
sudo chown -R nobody:nogroup /mnt/live

4. Master’daki Paylaşıma Bağlanma

NFS v4.2 kullanarak paylaşıma bağlanabilirsiniz:

sudo mount -t nfs4 -o vers=4.2 <MASTER_IP>:/mnt/live /mnt/live

<MASTER_IP> ifadesi, NFS sunucusu (Master) IP adresini temsil ediyor. Örneğin 192.168.1.10 gibi.

Bu komutun ardından ls /mnt/live komutu ile Master’da oluşturulan dosya/dizinlere erişebilir olmalısınız.


Mount İşlemini Kalıcı Hale Getirme (FSTAB Düzenlemesi)

Yukarıdaki komutla manuel olarak mount edilen NFS dizini, sistem yeniden başlatıldığında otomatik olarak bağlanmaz. Bunun için fstab dosyasına bir satır eklememiz gerekir.

1. /etc/fstab Dosyasını Düzenleme

Aşağıdaki satırı Slave makinenin /etc/fstab dosyasına ekleyin:

sudo nano /etc/fstab

Dosyanın sonuna (örnek):

<MASTER_IP>:/mnt/live   /mnt/live   nfs4    defaults,vers=4.2   0   0

Açıklaması:

  • <MASTER_IP>:/mnt/live: Master (NFS Sunucusu) üzerinde paylaşımı yapılan yol.
  • /mnt/live: Slave üzerinde mount edilecek yol.
  • nfs4: Kullanılacak dosya sistemi tipi (NFS versiyon 4).
  • defaults,vers=4.2: Varsayılan ayarlar ve NFS sürüm 4.2 seçimi.
  • 0 0: Sırasıyla dump ve fsck ayarları.

2. Değişikliği Test Etme

fstab dosyasına satırı ekledikten sonra sistemi yeniden başlatmadan test etmek için:

sudo mount -a

Bu komut, fstab içerisindeki tüm mount satırlarını işler. Eğer hata almazsanız, mount başarılı demektir. Artık sistemi yeniden başlattığınızda (reboot) da otomatik olarak /mnt/live NFS paylaşımına bağlanılacaktır.

Artık birden fazla sunucudan (Slave) Master’daki /mnt/live paylaşımına aynı anda erişim sağlanabilir. Veriler senkronize bir şekilde yönetilir. Bu yapı, dosyaların tek bir noktada tutulması ve yönetilmesi gereken senaryolarda oldukça kullanışlıdır.

Tarih:Genel

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir