本文提供在已設定向外延展檔伺服器角色之 SMB 伺服器上存取檔案共享時所發生之問題的解決方案。
原始 KB 編號: 3101545
徵兆
試想以下情況:
- 您在執行 Windows Server 2012 R2 的伺服器上設定向外延展檔案伺服器 (SOFS) 角色。
- 您有經常存取檔案共享的伺服器應用程式和用戶端。
- 應用程式和客戶端會開啟許多短期會話,在其中連接、驗證、變更檔案,然後立即關閉會話。
在此案例中,經過一段時間之後,檔案共用的存取不成功,而且網路擷取中會記錄STATUS_INSUFF_SERVER_RESOURCES錯誤。
此外,當使用者嘗試連線到SOFS共用時,他們會收到下列錯誤訊息:
沒有足夠的可用伺服器儲存空間來處理此命令。
您也會在叢集協調器和非協調器節點上看到Lsass.exe的高句柄計數。
注意
如果您將磁碟資源故障轉移至另一個節點,問題暫時不會發生。
原因
發生此問題的原因是應用程式會在每次變更檔案時建立新的會話,而不是重複使用會話來產生許多元數據變更。
CSV 檔案系統會使用SMB通訊協定,讓叢集節點之間的元數據資訊保持一致。 大量的元數據變更會在叢集的非協調器節點與協調器節點之間產生許多SMB會話,並耗盡協調器節點上的SMB數據表。
決議
若要修正這類應用程式工作負載的問題,建議您使用「一般用途檔案伺服器」角色,而不是 SOFS。
注意
如果工作負載產生異常大量的元數據作業,例如開啟和建立新檔案或重新命名現有檔案,則不應該使用SOFS角色。
其他相關資訊
在協調器節點與非協調器節點之間的網路封包擷取中,您會看到在發出 SMB 會話設定請求後,協調器節點會回應 STATUS_INSUFF_SERVER_RESOURCES 錯誤。