針對 Azure 檔案同步進行移難排解
使用 Azure 檔案同步將組織的檔案共用集中在 Azure 檔案儲存體服務中,同時保有內部部署檔案伺服器的彈性、效能及相容性。 本文旨在協助您針對使用 Azure 檔案同步部署時所發生的問題進行疑難排解,並解決這些問題。 文中也說明如果需要更深入調查問題,如何從系統收集重要的記錄。
常見疑難解答檔
根據您遇到的問題,檢閱適當的疑難解答檔:
問題 | 疑難排解文件 |
---|---|
代理程式安裝或伺服器註冊問題 | 針對 Azure 檔案同步代理程式安裝和伺服器註冊進行疑難排解 |
雲端端點或伺服器端點建立問題,或已註冊的伺服器已離線 | 針對 Azure 檔案同步同步群組管理進行疑難排解 |
伺服器端點發生錯誤狀態,或檔案無法同步 | 針對同步處理健康情況和錯誤進行疑難解答 Azure 檔案同步 |
檔案無法分層或重新叫用 | 針對 Azure 檔案同步雲端階層處理進行疑難排解 |
記憶體同步代理程式服務 (FileSyncSvc) 無法啟動 | 針對 Azure 檔案同步進行移難排解 |
伺服器上的高記憶體使用量 | 針對 Azure 檔案同步進行移難排解 |
如果您不確定要從何處開始,請參閱 一般疑難解答第一個步驟。
一般疑難排解首要步驟
如果您遇到 Azure 檔案同步 問題,請從完成下列步驟開始:
- 使用伺服器上的 Azure 入口網站 或事件記錄檔檢查是否有任何錯誤。 如需如何使用 Azure 入口網站 或事件記錄檔檢視 Azure 檔案同步 環境健康情況的資訊,請參閱監視 Azure 檔案同步。
- 確認 Azure 檔案同步服務正在伺服器上執行:
- 開啟 [服務 MMC 嵌入式管理單元],並確認儲存體同步代理程式服務 (FileSyncSvc) 正在執行。 如果服務未執行且無法啟動,請參閱 記憶體同步代理程序服務 (FileSyncSvc) 無法啟動。
- 確認 Azure 檔案同步 篩選驅動程式 (StorageSync.sys和 StorageSyncGuard.sys) 正在伺服器上執行:
- 在提高權限的命令提示字元,執行
fltmc
。 確認列出 StorageSync.sys 和 StorageSyncGuard.sys 檔系統篩選驅動程式。
- 在提高權限的命令提示字元,執行
- 使用伺服器上的 Debug-StorageSyncServer Cmdlet 來檢查常見問題。
Debug-StorageSyncServer Cmdlet
Cmdlet Debug-StorageSyncServer
會診斷 Azure 檔案同步 伺服器上的常見問題,例如憑證設定錯誤和不正確的伺服器時間。 我們也藉由將某些現有腳本和 Cmdlet 的功能合併至 Cmdlet,將一些現有的腳本和 Cmdlet(AFSDiag.ps1、FileSyncErrorsReport.ps1 和Test-StorageSyncNetworkConnectivity
) 合併至 Debug-StorageSyncServer
Cmdlet,來簡化 Azure 檔案同步 疑難解答。
若要在伺服器上執行診斷,請執行下列 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -Diagnose
若要測試伺服器上的網路連線能力,請執行下列 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -TestNetworkConnectivity
若要識別伺服器上無法同步的檔案,請執行下列 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -FileSyncErrorsReport
若要在伺服器上收集記錄和追蹤,請執行下列 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -AFSDiag -OutputDirectory C:\output -KernelModeTraceLevel Verbose -UserModeTraceLevel Verbose
如何在 Azure 檔案同步 伺服器上收集記錄和追蹤
如果您在遵循疑難解答檔中的步驟之後,無法解決問題,請執行 AFSDiag 工具,並將其.zip檔案輸出傳送給指派給您案例的支持工程師,以進一步診斷。
若要執行 AFSDiag,請執行下列步驟:
開啟提升許可權的 PowerShell 視窗,然後執行下列命令(在每個命令之後按 Enter ):
注意
AFSDiag 會先建立輸出目錄和其中的暫存資料夾,再收集記錄檔,並在執行後刪除暫存資料夾。 指定不包含資料的輸出位置。
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll" Debug-StorageSyncServer -AFSDiag -OutputDirectory C:\output -KernelModeTraceLevel Verbose -UserModeTraceLevel Verbose
重現問題。 當您完成時,請輸入 D。
含有記錄和追蹤檔案的 .zip 檔案將會儲存在指定的輸出目錄中。
記憶體同步代理程式服務 (FileSyncSvc) 無法啟動
安裝或升級 Azure 檔案同步 代理程式(v17.3 或更新版本)之後,您可能會遇到下列其中一個徵兆:
記憶體同步代理程式服務 (FileSyncSvc) 無法以下列錯誤啟動:
Error 0x80070057: The parameter is incorrect.
使用 Register-AzStorageSyncServer Cmdlet 註冊伺服器失敗,並出現下列錯誤:
Register-AzStorageSyncServer: Exception of type 'Commands.StorageSync.Interop.Exceptions.ServerRegistrationException' was thrown.
無法開啟ServerRegistration.exe或AfsUpdater.exe
發生此問題的原因是 Azure 檔案同步 代理程式相依於 Windows 安全性功能,而且不會安裝此安全性功能的更新。
若要解決此問題,請確認您的 Windows Server 已安裝下列更新:
- Windows Server 2012 R2:KB5021653
- Windows Server 2016:KB5040562
- Windows Server 2019:KB5005112 和 KB5040430
伺服器上的高記憶體使用量
Azure 檔案同步 使用可延伸儲存引擎 (ESE) 資料庫進行同步處理和雲端階層處理。 ESE 資料庫最多可耗用 80% 的系統記憶體,以改善效能。 若要限制 ESE 資料庫所使用的記憶體數量,您可以在伺服器上設定 MaxESEDbCachePercent
登錄設定。
若要將 ESE 記憶體使用量限制減少為 60%,這是記憶體使用率與足夠快取之間的良好平衡,以維持資料庫良好的效能,請從提升許可權的命令提示字元執行下列命令:
REG ADD HKLM\Software\Microsoft\Azure\StorageSync /v MaxESEDbCachePercent /t REG_DWORD /d 60
MaxESEDbCachePercent
建立登錄設定之後,請重新啟動記憶體同步代理程式 (FileSyncSvc) 服務。
另請參閱
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。