Arızalı NFS bağlantısının istemci sistemini dondurmasını önleme


21

Çok sayıda sunucu (NFS sunucusu ve istemcilerin tümü Debian 8) arasındaki bir birimi paylaşan bir NFS 4 paylaşımımız var. Son zamanlarda ağ kesintilerinin müşteri sistemlerini donduracağı bazı sorunlar yaşadık.

Bizim NFS seçenekleri sadece minimal idi rw(varsayılan böylece ve hard, fgvs.).

Şimdi bu seçenekleri deniyorum, ancak beklediğim davranışı alamıyorum: rw,soft,bg,retrans=6,timeo=150

(Bazı riskleri dengelemek için retranı arttırdım)

Test etmek için takip ettiğim prosedür:

  • Çizme makinesi
  • cd için /mnt/mountpoint
  • NFS bağlantısını doğrula tamam
  • cd /
  • ağı öldür ifdown eth0
  • cd için /mnt/mountpoint
  • ls

Bu noktada komut satırı donuyor ve onu kesemiyorum. Bir süre sonra 'nfs: server [sunucuadı] yanıt vermiyor, zaman aşımına uğradı, bu da dakikada bir kez tekrarlanıyor gibi görünüyor.

Operasyonun başarısız olması ve kontrolün geri dönüşü için ne olmasını / beklediğimi.

Lütfen biri bana bu ayarlarda nereye gittiğimi söyleyebilir mi?

