移除伺服器端點會停止該伺服器位置與同一同步群組中對應的 Azure 檔案分享(雲端端點)之間的同步。 在你取消伺服器端點配置之前,有幾個步驟應該採取,以維持資料的完整性與可用性。 本文涵蓋多種取消配置的方法,並依情境提供適當的指引。 依照最適合你的使用情境步驟操作。
如果您可以永久遺失目前正在同步的資料,則可以直接跳至取消佈建您的伺服器端點。
警告
不要試圖透過取消配置伺服器端點來解決同步問題。 如需故障排除協助,請參閱 「Azure 檔案同步故障排除」。如果你刪除伺服器端點,且沒有讓伺服器端或雲端端完全同步,可能會造成永久資料遺失。 移除伺服器端點是一種破壞性操作,且伺服器端點內的分層檔案在伺服器端點重建後,不會被「重新連接」到它們在 Azure 檔案共享中的位置。 這會導致同步錯誤。 此外,存在於伺服器端點命名空間外的分層檔案可能會永久遺失。 即使你從未啟用雲端分層,分層檔案也可能存在於你的伺服器端點中。
情境一:我想刪除一個伺服器端點,且不需要 Azure 檔案同步 伺服器的本地資料
目標是確保你的雲端端點資料是最新的。 若要確保伺服器端點的檔案集保持最新,請參考情境二。
屬於此類的使用情境包括:
- 移轉到 Azure 檔案共用
- 無伺服器
- 停止使用特定的伺服器端點路徑,同時保留同步群組的其他部分
在這種情況下,刪除伺服器端點前有三個步驟:
- 移除使用者存取權限。
- 啟動一個特殊的 VSS 上傳會話。
- 等待最後一次同步會話完成。
移除使用者對伺服器端點的存取權限
在取消配置前,先停止使用者對伺服器端點的存取,這樣在最終同步執行時不會有新的檔案變更。 這個步驟可讓雲端有時間同步您資料的目前狀態。
移除存取權意味著系統或服務會停機。 為了減少停機時間,可以考慮將使用者存取權重新導向到你的雲端端點。
記錄你移除使用者存取權的日期和時間,然後繼續下一節。
啟動特殊磁碟區快照服務 (VSS) 上傳工作階段
每天,Azure 檔案同步 都會在伺服器上建立暫時性的 VSS 快照,以同步目前正由應用程式開啟或鎖定的檔案(具有開啟控制代碼的檔案)。 為了確保你的最終同步會話上傳最新資料並減少每項目錯誤,請啟動一個專門的VSS上傳會話。 此步驟也會觸發一個特殊的同步上傳會話,該會話在快照拍攝後開始。
要做到這點,請在本地伺服器上開啟任務排程器,進入 Microsoft\StorageSync,右鍵點擊任務VssSyncScheduledTask,然後選擇執行。
這很重要
寫下你完成此步驟的日期和時間。 在下一節中,您將需要用到它。
等待最後一次同步上傳會話完成
為了確保最新資料已上傳雲端,請等待最後一次同步上傳完成。
要查看同步會話的狀態,請在本地伺服器開啟 事件檢視 器。 前往遙測事件日誌(Applications and Services\Microsoft\FileSync\Agent)。 請確認你看到一個 9102 事件,這些事件是「同步方向」=上傳、「HResult」=0(無錯誤)以及「PerItemErrorCount」=0(所有檔案都成功同步),這些事件發生在你手動啟動 VSS 上傳會話之後。
如果「PerItemErrorCount」大於 0,表示檔案無法同步。用 FileSyncErrorsReport.ps1 查看哪些檔案無法同步。這個 PowerShell 腳本通常位於安裝 Azure 檔案同步 代理程式的伺服器上此路徑: C:\Program Files\Azure\StorageSyncAgent\FileSyncErrorsReport.ps1
如果這些檔案不重要,那你可以刪除你的伺服器端點。 如果這些檔案很重要,請修正錯誤,並等待發生另一個 9102 事件,當事件的 '同步方向' = 上傳、'HResult' = 0 和 '每項錯誤計數' = 0 時,再刪除您的伺服器端點。
情境二:我想刪除伺服器端點,需要 Azure 檔案同步 伺服器擁有整個資料集
此情境的目標是確保你的資料在本地伺服器或虛擬機上是最新的。 若你想讓雲端端點中的完整檔案集保持最新狀態,請參見 情境一。
在這種情況下,刪除伺服器端點前有四個步驟:
- 關閉雲端分層。
- 重新叫回分層檔案。
- 啟動雲變偵測。
- 等待最後一次同步會話完成。
停用 Azure 檔案同步 雲端分層
到你想取消配置的 伺服器端點屬性 中,進入雲端分級區塊,並關閉雲端分級。
將所有分層檔案調回本地伺服器
即使關閉了雲端分層,你也必須召回所有分層檔案,確保每個檔案都儲存在本地。
在調回任何檔案之前,請確保你本地有足夠的空間來儲存所有檔案。 你的空閒空間大約需要等於雲端 Azure 檔案分享的大小減去伺服器快取容量。
使用 Invoke-StorageSyncFileRecall PowerShell 指令檔並指定 SyncGroupName 參數來調回所有檔案。
Invoke-StorageSyncFileRecall -SyncGroupName "samplesyncgroupname" -ThreadCount 4
當這個指令執行完畢後,繼續進入下一個區段。
啟動雲端變更偵測
在雲端啟動變更偵測,確保你最新的變更已經同步。
你可以用 Invoke-AzStorageSyncChangeDetection cmdlet 啟動變更偵測:
Invoke-AzStorageSyncChangeDetection -ResourceGroupName "myResourceGroup" -StorageSyncServiceName "myStorageSyncServiceName" -SyncGroupName "mySyncGroupName" -CloudEndpointName "myCloudEndpointGUID"
這個步驟可能需要一段時間才能完成。
這很重要
當這個啟動的雲端變更偵測掃描完成後,請記錄完成的日期和時間。 你會在接下來的章節中需要它。
等待最終同步會話完成
為了確保你的資料在本地伺服器上是最新的,請等待最後一次同步上傳完成。
要查看此狀態,請前往你本地伺服器的 事件檢視器。 前往遙測事件日誌(Applications and Services\Microsoft\FileSync\Agent)。 請確認您可看到一個 9102 事件,且其發生時間是在雲端日期與時間變更偵測完成之後,其中 sync direction = 下載、HResult = 0(無錯誤),以及 PerItemErrorCount = 0(所有檔案均已成功同步)。
如果「PerItemErrorCount」大於 0,表示檔案無法同步。用 FileSyncErrorsReport.ps1 查看哪些檔案無法同步。這個 PowerShell 腳本通常位於安裝 Azure 檔案同步 代理程式的伺服器上此路徑: C:\Program Files\Azure\StorageSyncAgent\FileSyncErrorsReport.ps1
如果這些檔案不重要,那你可以刪除你的伺服器端點。 如果這些檔案很重要,請修正錯誤,並等待再次發生「sync direction」= download、「HResult」= 0 且「PerItemErrorCount」= 0 的 9102 事件,再刪除您的伺服器端點。