Nfs sunucusunun kaybolduğu bir nfs montajını çıkarın


32

Sunucu A, NFS sunucusu olarak kullanılıyordu. B Sunucusu bunun bir ihracatını yapıyordu. Herşey iyiydi. Sonra A öldü. Sadece kapattım. Gone. Kayboldu.

Ancak bu klasör hala B'ye eklenmiş. Belli ki cdiçine ya da hiçbir şey yapamam . Ancak umount /mnt/myfoldersadece kilitleniyor ve kalmıyor. B'yi yeniden başlatmadan çözmek için yine de var mı?

Hem istemci hem de sunucu Linux makinelidir.


Yanıtlar:


45

Linux varsayarsak:

umount -f -l /mnt/myfolder

Bir tür sorunu çözecek:

-f Bağlantıyı kesmeye zorla (ulaşılamaz bir NFS sistemi olması durumunda). (Çekirdek 2.1.116 veya daha yenisini gerektirir.)

-l Tembel unmount. Dosya sistemini şimdi dosya sistemi sıradüzeninden ayırın ve artık meşgul olmadığında dosya sistemine yapılan tüm başvuruları temizleyin. (Çekirdek 2.4.11 veya daha yenisini gerektirir.)

-f Solaris ve AIX'te de var.


1
Aynı sorunu yaşadım, googled ve buraya geldi. Evet - tembel bayrak gerçekten burada bana yardımcı ... başlıbaşına -f yapmıyordum ...
wawawawa

evet, "-l" "-f" seçeneğinin "AYNI ZAMANLI" olması gerekir.
liuyang1

2
Ayrıca, bazen umount için yerel yol yerine uzak adresi belirterek daha iyi bir başarı elde ettim, örneğin. umount -f -l nfsserver:/export/thefolder.
oliver

18

David Pashley'nin verdiği ipucunu kullanarak ,

"umount -l" probleminizi çözmediği sürece, uzaktaki sunucuyla aynı adrese sahip sahte bir sunucu kurabilirsiniz - ama aslında yeni bir sunucu veya başka bir şey ayarlamak zorunda değilsiniz. Engelleme / askıya alma miktarı durumundan çıkmanın en kolay yolu , aşağıdaki gibi yerel bir takma ad IP arabirimi oluşturmaktır :

ifconfig eth0:nfstmp 11.22.33.44 netmask 255.255.255.255
umount -l /mnt/deadnfsmount    # -l or -f or whichever that gets the job done
ifconfig eth0:nfstmp down

(Açıkçası 11.22.33.44 (şimdi ölü) NFS sunucusunun (eski) IP adresi)


Yerel bir nfs sunucusu çalıştırmak zorunda kalmam dışında bu benim için çalıştı.
saat

6

Bu intrseçeneği /etc/fstabaskıda kalmaya veya çökmeye neden olabilecek girişlere eklemek akıllıca olabilir. softVeya intrseçeneklerini kullanmazsanız, NFS dosyalarını barındıran sunucu kapandığında, dosyaların yüklendiği sunucu (istemci) önyükleme sırasında kilitlenebilir.

Göre man 5 nfs:

soft / hard
NFS isteği zaman aşımına uğradıktan sonra NFS istemcisinin kurtarma davranışını belirler. Her iki seçenek de belirtilmemişse (veya zor seçenek belirtilmişse), NFS istekleri süresiz olarak yeniden denenir. Yazılım seçeneği belirtilmişse, NFS istemcisi, NAD istemcisinin çağıran uygulamaya bir hata vermesine neden olarak, yeniden gönderim gönderildikten sonra NFS isteğini başarısız olur.

... ve sonra intrtercih edildiğini söylemeye devam ediyor soft, ancak asmayı önleme etkisi de aynı.


3
Daha yeni nfs sürümlerinde, intr'nin kullanımdan kaldırıldığını veya herhangi bir işlemi olmadığını - bu durumda yumuşak kullanılması gerektiğini unutmayın.
Paul

3

umount -f /mnt/myfolderBunu çözmelisin. Umount man sayfasına bakınız.


2
Bu NFS ve ölü bir sunucu ile oldukça yapmaz. Sen de tembel bayrağa (ya da bir IfAlias ​​ekleyerek aldığın numaraya) ihtiyacın var. lsof ve fuser tüm askıda kalıyor ve umount - f "aygıt meşgul" diyor.
wawawawa

1

Tıpkı bir yana, automount kullanmak, elverişsiz hale geldiklerinde, NFS paylaşımlarının kaldırılmasıyla başa çıkacak ve bu durum gelecekte bu durumda sıkışıp kalmayacak.


2
Şart değil. Dizine işlemin askıya alınacağı herhangi bir şekilde erişmeyi denerseniz, automount mounts da bu durumda askıda kalabilir.
Kamil Kisiel

Evet, otomatik sayaç çözdüğü kadar sorun yaratır.
pjc50

1

umount -fÇalışmayı asla başaramadım . İşe yarar bir püf noktası, aynı dışa aktarmayı bağlayan başka bir sunucu kurmak, eski sunucu ile aynı IP adresini vermektir. NFS istemciniz her şeyin normal olduğunu ve işlemlerin engelleneceğini düşünmesi gerekir. Ardından bağlama noktasını normal olarak çıkarabilir ve IP adresini geçici NFS sunucusundan kaldırabilirsiniz.


2
-l (tembel) yukarıda da belirtildiği gibi anahtardır
Matt Simmons

1

Solaris için, NFS istemcisinin yeniden başlatılması "ölümün zorlanan sarmalını" çözecektir. Solaris 10 komutu "svcadm ağını yeniden başlat / nfs / client" Son zamanlarda bir Linux kutusunda bunu denemedim (çünkü hepsi "intr" bayrağıyla bağlanırlar, bu nedenle nadiren bu sorunu yaşarlar), ancak muhtemelen çözecektir. sorun.


0

NFSv4 bağları ile çekirdeğin zorla çıkarılmasının zorlayıcı 3.2.0 askıda kaldığını fark ettim. NFSv3 unmount'ları iyi çalışıyor.

$ mount [...] -o nfsvers=3

0

sadece OS X'e özgü bir takip, montaj komutları çoğunlukla * nix agnostik olduğundan: -l (tembel) bayrağı OS X'te yoktur, ancak -f (force) bayrağı yeterlidir ve yeterli olduğu kanıtlanmıştır. . Ayrıca, sistem tarafından oluşturulan montaj noktaları / Birimler (/ Birimler / MyServersexport) içindedir.


0

Ben de aynı problemle karşılaştım. NFS sunucusu kaldırıldığından beri, istemciden nfs'i ayarlayamıyorum. Aşağıdaki numarayı denedim, yardımcı olup olmadığına bakın. Orijinal NFS sunucusu gittiğinden, aynı IP'ye ve dışa aktarıma sahip yeni bir sunucu oluşturdum. Sonra umf -f / mnt / nfs_part komutunu denerim. Sonunda nfs'i şimdi ayarlayabilirdim.

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.