NFS ile barındırılan ana klasörün olması uygun mudur?


30

Bazı kiosk bilgisayarları kullanmayı planlıyorum ve onları küçük bir pendrive ile önyükleme diski olarak bırakmak istiyorum, gerisini yedeklemesi kolay bir sunucu olan ala LTSP'de tutmak istiyorum .

Şu anda iki seçeneğin üzerinde duruyorum. Bir NFSed / home / veya oturum açma sırasında ~ / kopyalanan yerel bir kopya, oturum kapatma sırasında rynynced.

Endişelerim dosyalarla çalışmanın çok yavaşlaması veya ağımın tıkanması olabilir .


Lütfen "kasa" yerine, güvenlikle daha az ilgili başka bir kelime ekler misiniz? Belki uygulanabilir merriam-webster.com/dictionary/feasible ?
Cristian Ciupitu

1
Hafif bir deja vu duygusu. Bu aynı şey değil, ama oradaki ilginç bir konu. hardware.slashdot.org/story/09/06/23/1823201/…
voyager

Yanıtlar:


30

Üretim ortamındaki ev dizinlerim için NFS kullanıyorum. Birkaç numara var.

  1. NFS'ye bağlanma /home- bu şekilde NFS sunucusunun çökmesi durumunda size izin veren yerel bir kullanıcıya sahip olabilirsiniz. Biz monte/mnt/nfs/home

  2. Yumuşak montaj parçaları ve çok kısa bir zaman aşımı süresi kullanın - bu işlemlerin sonsuza dek engellenmesini önler.

  3. Automounter kullanın . Bu, kaynak kullanımını azaltacaktır ve ayrıca, bir nedenden ötürü çökerse NFS sunucusu açıldığında hizmetleri yeniden başlatma konusunda endişelenmenize gerek olmadığı anlamına gelir.

    auto.master:
      +auto.master
      /mnt/nfs /etc/auto.home --timeout=300
    
    auto.home
       home -rw,soft,timeo=5,intr      home.bzzprod.lan:/home
    
  4. Tek bir oturum açma sistemi kullanın, böylece izinle ilgili sorunlara maruz kalmazsınız. Bir OpenLDAP sunucum var.


Automounter'ı her zaman korkunç derecede güvenilmez ve özellikle NFS sunucusu çökerse, kilitlenmeye yatkın buldum. / Mnt / nfs / home öğesine bağlarsanız, kullanıcının ana sayfasını / etc / passwd konumunda mı ayarladınız?
pjc50

2
Peki, / etc / passwd ve NFS ana hat direklerini kullanmak kötü bir fikirdir, çünkü UID ve GID'leri senkronize etmek zorunda kalırsınız - OpenLDAP gibi bir şey kullanın, ama evet, kullanıcının ana dizini / mnt / nfs / home olarak ayarlanır. /Kullanıcı adı.
Aaron Brown

@AaronBrown Ağa $ HOME koyacaksanız, aynı zamanda ağa kullanıcı kimliği ve kimlik doğrulaması yapmanız gerektiğini de kabul ediyorum. Bunu nasıl yaptığınıza bakılmaksızın, $ HOME bir yerde tanımlanmalı ve bunu ayarlamayı tercih ettiğinizi belirtmişsinizdir, /mnt/nfs/homeancak /homebir kesinti sırasında yerelinizi nasıl kullanırsınız ? Spesifik olarak, lütfen unix.stackexchange.com/questions/189404/…
JFlo

8

http://www.howtoforge.com geçtiğimiz günlerde GlusterFS'i NFS yerine / alternatif olarak kullanmakla ilgili bir makale yayınladı; bunu kontrol etmek isteyebilirsiniz.

http://www.howtoforge.com/creating-an-nfs-like-standalone-storage-server-with-glusterfs-on-debian-lenny

GlusterFS proje sayfasından NFS'ye niçin iyi bir 'uygulanabilir' alternatifinin kısa bir açıklaması aşağıda verilmiştir : http://www.gluster.org/ :

"GlusterFS anında kendini iyileştirir. Fsck yoktur. Depolama arka ucuna doğrudan normal dosya ve klasörler (NFS stili) olarak erişilebilir. Çoğaltma etkinken GlusterFS donanım hatalarını kaldırabilir."

