Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bilgi Bankası

Anasayfa Bilgi Bankası Genel Linux NFS Sunucusu Kurulumu

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

Linux NFS Sunucusu Kurulumu

NFS (Network File System) Nedir ve Neden Kullanılır?

NFS (Network File System), Sun Microsystems tarafından geliştirilen ve bir istemcinin bir ağ üzerinden bir sunucudaki dosyalara erişmesini sağlayan dağıtılmış bir dosya sistemi protokolüdür. NFS, yerel olarak bağlıymış gibi uzak dosyalara erişim imkanı sunar. Bu, birden fazla kullanıcının aynı dosyalara erişmesini ve paylaşmasını kolaylaştırır.

  • Merkezi Veri Depolama: Tüm verileri tek bir sunucuda saklayarak, veri yedekleme ve yönetimi kolaylaşır.
  • Kaynak Paylaşımı: Birden fazla kullanıcının aynı dosyalara ve uygulamalara erişmesini sağlar.
  • Basitleştirilmiş Yönetim: Kullanıcı hesapları ve izinleri tek bir yerde yönetilebilir.
  • Maliyet Tasarrufu: Merkezi depolama, ayrı ayrı depolama cihazlarına olan ihtiyacı azaltarak maliyetleri düşürür.

Gerçek Hayattan Örnek: Bir yazılım geliştirme ekibi düşünün. Tüm kod projeleri, dokümanlar ve araçlar bir NFS sunucusunda saklanır. Geliştiriciler, kendi makinelerinden bu sunucuya bağlanarak, projeler üzerinde işbirliği yapabilirler. Bu sayede, herkesin aynı dosya sürümlerine sahip olduğundan emin olunur ve çakışmalar önlenir.

NFS'nin Temel Bileşenleri Nelerdir?

NFS'nin temel bileşenleri şunlardır:

  • NFS Sunucusu: Dosyaları ve dizinleri ağ üzerinden paylaşan sunucudur.
  • NFS İstemcisi: NFS sunucusundaki paylaşılan dosyalara erişen istemcidir.
  • RPC (Remote Procedure Call): İstemci ve sunucu arasındaki iletişimi sağlayan protokoldür.
  • Portmapper (rpcbind): RPC servislerini port numaralarına eşler.
  • Mount Protokolü: İstemcinin sunucudaki paylaşımlara bağlanmasını sağlar.
  • NFS Protokolü: Dosya erişim işlemlerini (okuma, yazma, silme, vb.) gerçekleştirir.

Şematik Gösterim (Metinsel Açıklama):

+-----------------+       +-----------------+
| NFS İstemcisi  | ----> | NFS Sunucusu    |
+-----------------+       +-----------------+
       |                  |
       | RPC İsteği      |
       |                  |
       V                  V
+-----------------+       +-----------------+
|  rpcbind         | <---> |  rpcbind         |
+-----------------+       +-----------------+
       |                  |
       | Port Eşleme     |
       |                  |
       V                  V
+-----------------+       +-----------------+
|  Mount Protokolü| ----> |  Mount Protokolü|
+-----------------+       +-----------------+
       |                  |
       | Bağlantı Talebi |
       |                  |
       V                  V
+-----------------+       +-----------------+
|  NFS Protokolü  | ----> |  NFS Protokolü  |
+-----------------+       +-----------------+
       |                  |
       | Dosya İşlemleri |
       |                  |
       V                  V
+-----------------+       +-----------------+
|  Dosya Sistemi   |       |  Dosya Sistemi   |
+-----------------+       +-----------------+

Farklı NFS Sürümleri Arasındaki Farklar Nelerdir?

NFS'nin farklı sürümleri (NFSv2, NFSv3, NFSv4, NFSv4.1, NFSv4.2) bulunmaktadır ve her sürüm, önceki sürümlere göre iyileştirmeler ve yeni özellikler sunar. En yaygın kullanılan ve önerilen sürüm genellikle NFSv4 veya daha yenisidir.

