Centos

mount.cifs 掛載 Windows 共享文件夾的時間過長

  • January 4, 2018

我們的設置:

伺服器:Windows Server 2008

客戶端:SHMZ 6.6 (FreePBX, CentOS)

mount.cifs 版本:4.8.1

smbclient 版本:3.6.23-14.el6_6

使用此命令進行連接:

mount.cifs //192.168.0.10/Share /mnt/share -o "username=windowsuser,sec=ntlm,servern=SERVERNAME,password=windowsuserpassword"

掛載一個空文件夾需要 1 分 3 秒。

問題是:如何加快掛載過程?

**更新 1:**你可能已經註意到我在寫這篇文章之前沒有做任何診斷。主要是因為我不知道從哪裡開始。請至少給我一個提示如何分析連接過程。

**更新 2:**嗯,我擷取了掛載過程,我看到有 2 個主要滯後:~10 和~30 秒。雖然無法弄清楚原因。你能建議什麼嗎?http://tinypic.com/r/2cxz21z/9

在這種情況下,數據包跟踪可能會很有幫助。

tcpdump -s 0 -i eth0 -w mount-trace.pcap

然後執行您的安裝。完成後取消 tcpdump。然後在可以載入到wireshark的某個地方獲取mount-trace.pcap文件。

這將需要一些時間,但是安裝需要很長時間才能完成的 windows 卷通常是由於對話雙方無法同意繼續對話的協議。如果您查看手冊頁mount.cifs並查看sec=您正在使用的參數的選項,您可以看到其中有多少。

您在wireshark 中尋找的是對話部分之間的長間隔。這種事情可能表明在繼續使用故障恢復方法之前必須超時。Wireshark 對 CIFS 的支持非常好,您可以通過觀察它所經歷的各個階段來了解 Windows 身份驗證的工作原理。

如果這太可怕了,我建議sec=ntlm從你的 mount-command 中刪除參數並依賴預設值,或者將其設置為ntlmssp. 這與 NTLM 是 Microsoft 身份驗證協議的舊方言有關,後來被 NTLMv2 取代,最終被kerberos取代。Windows Server 2008 已經有十年曆史了,它位於 NTLM 被堅決刪除和由於遺留原因仍然被允許之間的中間空間。

不幸的是,遺留的原因包括非常舊的 CentOS 版本。就像,版本 5 舊。

一旦你再次快速獲得它,重做那個 tcpdump 並與第一個比較。你會看到差異!

引用自:https://serverfault.com/questions/890193