Daha fazla bilgiyi proje belgelerinde bulabilirsiniz.

Ayrıca, GlusterFS kullanımıyla ilgili başka güzel bir şey de, SAN'ınızda daha fazla alana ihtiyacınız varsa, yalnızca başka bir depolama tuğlası (sunucu düğümü) eklemeniz ve gerektiğinde depolama alanınızı paralel olarak ölçeklendirmeniz / büyütmeniz olabilir.

Umarım bu yardımcı olur ya da en azından sizi doğru yöne yönlendirmeye yardımcı olur!


7

Yumuşak montaj noktalarına dikkat edin! Bir NFS dosya sistemini yumuşak bir şekilde monte etmek, bir zaman aşımı gerçekleştikten sonra IO'nun başarısız olacağını gösterir. Kullanıcıların ana dizinlerinde istediklerinizin bu olduğundan emin olun! Benim tahminim sen değilsin. Giriş dizinleri üzerinde sabit bir bağın intr seçeneğiyle birlikte kullanılması burada daha güvenli hissettirir.

Zor zaman aşımı olmaz: IO işlemleri süresiz olarak yeniden denenir. İntr seçeneği, montaj işlemini kesmeyi mümkün kılar. Bu nedenle, dışa aktarmayı bağlar ve bir hata yaşarsanız, sabit bağ oturumu kilitler. İntr seçeneği montajı kesmeyi mümkün kılar, böylece kombinasyon oldukça güvenlidir ve kullanıcının verilerini kolayca kaybetmemenizi sağlar.

Neyse, autofs tüm bunları daha da kolaylaştırır.


1
intrmount seçeneğinin çekirdek 2.6.2'den
myrdd

4

Unutulmaması gereken bir şey, NFS sunucusu dışarıdayken - bağların donacak - yumuşak bir montaj yapmanın engellenmeyeceği, böylece "dondurmanın" önlenebileceği, ancak bu, ev dizinleri sorununu bir evsiz olarak çözmeyeceğidir. dizin, kullanıcı yine de berbat.

NFS sunucusu kurtardığında bile, bir şey yapmazsanız, donma problemi devam edecek - montaj makinesindeki işlemi öldürmeniz ve yeniden takmanız gerekecek. Bunun nedeni, NFS sunucusu geri geldiğinde, farklı bir şekilde atanmasıdır fsid- bu yüzden en azından bu problemi fsidNFS sunucusunda sabit kodlayarak düzeltebilirsiniz , örneğin ...

#. Home Directories
/usr/users \
  192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
  192.168.80.0/22(rw,sync,no_root_squash,fsid=1)

#. Scratch Space
/var/ftp/scratch \
  192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
  192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
  172.28.24.151(rw,async,root_squash,fsid=3)

exports(5)Adam sayfası devletler ...

fsid=num
          This option forces the filesystem identification portion of the file handle
          and  file attributes used on the wire to be num instead of a number derived
          from the major and minor number of the block device on which the filesystem
          is  mounted.   Any 32 bit number can be used, but it must be unique amongst
          all the exported filesystems.

          This can be useful for NFS failover, to ensure that  both  servers  of  the
          failover  pair use the same NFS file handles for the shared filesystem thus
          avoiding stale file handles after failover.

... Bu, büyük / küçük sayılar değişmediği sürece (ki bunlar genellikle değişmez, SAN / multipath birimlerini dışa aktardığınız durumlar dışında, değişebilecek olan yerler hariç) gösterirse de, sorunu tamamen çözdüm - yani NFS sunucusu geri gelirse - bağlantı hızlı bir şekilde geri yüklendi - bunun neden /dev/sdaXörneğin cihazlar için bir fark yarattığını hala bilmiyorum .

Şimdi, tartışmamın büyük ölçüde fıkra dışı olduğunu belirtmeliyim - aslında sorunu niye düzelttiği anlamını taşımıyor, ama sorunu düzelttiği "görünüyor" - bir şekilde - muhtemelen burada oynadığım diğer değişkenler var henüz keşfedilmedi. =)


Sunucu tarafından kullanılan bu "rastgele" fsid konusunda emin misiniz?
Cristian Ciupitu