(Not: Ben de autofs ile montaj çalıştım, ancak benzer davranış gördüm

teşekkür ederim


3
softHiçbir koşulda tavsiye etmem . Verilerin yanlışlıkla atılmasını sağlar . Bunun yerine önerebilirim hard,intr.
roaima

2
@roaima - Teşekkürler. Bu görüş, web'de çok yaygın gibi görünüyor :) Sorun şu ki, yaşadığımız durum bizim için çok hardkötü (sistemler ölüyor ve yeniden başlatılana kadar ölü kalmak). intrNFS4'te erkeğe göre desteklenmiyor.
UpTheCreek

2
(Düzeltme, intrNFS4 tarafından destekleniyor gibi görünüyor , ancak çekirdekler tarafından değil> 2.6.25)
UpTheCreek

Bence 'standart' cevaplardan farklı olan şey şu anki çalışma dizinini bağlama noktasına çeviriyor olmanız. Aynı davranışı olmadan mı alıyorsunuz cd, ama yerine yapıyor ls /mnt/mountpointmusunuz? lsBaşarısız olduktan sonra, kabuğunuz PWD'ye bağlı dosya sistemi işlemlerini deniyor olabilir. (Daha da kötüsü, içine koymak .için yeterince aptalca $PATH)
Toby Speight

Yanıtlar:


4

intrVurduğunuzda tekrar kontrol almanıza izin vermelisiniz ^C, ancak genellikle hemen değil.

   intr           If an NFS file operation has a major timeout and it is hard mounted, then allow signals to interupt the
                  file  operation  and cause it to return EINTR to the calling program.  The default is to not allow file
                  operations to be interrupted.

Dediğiniz gibi, beklentiler burada sorun. Ağ sorunları geçici olabilir, ancak bir işlemin başarısız olması kalıcıdır. Bu nedenle çoğu işlem varsayılan olarak işlem tamamlanana kadar engelleme yapar.

Bu standart cevap, ama şu anki man sayfasına bakarak şunu görüyorum:

                  The  intr / nointr mount option is deprecated after ker-
                  nel 2.6.25.  Only SIGKILL can interrupt  a  pending  NFS
                  operation on these kernels, and if specified, this mount
                  option is ignored  to  provide  backwards  compatibility
                  with older kernels.

Bu yüzden bana bir NFS3 / NFS4 sorunu gibi görünmüyor, ama nasıl intrçalıştığıyla ilgili bir karar . Bu nedenle KILL, işlemi yapabilmelisiniz , ancak bu size fazla fayda sağlamayabilir.

Seçeneğin neden kaldırıldığına dair tartışmayı bulamadım. Süreci öldürebilir misin?


Teşekkürler, ama adama göre intrnfs 2/3 tarafından desteklenen ancak 4. edilir
UpTheCreek

@UpTheCreek, bunun neden olacağını anlamıyorum. Burada bir debian sistemim yok ama açıkça uygun olduğu belirtiliyor. Bunu denediniz mi? "intr Bu, sunucudan bir yanıt beklerken NFS4 işlemlerinin (sabit bağdalar) kesintiye uğramasına izin verecektir."
BowlOfRed

2
Evet, denedim ve hiçbir etkisi olmadı. Adam son çekirdek sürümlerinde görmezden geldiğini söylüyor.
UpTheCreek

Bir sistemin ÖLENMESİ mümkün değildir, çünkü tüm sistem donar. Deneyimlerime göre hiçbir komut verilemez. (Bazı durumlarda bu tür donmuş bir makineye SSH koymak mümkün olabilir.)
Monica Cellio için MountainX

3

Cevabımın bir kısmı deneyime dayanarak görüş. Gerçeklere sahip olduğum yerde onlara bağlanmaya çalışacağım (hatırlamaya çalışacağım).

  1. NFS 4'ün 2. ve 3. versiyonlara göre bir gelişme olduğu düşünülüyor . Ancak, iyileştirmelere ihtiyaç duymak için henüz güçlü bir kullanım örneği görmedim. Belki de bunun nedeni, dosya sistemlerini Samba ile Windows istemcilerine ve NFS ile Unix / Linux istemcilerine ihraç etmeyi hedeflememdir.
  2. softNeredeyse hiçbir koşulda tavsiye etmem . Verilerin yanlışlıkla atılmasını sağlar . Bunun yerine önerebilirim hard,intr.
  3. Sizin de intrbelirttiğiniz gibi, NFS 4 için geçerli değil, ancak bunun bir NFS değil de bir çekirdek değişikliği olduğu görülüyor .
  4. NFS Automounter ( autofs), NFS sürüm 2 ve 3'teki kullanım durumlarım için iyi çalışıyor ve NFS dosya sistemlerini yalnızca gerektiğinde ekleyerek istemci sistemlerimin sunucu hatasından korunmasına yardımcı oluyor.

Size önerim, NFS 4'ten NFS 3'e geçmeyi düşünmek ve bunun sizin özel kullanım durumunuza yardımcı olup olmadığını görmek olacaktır. Düşürme olarak düşünmeyin.


1
Teşekkürler, ama NFS3’e geçemiyorum ve dediğim gibi, intrson sürümlerde desteklenmiyorsam bile.
UpTheCreek

2
Ah evet görünüyor gibi intr olduğu (hem de 2/3 tek seçenek Listelenmişse NFS4 desteklenen ve kafa karıştırıcı biraz olan insanda 4 tek seçenekleri,), ancak sadece son zamanlarda çekirdek sürümlerinde desteklenmez.
UpCreek

1
"Hiçbir koşulda yumuşak tavsiye etmem" - gerçekten mi? Benim durumumda, bir görüntü dizini bağlayan yoğun bir web sunucum var. Eğer görüntüler ana bilgisayar aşağı inerse ve biz kullanırsak hard, tüm web sitesi aşağı iner. Kullanırsak soft, birkaç bozuk görüntü elde edebiliriz (önbellekleme sistemimiz bunu neredeyse tamamen azaltsa da). softDosya bozulmalarına izin verme riski gerçekten de çok fazla bir şey değil. Bir siteden aşağı bir bozuk görüntü dosyası tercih ederim!
Doug McLean

1
@DougMcLean de benzer bir durumdaydı (yoğun web çiftliği, görüntü sunucuları, NFS ...). Bunun biraz özel bir durum olduğunu söyleyebilirim. Görüntü sunucularım güvenilmez olsaydı soft, kabul edilebilir bir çözüm olarak çözüm bulabileceğimi sanıyorum . Yanıt "asla" den "neredeyse hiç" e değiştirildi. Teşekkürler!
roaima

1
Hafızam doğruysa, bu sistem donma sorunu NFS v3'te de mevcuttu.
Monica Cellio için MountainX
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.