0
當我打開/保存文件時,我的Linux(Fedora)計算機變得無響應約15分鐘。我調查過,它與/ mnt中的Windows掛載目錄有關。我可以用一個簡單的'ls -al/mnt'重現。所有後續的ls命令都會很快返回。一段時間後,同樣的問題顯示出來,我不得不採取另一種休息15分鐘......lstat()塊15分鐘
使用strace和ltrace都指向LSTAT():
# strace
13:37:22 lstat("/mnt/Todo-Dino", 0x211ce40) = -1 EHOSTDOWN (Host is down)
13:52:24 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
# ltrace
13:37:22 __lxstat(1, "/mnt/Todo-Dino", 0x01e1ee40) = -1
13:52:24 dcgettext(0, 0x4120ce, 5, 0, 0x1e24850)
mnt$ ls -al
ls: cannot access Todo-Dino: Host is down
total 40
d????????? ? ? ? ? ? Todo-Dino
Windows機器上用掛載在上面/ mnt/Todo-Dino並沒有像報道的那樣真的下降。即使它會下來,15分鐘是一個相當漫長的等待......
後的15分鐘內把目錄顯示爲預期:
mnt$ ls -al
drwxrwxrwx 2 root root 12288 Feb 4 12:36 Todo-Dino
fstab文件有:
//192.168.1.1/Todo /mnt/Todo-Dino cifs username=XXX,password=XXX,file_mode=0777,dir_mode=0777,auto,users 0 0
任何想法如何解決這個問題?來自哪裏15分鐘的神奇延遲?
謝謝。
您可以驗證它不是(臨時)網絡問題嗎?即當stat掛起時,你能ping通否則通過網絡從linux機器到windows機器進行通信? – nos
@nos我剛剛嘗試過。步驟:1)喚醒Windows機器2)從Linux中ping它(192.168.1.1)3)'ls'仍然掛在Linux上。事實上,第2步是多餘的 - 我真的通過VNC連接到Windows機器上的Linux機器... Linux只裝載了dir,並且需要15分鐘才能重新獲取它。這是一個4-5歲的Fedora。可能有一個Samba配置需要調整,至少將這15分鐘縮短到可以接受的程度。 –
其實我發現有一個服務器故障社區,討論這些問題。類似的一個問題:http://serverfault.com/questions/622238/linux-cifs-samba-mount-hangs-for-several-minutes。作爲一種解決方法,我可以從那裏嘗試一個建議 - 每分鐘執行一次cron作業,以「鍛鍊」連接。 –