Özellik NFSv2 NFSv3 NFSv4
Protokol UDP (genellikle) UDP veya TCP TCP (zorunlu)
Güvenlik Zayıf (IP tabanlı) Geliştirilmiş (AUTH_SYS, AUTH_DES) Çok daha iyi (Kerberos, LIPKEY)
Durum Takibi Durumsuz Durumsuz Durumlu
Performans Düşük Orta Yüksek
Dosya Boyutu Desteği Sınırlı (2GB) Daha büyük (64-bit dosya boyutları) Çok büyük (64-bit dosya boyutları)
Güvenlik Duvarı Dostu Zor (UDP ve dinamik portlar) Zor (UDP ve dinamik portlar) Daha kolay (TCP ve statik portlar)

NFSv4'ün Avantajları:

  • Daha İyi Güvenlik: Kerberos gibi güçlü kimlik doğrulama mekanizmaları sunar.
  • Daha İyi Performans: TCP kullanımı ve durumlu protokol sayesinde daha iyi performans sağlar.
  • Güvenlik Duvarı Dostu: Sabit port numaraları kullanarak güvenlik duvarı yapılandırmasını kolaylaştırır.
  • Daha Fazla Özellik: Bileşik işlemler, dosya kilitleme ve delegasyon gibi gelişmiş özellikler sunar.

Linux'ta NFS Sunucusu Nasıl Kurulur ve Yapılandırılır?

Linux'ta NFS sunucusu kurmak ve yapılandırmak için aşağıdaki adımları izleyebilirsiniz:

  1. NFS Sunucu Paketini Yükleyin:

    Debian/Ubuntu tabanlı sistemlerde:

    sudo apt update
    sudo apt install nfs-kernel-server

    Red Hat/CentOS tabanlı sistemlerde:

    sudo yum install nfs-utils
  2. Paylaşılacak Dizini Oluşturun:
    sudo mkdir /srv/nfs_share
  3. Dizin İzinlerini Ayarlayın (Gerekirse):

    İzinleri ihtiyacınıza göre ayarlayın. Örneğin, herkesin okuyup yazabilmesini istiyorsanız:

    sudo chmod 777 /srv/nfs_share

    Önemli: Bu, güvenlik açısından riskli olabilir. Daha kısıtlayıcı izinler kullanmanız önerilir.

  4. /etc/exports Dosyasını Düzenleyin:
    sudo nano /etc/exports

    Paylaşılacak dizinleri ve erişim izinlerini belirtin. Örneğin:

    /srv/nfs_share   192.168.1.0/24(rw,sync,no_subtree_check)

    Açıklama:

    • /srv/nfs_share: Paylaşılacak dizin.
    • 192.168.1.0/24: İzin verilen ağ.
    • rw: Okuma ve yazma izni.
    • sync: Değişiklikler anında diske yazılır.
    • no_subtree_check: Alt dizin kontrolünü devre dışı bırakır (performansı artırır).

    Diğer seçenekler:

    • ro: Sadece okuma izni.
    • async: Değişiklikler gecikmeli olarak diske yazılır (daha hızlı, ancak veri kaybı riski var).
    • subtree_check: Alt dizin kontrolünü etkinleştirir (daha güvenli).
    • all_squash: Tüm kullanıcıları anonim bir kullanıcıya eşler.
    • anonuid ve anongid: Anonim kullanıcının UID ve GID'sini belirtir.
    • secure: Bağlantı noktası aralığını kısıtlar (daha güvenli).
    • insecure: Bağlantı noktası aralığını kısıtlamaz (daha az güvenli).
  5. NFS Sunucusunu Yeniden Başlatın:
    sudo systemctl restart nfs-kernel-server
  6. Güvenlik Duvarını Yapılandırın:

    Güvenlik duvarınızın NFS trafiğine izin verdiğinden emin olun. UFW kullanıyorsanız:

    sudo ufw allow from 192.168.1.0/24 to any port 2049 proto tcp
    sudo ufw allow from 192.168.1.0/24 to any port 111 proto tcp
    sudo ufw allow from 192.168.1.0/24 to any port 20048 proto tcp #nfs_acl
    sudo ufw enable
    

    Firewalld kullanıyorsanız:

    sudo firewall-cmd --permanent --add-service=nfs
    sudo firewall-cmd --permanent --add-service=rpc-bind
    sudo firewall-cmd --permanent --add-service=mountd
    sudo firewall-cmd --reload
  7. İstemci Tarafında Bağlantı:

    İstemci makinede NFS istemci paketini yükleyin:

    Debian/Ubuntu:

    sudo apt update
    sudo apt install nfs-common

    Red Hat/CentOS:

    sudo yum install nfs-utils

    Bağlantı noktasını oluşturun:

    sudo mkdir /mnt/nfs_mount

    Paylaşımı bağlayın:

    sudo mount 192.168.1.100:/srv/nfs_share /mnt/nfs_mount

    Açıklama:

    • 192.168.1.100: NFS sunucusunun IP adresi.
    • /srv/nfs_share: Sunucudaki paylaşılan dizin.
    • /mnt/nfs_mount: İstemcideki bağlantı noktası.
  8. Otomatik Bağlantı (fstab):

    Her yeniden başlatmada otomatik olarak bağlanması için /etc/fstab dosyasını düzenleyin:

    sudo nano /etc/fstab

    Aşağıdaki satırı ekleyin:

    192.168.1.100:/srv/nfs_share /mnt/nfs_mount nfs defaults 0 0

    Değişiklikleri uygulamak için:

    sudo mount -a

