奇怪的 samba 和 gvfs 行為 - 〜一半的目錄/文件隨機出現“丟失”

奇怪的 samba 和 gvfs 行為 - 〜一半的目錄/文件隨機出現“丟失”

情況:伺服器上裝有 Gentoo Linux 和 Samba。大約有 15 台 Windows PC、一台 MacBook Pro 和一台安裝 Ubuntu 的三星筆記型電腦。沒有網域,只有一個工作群組,伺服器僅用於 Samba 共用。在 Ubuntu 上,我使用 gvfs 掛載 samba 共用。

問題是:有一天,大約一半的目錄丟失了,但僅限於在這台 Ubuntu 筆記型電腦上查看時。如果我透過 ssh 連接到伺服器,我可以看到遺失的檔案/目錄,並且還可以看到 win 或 mac 電腦上遺失的內容。

臨時修復:當我重命名一些丟失的目錄時,即使它是一個符號,丟失的目錄也會重新出現......即使沒有重新加載/刷新 gvfs 安裝的共享。如果我立即重命名回先前的目錄/檔案名,則所有先前遺失的目錄/檔案都會立即再次遺失。

因此,當這個問題在大約一個月後再次出現時,我可以使用一些建議來開始檢查。

答案1

我可能遇到過類似的問題,但只是缺少單一文件。我懷疑 linux samba 掛載助手有問題。

您能在您的客戶端上執行以下測試嗎?

cd [缺少子目錄的目錄]

ls-al | grep [缺少名稱] -> 找不到任何內容(readdir 已損壞)
ls -al [missing name] -> 列出元素(統計工作)--當 [missing name] 是目錄時使用 -d

要查明核心是否對您隱藏了這些檔案:

umount smb 共享
啟動“tcpdump -p -i [您的網路卡] -s0 -w net.dump 主機 [您的 samba 主機]”
掛載共享
執行“ls -al | grep [missing name]”測試
停止 tcpdump
驗證檔案名稱是否在 tcpdump 中,但未顯示在目錄清單中。所以:
字串 --encoding=b net.dump | grep [缺少名稱]
字串 --encoding=l net.dump | grep [缺少名稱]

如果 name 至少包含一次,則表示 samba 伺服器正在傳送整個列表,但 linux 會丟棄一些條目。

相關內容