如何修復 Azure File Sync 回呼問題:雲端分層疑難排解指南

Azure File Sync 回呼是與 雲端分層 相關的一項關鍵功能。當啟用雲端分層後,存取頻率較低的檔案(稱為「冷」檔案)會儲存在雲端中,以節省本機儲存空間。但是,檔案的中繼資料和結構(命名空間)仍保留在本機伺服器上。

當使用者或應用程式嘗試存取已分層的檔案時, 回呼程序 會被觸發。此程序會無縫地從雲端中的 Azure 檔案共用中擷取檔案內容,並使其在本機可用。回呼會自動進行,確保對使用者的影響降到最低。


問題描述

在最近的一個 Azure File Sync 環境中,由於以下錯誤,觀察到回呼失敗:

RecallToDiskType: No

此錯誤表明 檔案系統快取使用量 已達到最大閾值。因此,已分層的檔案未能如預期下載其完整資料內容。


疑難排解

為了解決回呼失敗問題,採取了以下步驟:

1. 了解原因

經確認,回呼失敗是由於 記憶體限制造成的。預設情況下:

  • 已配置記憶體的 10% 保留用於回呼。
  • 如果回呼超過 這部分保留記憶體的 60%,則會從記憶體中提供服務,而不會寫入磁碟。

當記憶體閾值被超出時,這種行為引發了問題。

2. 驗證資料回呼程序

團隊透過以下方式驗證了資料的回呼方式:

  • 檢查為回呼請求的 資料大小 。
  • 確保回呼的資料與寫入伺服器端點磁碟的資料相符。
  • 查看 檔案同步代理程式回呼結果 (事件識別碼 1110),以確認回呼是成功還是失敗。

3. 調整記憶體設定

為了解決此問題,透過修改登錄檔設定增加了用於回呼的記憶體配置。執行了以下命令:

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure\StorageSync" /v BottomlessFilterSharedMemSizePercentage /t REG_DWORD /d 30 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure\StorageSync" /v BottomlessFilterCacheUsagePercentage /t REG_DWORD /d 70 /f
fltmc unload StorageSync
fltmc load StorageSync
net stop filesyncsvc
net start filesyncsvc

這些變更使 伺服器總記憶體的 30% 可用於回呼,提高了將回呼資料持續保存到磁碟的能力。


解決方案

透過實施上述步驟,由檔案系統快取限制引起的回呼失敗已成功解決。這確保了 Azure File Sync 環境中資料回呼程序更加順暢、更加可靠。


額外提示

以下是一些其他資源,可協助你更好地理解和管理 Azure File Sync 雲端分層:

  • 了解 Azure File Sync 雲端分層 | Microsoft Learn
  • 如何管理 Azure File Sync 分層檔案 | Microsoft Learn


  • 結論

    Azure File Sync 回呼對於最佳化本機儲存使用量、同時保持對雲端分層檔案的無縫存取至關重要。理解並疑難排解記憶體限制等問題有助於確保可靠、高效的回呼程序。按照上述步驟,你可以解決回呼失敗問題,並提高 Azure File Sync 環境的效能。

    發表留言