GNU/Linux >> Znalost Linux >  >> Linux

Zabránění přerušení připojení NFS před zamrznutím klientského systému?

Máme sdílenou složku NFS 4, která sdílí svazek mezi několika servery (server NFS a klienti všichni Debian 8). Nedávno jsme měli nějaké problémy, kdy výpadky sítě zmrazily klientské systémy.

Naše možnosti NFS byly minimální, jen rw (a tedy výchozí hard , fg , atd.).

Nyní experimentuji s těmito možnostmi, ale nedosahuji chování, které očekávám:
rw,soft,bg,retrans=6,timeo=150

(Zvýšil jsem opakované převody, abych vyrovnal část mírného rizika.)

Postup, který testuji, je:

  • Spouštěcí stroj
  • cd na /mnt/mountpoint
  • Ověřte, že připojení NFS je v pořádku
  • cd /
  • zabít síť ifdown eth0
  • cd na /mnt/mountpoint
  • ls

V tomto okamžiku příkazový řádek zamrzne a já jej nemohu přerušit. Po nějaké době se zobrazí zpráva ‚nfs:server [název serveru] neodpovídá, vypršel časový limit‘, která se zdá, že se opakuje jednou za minutu (neurčitě).

Co bych si přál/očekával, že se operace nezdaří a vrátí kontrolu.

Prosím, mohl by mi někdo říct, kde s tímto nastavením dělám chybu?

(PS:Zkoušel jsem také montáž pomocí autofs, ale viděl jsem podobné chování)

Děkuji

Přijatá odpověď:

intr by vám mělo umožnit znovu získat kontrolu, když stisknete ^C , ale obvykle ne okamžitě.

   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.

Jak říkáte, problémem jsou zde očekávání. Problémy se sítí mohou být dočasné, ale selhání operace je trvalé. Většina operací se tedy ve výchozím nastavení jednoduše blokuje, dokud se operace nedokončí.

Toto je standardní odpověď, ale při pohledu na aktuální manuálovou stránku vidím toto:

                  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.

Nezdá se mi to tedy jako problém NFS3/NFS4, ale rozhodnutí o tom, jak intr funguje. Takže byste měli být schopni KILL proces, ale to vám nemusí přinést mnoho užitečných funkcí.

Nepodařilo se mi najít diskuzi o tom, proč byla tato možnost odstraněna. Dokážeš zabít -ZABÍT svůj proces?

Související:Bude video obsahovat chyby, pokud se při nahrávání na YouTube ztratí připojení?
Linux
  1. Xmanager:Nepodařilo se získat datum instalace ze systémového registru! [vyřešeno]

  2. Připojení Ssh odmítnuto zevnitř sítě Lan?

  3. Ssh – spouštět vzdálené příkazy, zcela se odpojit od připojení Ssh?

  1. Jaká jsou nativní volání OS/systému Windows a Linuxu prováděná z malloc()?

  2. Jak zjistím specifikaci paměťového čipu RAM z počítače se systémem Linux

  3. Jak vytvořit přístupový bod z aktuálního WiFi připojení?

  1. Spravujte síťová připojení z příkazového řádku Linuxu pomocí nmcli

  2. Nastavení serveru a klienta NFS v systému Scientific Linux 6.3

  3. Nastavení serveru a klienta NFS na CentOS 6.3