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