歡迎您光臨本站 註冊首頁

有熟悉nfs的沒?過來一起討論個問題

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

有熟悉nfs的沒?過來一起討論個問題


在Linux上使用nfs時,如果服務端的down掉了(或者僅僅是服務端的IP掉了),這時客戶端掛載的那個目錄也就不能使用了,並且,在客戶端任何涉及到這個目錄的操作都將掛死,如:

執行df、mount命令都不能結束;cd 、ls或者rm那個目錄更不用說了。

如果此時想讓這個目錄umount掉,也不能umount掉。


要是服務端我沒有許可權去做任何操作或者一時半會解決不了,那麼客戶端也就玩完了。不知道大家有沒有遇到過這樣的情況?


這種情況是NFS的問題還是OS的問題呢 ? 比如掛載的那個IP都不通了,能不能自動umount掉呢 ?

有沒有什麼好的NFS替代方案 ?
《解決方案》

寫個腳本判斷nfs連接狀態,出現問題就umount。
《解決方案》

回復 2# chenzhj


    如果服務端出問題了,客戶端umount不掉的 ,只能任由掛載的那個目錄死在那兒
《解決方案》

回復 3# godymoon

利用autofs實現自動掛載,設置auto.master中的timeout值
《解決方案》

追憶的風箏 發表於 2012-06-01 10:21 static/image/common/back.gif
回復 3# godymoon

利用autofs實現自動掛載,設置auto.master中的timeout值

能在服務斷掉的時候自動umount嗎  ?
《解決方案》

回復 5# godymoon

可以,比如你掛載到/data目錄,當/data沒有讀寫數據的時候,會自動卸載掉,你嘗試下就知道了。:sleepy:
   
《解決方案》

你umount 不掉 是因為有用戶或者進程在使用吧 fuser 查看那些用戶在使用
《解決方案》

typuc 發表於 2012-06-01 11:55 static/image/common/back.gif
你umount 不掉 是因為有用戶或者進程在使用吧 fuser 查看那些用戶在使用

不是啊,我實驗的現象是這樣的,當服務端down了之後,任何操作 客戶端那個掛載目錄的進程都將掛死,

查詢到對應的進程都殺掉之後,umount還是不行的。  

比如客戶端執行df -h看到的掛載點是這樣的:

Filesystem                       Size      Used    Avail    Use%       Mounted on
192.168.1.33:/tmp/test   10G       3G       7G      30%        /tmp/test

當192.168.1.33不通的時候,在客戶端umount  /tmp/test 操作是不會有效果的

《解決方案》

當掛死的時候你dmesg看看就知道了,NFS是會自己嘗試恢復的,而且這個恢複次數是可以自己設定的,其次你也不能umount掉,因為就算能umount掉你讀寫數據也是異常的。
按我以往的經驗來看,把NFS伺服器的網卡重啟一下都沒事,因為客戶端會嘗試重連恢復,好了之後繼續寫入。所以這個你不需要太擔心。
反倒要解決這個問題,你最好通過伺服器端去解決,比如做多網卡的綁定,或者走多通道。
《解決方案》

當掛死的時候你dmesg看看就知道了,NFS是會自己嘗試恢復的,而且這個恢複次數是可以自己設定的,其次你也不能umount掉,因為就算能umount掉你讀寫數據也是異常的。
按我以往的經驗來看,把NFS伺服器的網卡重啟一下都沒事,因為客戶端會嘗試重連恢復,好了之後繼續寫入。所以這個你不需要太擔心。
反倒要解決這個問題,你最好通過伺服器端去解決,比如做多網卡的綁定,或者走多通道。
...

嗯,如果從服務端解決是比較快速的,其實我想了解的是,有沒有在客戶端解決此問題的方案。因為有時候我們是沒有許可權去動服務端的環境的


[火星人 ] 有熟悉nfs的沒?過來一起討論個問題已經有422次圍觀

http://coctec.com/docs/service/show-post-536.html