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í?