NFS Performansını Nasıl İyileştirebilirim?

NFS performansını iyileştirmek için aşağıdaki yöntemleri deneyebilirsiniz:

  • Hızlı Ağ Bağlantısı Kullanın: Gigabit Ethernet veya daha hızlı bir ağ bağlantısı kullanmak performansı önemli ölçüde artırır.
  • TCP Kullanın: UDP yerine TCP kullanmak, daha güvenilir ve genellikle daha hızlı bir bağlantı sağlar. NFSv4 ve üzeri sürümler zaten TCP kullanır.
  • Doğru NFS Sürümünü Seçin: NFSv4 veya daha yenisi, önceki sürümlere göre daha iyi performans ve güvenlik sunar.
  • Donanım İvmesi Kullanın: NFS sunucusunda donanım ivmesi (örneğin, TCP Offload Engine) kullanmak, işlemci yükünü azaltarak performansı artırabilir.
  • SSD Kullanın: NFS sunucusunda SSD (Solid State Drive) kullanmak, disk erişim sürelerini azaltarak performansı artırır.
  • Önbellekleme Kullanın: NFS sunucusunda ve istemcisinde önbellekleme kullanmak, sık erişilen verilere daha hızlı erişim sağlayarak performansı artırır.
  • Jumbo Frame'leri Etkinleştirin: Ağınız destekliyorsa, jumbo frame'leri (MTU 9000) etkinleştirmek, paket boyutunu artırarak ağ yükünü azaltabilir ve performansı artırabilir.
  • async Seçeneğini Dikkatli Kullanın: /etc/exports dosyasında async seçeneğini kullanmak yazma performansını artırabilir, ancak veri kaybı riskini de artırır. Bu seçeneği dikkatli kullanın ve veri bütünlüğünün önemli olduğu durumlarda sync seçeneğini tercih edin.
  • no_subtree_check Seçeneğini Kullanın: /etc/exports dosyasında no_subtree_check seçeneğini kullanmak, alt dizin kontrolünü devre dışı bırakarak performansı artırabilir. Ancak, bu seçenek güvenlik riskleri de taşıyabilir.
  • İstemci ve Sunucu Arasındaki Mesafeyi Azaltın: İstemci ve sunucu arasındaki fiziksel mesafe ne kadar kısa olursa, ağ gecikmesi de o kadar az olur ve performans artar.
  • Ağ Trafiğini İzleyin: Ağ trafiğini izleyerek, darboğazları tespit edebilir ve performansı iyileştirmek için gerekli önlemleri alabilirsiniz.

NFS Güvenliğini Nasıl Sağlayabilirim?