Merhaba Cristian - Yukarıda açıklamaya çalıştım - ancak bayrağın man sayfa açıklaması ile ilgili davranışını tam olarak açıklayamıyorum. Bunu denedin mi ve başka türlü gördün mü?
Xerxes

4

Hangi ağ dosya sistemini kullanırsanız kullanın, uygulanacak bazı genel tavsiyeler: çoğu program kullanıcının giriş dizininde önbellekleme yapar; bu genellikle giriş dizinine bir ağ üzerinden erişildiğinde yarardan daha fazla zarar verir.

Bu günlerde, birçok programa, XDG_CACHE_HOMEortam değişkenini bir oturum açma komut dosyasında ayarlayarak önbelleklerini başka bir yerde (örneğin, yerel bir diskte) saklamasını söyleyebilirsiniz . Pek çok program (örn. Firefox) yine de manuel konfigürasyona ihtiyaç duyar, bu nedenle muhtemelen tüm kullanıcılarınız için bunları tek tip bir şekilde tanımlamak ve konfigüre etmek için bazı ekstra çalışmalar yapmanız gerekecektir.


+1 Google Chrome ve NFS ana sayfa direktörlerinde performans sorunları yaşadım. Chrome'un çalışma dizinlerini yerel sisteme geri taşıyarak, ardından NFS ana dizininden (Chrome'un dizinleri bulmayı umduğu) bir bağlantıyı yerel dizine geri yerleştirerek düzeltildi. Yaptıklarımı yapmanın daha iyi bir yolu olabilir, ama bu benim için sorunu çözdü.
Bryan

Bryan (9 Mart), kısmi bir cevap bıraktı, ancak bu konuda ayrıntılı bilgi vermek istiyorum. Lütfen yapın ... Teşekkürler .. Çalışma dizinlerini yerel makineye nasıl taşıdınız ve sembolik bağlantıları yerleştirdiniz.
Jason,

Ayrıca XDG_RUNTIME_DIRDconf veritabanı konumu için şu adrese de bakın : developer.gnome.org/dconf/unstable/dconf-overview.html
JKnight 01.01.2014

3

Çalıştığım birçok yerde NFS takılı ev dizinleri kullandım. Genellikle performansta büyük bir fark yoktur (ve kiosk kullanıcıları muhtemelen yerel BT adamlarını nasıl elde edeceklerini bilen geliştiricilere göre biraz daha az talep eder). Gördüğüm bir sorun, bir Gnome masaüstüne giriş yaptığımda ve NFS sunucusunun ne sebeple olursa olsun uzaklaştığı şey. İşler tepkisizleşiyor.


2

Bir NFSed ev kullanıyorum ve iyi çalışıyor. ancak ağın yeterince hızlı olduğundan ve asla çökmeyeceğinden emin olmalısınız.


2

Pratik olarak, 100 bit anahtarlamalı veya daha iyi bir ağ varsa NFS, ev dizini için iyi bir performans sergiliyor. 10-20 kiosktan daha fazlası için sunucunun gigabit bağlantısı olması gerekir. Performans yarışmalarını kazanmayacaksınız, ancak Firefox ve Open Office gibi şeyler iyi sonuç verecek.

Giriş dizinine kopyalamak, giriş sırasındaki gecikmelerde büyük bir acı olacaktır (maksimum 12 MB / sn olan 100 MB ağda. 100 MB'lık bir giriş dizini 10 saniyeye yakındır.) Rsync, web tarayıcısı önbelleğini senkronize etmenizi önleyebilir ... 10 dakika ve 500 dosya zarar gördü.


1

Cachefilesd'e bir göz atın . Kendim kullanmadım, ama umut verici görünüyor.

Cachefilesd arka plan programı, yerel diske önbelleğe almayı kalıcı kılmak için AFS ve NFS gibi ağ dosya sistemleri tarafından kullanılan önbellek dosyalarını ve dizini yönetir.

Ayrıca, rsize ve wsize parametrelerini ayarlamayı ve mümkünse Jumbo çerçevelerini kullanmayı unutmayın.


Önbellek dosyasını birkaç yıl denedim ama getirdiği dengesizlikten dolayı vazgeçtim. YMMV
JFlo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.