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_IPolarak, - Slave sunucusunun IP adresini
SLAVE_IPolarak 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ınobodyvenogroupolarak 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ğin192.168.1.10gibi.
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.
İlk Yorumu Siz Yapın