NFS güvenliğini sağlamak için aşağıdaki önlemleri alabilirsiniz:

  • Güçlü Kimlik Doğrulama Kullanın: Kerberos gibi güçlü kimlik doğrulama mekanizmaları kullanmak, yetkisiz erişimi önler. NFSv4 ve üzeri sürümler Kerberos desteği sunar.
  • Güvenlik Duvarı Kullanın: Güvenlik duvarı kullanarak, sadece belirli IP adreslerinden veya ağlardan gelen trafiğe izin verin.
  • /etc/exports Dosyasını Doğru Yapılandırın: /etc/exports dosyasında sadece gerekli dizinleri paylaşın ve erişim izinlerini dikkatli bir şekilde ayarlayın. Gereksiz izinlerden kaçının.
  • secure Seçeneğini Kullanın: /etc/exports dosyasında secure seçeneğini kullanarak, bağlantı noktası aralığını kısıtlayın. Bu, yetkisiz erişimi zorlaştırır.
  • En Güncel Yazılımları Kullanın: NFS sunucusu ve istemci yazılımlarını güncel tutmak, güvenlik açıklarını kapatır.
  • Düzenli Olarak Denetim Yapın: NFS sunucusu ve istemci yapılandırmalarını düzenli olarak denetleyerek, güvenlik açıklarını tespit edin ve giderin.
  • Veri Şifreleme Kullanın: Hassas verileri NFS üzerinden aktarırken, veri şifreleme kullanmak, verilerin yetkisiz erişime karşı korunmasını sağlar.
  • VPN Kullanın: NFS trafiğini bir VPN üzerinden geçirmek, verilerin güvenliğini artırır.
  • IP Tabanlı Erişim Kontrolü: Sadece belirli IP adreslerinin veya ağların NFS sunucusuna erişmesine izin vererek, yetkisiz erişimi önleyebilirsiniz. /etc/exports dosyasında IP adreslerini veya ağları belirterek bu kontrolü sağlayabilirsiniz.
  • Anonim Kullanıcıları Kısıtlayın: all_squash, anonuid ve anongid seçeneklerini kullanarak anonim kullanıcıların erişimini kısıtlayabilir veya anonim kullanıcıları belirli bir kullanıcıya eşleyebilirsiniz.

NFS Sorunlarını Nasıl Giderebilirim?

NFS sorunlarını gidermek için aşağıdaki adımları izleyebilirsiniz:

  1. Ağ Bağlantısını Kontrol Edin: İstemci ve sunucu arasındaki ağ bağlantısının düzgün çalıştığından emin olun. ping komutu ile bağlantıyı test edebilirsiniz.
  2. Güvenlik Duvarını Kontrol Edin: Güvenlik duvarının NFS trafiğine izin verdiğinden emin olun. Gerekli portların açık olduğundan emin olun.
  3. NFS Sunucusunun Çalıştığını Kontrol Edin: NFS sunucusunun çalıştığından emin olun. systemctl status nfs-kernel-server komutu ile durumu kontrol edebilirsiniz.
  4. /etc/exports Dosyasını Kontrol Edin: /etc/exports dosyasının doğru yapılandırıldığından emin olun. Paylaşılan dizinlerin ve erişim izinlerinin doğru ayarlandığından emin olun.
  5. İstemci Tarafındaki Bağlantı Ayarlarını Kontrol Edin: İstemci tarafındaki bağlantı ayarlarının doğru olduğundan emin olun. Sunucu IP adresinin, paylaşılan dizinin ve bağlantı noktasının doğru belirtildiğinden emin olun.
  6. Log Dosyalarını Kontrol Edin: NFS sunucusu ve istemci log dosyalarını (örneğin, /var/log/syslog) kontrol ederek, hata mesajlarını ve uyarıları inceleyebilirsiniz.
  7. RPC Servislerini Kontrol Edin: RPC servislerinin (rpcbind, mountd, nfsd) çalıştığından emin olun.
  8. DNS Çözümlemesini Kontrol Edin: İstemci ve sunucu arasındaki DNS çözümlemesinin doğru çalıştığından emin olun. İstemcinin sunucunun IP adresini doğru bir şekilde çözümleyebildiğinden emin olun.
  9. NFS Sürümünü Kontrol Edin: İstemci ve sunucunun aynı NFS sürümünü kullandığından emin olun. NFS sürümünü belirtmek için mount komutunda -o vers=4 gibi bir seçenek kullanabilirsiniz.
  10. showmount -e Komutunu Kullanın: İstemci üzerinde showmount -e sunucu_ip_adresi komutunu kullanarak, sunucudaki paylaşılan dizinleri listeleyebilirsiniz. Bu komut, sunucu tarafında bir sorun olup olmadığını anlamanıza yardımcı olabilir.
  11. nfsstat Komutunu Kullanın: nfsstat komutunu kullanarak, NFS sunucusu ve istemci istatistiklerini görüntüleyebilirsiniz. Bu komut, performans sorunlarını tespit etmenize yardımcı olabilir.
  12. İnterneti Araştırın: Karşılaştığınız hata mesajlarını veya sorunları internette aratarak, diğer kullanıcıların deneyimlerinden ve çözümlerinden faydalanabilirsiniz.

NFS Üzerinden Veri Yedekleme Nasıl Yapılır?

NFS, merkezi bir depolama çözümü sunduğu için veri yedekleme işlemleri için ideal bir ortam sağlar. NFS sunucusundaki verileri yedeklemek için çeşitli yöntemler kullanılabilir:

    • rsync: rsync, NFS sunucusundaki verileri başka bir sunucuya veya depolama cihazına yedeklemek için yaygın olarak kullanılan bir araçtır. rsync, sadece değişen dosyaları kopyalayarak bant genişliğini ve yedekleme süresini azaltır.
rsync -avz /srv/nfs_share/ yedekleme_sunucusu:/yedekleme_dizini/
    • tar: tar, NFS sunucusundaki verileri bir arşiv dosyasına yedeklemek için kullanılabilir. Arşiv dosyası daha sonra başka bir sunucuya veya depolama cihazına kopyalanabilir.
tar -czvf yedekleme.tar.gz /srv/nfs_share/
  • Bacula/Amanda: Bacula ve Amanda gibi profesyonel yedekleme yazılımları, NFS sunucusundaki verileri yedeklemek için kullanılabilir. Bu yazılımlar, gelişmiş özellikler (örneğin, artımlı yedekleme, veri sıkıştırma, şifreleme) ve merkezi yönetim imkanı sunar.
  • Snapshots (Anlık Görüntüler): Dosya sisteminiz (örneğin, ZFS veya Btrfs) anlık görüntüleri destekliyorsa, NFS sunucusundaki verilerin düzenli olarak anlık görüntülerini alabilirsiniz. Anlık görüntüler, veri kaybı durumunda hızlı bir şekilde geri yükleme imkanı sunar.
  • Cloud Yedekleme: NFS sunucusundaki verileri bulut depolama hizmetlerine (örneğin, Amazon S3, Google Cloud Storage, Azure Blob Storage) yedekleyebilirsiniz. Bu, verilerinizi güvenli bir şekilde saklamanızı ve herhangi bir yerden erişmenizi sağlar.

Yedekleme Stratejisi:

Etkili bir yedekleme stratejisi oluşturmak için aşağıdaki faktörleri göz önünde bulundurun:

  • Yedekleme Sıklığı: Verilerinizin ne sıklıkla değiştiğine bağlı olarak, günlük, haftalık veya aylık yedeklemeler yapabilirsiniz.
  • Yedekleme Tutma Süresi: Yedeklemelerinizi ne kadar süreyle saklayacağınızı belirleyin.
  • Yedekleme Konumu: Yedeklemelerinizi farklı konumlarda (örneğin, yerel depolama, uzak sunucu, bulut depolama) saklayarak, veri kaybı riskini azaltın.
  • Yedekleme Testleri: Düzenli olarak yedeklemelerinizi test ederek, geri yükleme işleminin düzgün çalıştığından emin olun.
Yedekleme Yöntemi Avantajları Dezavantajları
rsync Hızlı, verimli, artımlı yedekleme Temel özellikler, karmaşık yapılandırma
tar Basit, yaygın olarak kullanılabilir Büyük dosyalar için yavaş, artımlı yedekleme yok
Bacula/Amanda Gelişmiş özellikler, merkezi yönetim Karmaşık kurulum, maliyetli
Anlık Görüntüler Hızlı geri yükleme, veri kaybı önleme Dosya sistemi bağımlılığı, ek depolama gereksinimi
Bulut Yedekleme Güvenli, erişilebilir, otomatik yedekleme Maliyetli, internet bağlantısı gereksinimi

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(1893 defa görüntülendi. / 15 kişi faydalı buldu.)

Ürün ve hizmetlerimiz hakkında daha detaylı bilgi almak için hemen arayın.

Top