使用 Azure 檔案同步管理已註冊的伺服器
Azure 檔案同步可讓您將組織的檔案共用集中在「Azure 檔案服務」中,而不需要犧牲內部部署檔案伺服器的靈活度、效能及相容性。 它會將您的 Windows Server 轉換成 Azure 檔案共用的快速快取來達到這個目的。 您可以使用 Windows Server 上可用的任何通訊協定來存取本機資料 (包括 SMB、NFS 和 FTPS),並且可以在世界各地擁有任何所需數量的快取。
下列文章說明如何使用儲存體同步服務來註冊及管理伺服器。 如需如何從頭到尾部署 Azure 檔案同步的資訊,請參閱如何部署 Azure 檔案同步。
使用儲存體同步服務來註冊/取消註冊伺服器
使用 Azure 檔案同步來註冊伺服器可在 Windows Server 與 Azure 之間建立信任關係。 此關係可用來在伺服器上建立伺服器端點,其代表應與 Azure 檔案共用 (也稱為雲端端點) 同步的特定資料夾。
必要條件
若要使用儲存體同步服務來註冊伺服器,您必須先準備好符合下列必要條件的伺服器:
伺服器必須執行支援的 Windows 版本。 如需詳細資訊,請參閱 Azure 檔案同步系統需求和互通性。
請確定您已部署記憶體同步服務。 如需如何部署儲存體同步服務的詳細資訊,請參閱如何部署 Azure 檔案同步。
確定伺服器已連線到網際網路,而且 Azure 可供存取。
使用 [伺服器管理員] UI 停用系統管理員的 [IE 增強式安全性設定]。
確定您的伺服器上已安裝 Azure PowerShell 模組。 如果您的伺服器是容錯移轉叢集的成員,則叢集中的每個節點都需要 Az 模組。 您可以在安裝和設定 Azure PowerShell中,找到如何安裝 Az 模組的詳細資料。
注意
建議使用最新版 Az PowerShell 模組註冊/取消註冊伺服器。 如果先前已在此伺服器上安裝 Az 套件 (而且此伺服器上的 PowerShell 版本為 5.* 或更高版本),您可以使用
Update-Module
Cmdlet 更新此套件。如果您在您的環境中使用網路 Proxy 伺服器,請在伺服器上針對要使用的同步代理程式設定 Proxy 設定。
- 判斷 Proxy IP 位址和連接埠號碼
- 編輯這兩個檔案:
- C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
- C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
- 在上述兩個檔案中的 /System.ServiceModel 底下,新增圖 1 (本節下方) 中的行,將 127.0.0.1:8888 變更為正確的 IP 位址 (取代 127.0.0.1) 以及正確的連接埠號碼 (取代 8888):
- 透過命令列設定 WinHTTP Proxy 設定:
- 顯示 Proxy:netsh winhttp show proxy
- 設定 Proxy:netsh winhttp set proxy 127.0.0.1:8888
- 重設 Proxy:netsh winhttp reset proxy
- 如果在安裝代理程序之後設定,請重新啟動我們的同步代理程式:net stop filesyncsvc
Figure 1:
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
</defaultProxy>
</system.net>
向儲存體同步服務註冊伺服器
您必須使用儲存體同步服務來註冊伺服器,才能在 Azure 檔案同步的同步群組中,將伺服器當作伺服器端點使用。 一次只能使用一個儲存體同步服務來註冊一部伺服器。
安裝 Azure 檔案同步代理程式
啟動 Azure 檔案同步代理程式安裝程式。
請務必使用 Microsoft Update 來啟用 Azure 檔案同步代理程式的更新。 請務必注意,因為伺服器套件的重要安全性修正和功能增強功能會透過 Microsoft Update 提供。
如果先前尚未註冊伺服器,完成安裝之後就會立即快顯伺服器註冊 UI。
重要
如果伺服器是故障轉移叢集的成員,則 Azure 檔案同步 代理程式必須安裝在叢集中的每個節點上。
使用伺服器註冊 UI 註冊伺服器
如果在完成安裝 Azure 檔案同步 代理程式之後,伺服器註冊 UI 未立即啟動,請執行
C:\Program Files\Azure\StorageSyncAgent\ServerRegistration.exe
手動啟動。選取 [登入 ] 以存取您的 Azure 訂用帳戶。
從對話方塊中,選取正確的訂用帳戶、資源群組和儲存體同步服務。
系統可能會提示您再次登入 Azure 以完成此程式。
重要
如果伺服器是容錯移轉叢集的成員,每部伺服器都必須執行伺服器註冊。 當您在 Azure 入口網站中檢視已註冊的伺服器時,Azure 檔案同步會自動將每個節點識別為相同容錯移轉叢集的成員,並將它們適當地分組在一起。
使用 PowerShell 註冊伺服器
您也可以透過 PowerShell 執行伺服器註冊。
Register-AzStorageSyncServer -ResourceGroupName "<your-resource-group-name>" -StorageSyncServiceName "<your-storage-sync-service-name>"
向儲存體同步服務取消註冊伺服器
向儲存體同步服務取消註冊伺服器需要執行幾個步驟。 讓我們看看如何正確地取消註冊伺服器。
警告
除非Microsoft工程師明確指示,否則請勿嘗試透過取消註冊和註冊伺服器,或移除和重新建立伺服器端點,以針對同步處理、雲端階層處理或任何其他 Azure 檔案同步 層面的問題進行疑難解答。 取消註冊和移除伺服器端點是破壞性作業,而且註冊伺服器並重新建立伺服器端點之後,在包含伺服器端點之磁碟區上的階層式檔案並不會「重新連接」至其在 Azure 檔案共用的位置,進而導致同步錯誤。 存在於伺服器端點命名空間外部的階層式檔案可能會永久遺失。 即使從未啟用雲端階層處理,階層式檔案也可能存在於伺服器端點內。
(選擇性) 重新叫用階層式資料
如果您想要移除 Azure 檔案同步 之後,目前分層的檔案可供使用(也就是這是生產環境,而不是測試環境),請重新叫用包含伺服器端點的每個磁碟區上的所有檔案。 停用所有伺服器端點的雲端階層,然後執行下列 PowerShell Cmdlet:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Invoke-StorageSyncFileRecall -Path <a-volume-with-server-endpoints-on-it>
警告
如果裝載伺服器端點的本機磁碟區沒有足以回收所有已分層資料的可用空間,Invoke-StorageSyncFileRecall
Cmdlet 將會失敗。
從所有同步群組中移除伺服器
在儲存體同步服務上將伺服器取消註冊之前,您必須先移除該伺服器上的所有伺服器端點。 您可以透過 Azure 入口網站執行此動作:
瀏覽至您的伺服器註冊所在的儲存體同步服務。
在儲存體同步服務的每個同步群組中,移除此伺服器的所有伺服器端點。 在 [同步群組] 窗格中,以滑鼠右鍵按兩下相關的伺服器端點,以執行此動作。
您也可以使用簡單的 PowerShell 腳本來執行此動作:
Connect-AzAccount
$storageSyncServiceName = "<your-storage-sync-service>"
$resourceGroup = "<your-resource-group>"
Get-AzStorageSyncGroup -ResourceGroupName $resourceGroup -StorageSyncServiceName $storageSyncServiceName | ForEach-Object {
$syncGroup = $_;
Get-AzStorageSyncServerEndpoint -ParentObject $syncGroup | Where-Object { $_.ServerEndpointName -eq $env:ComputerName } | ForEach-Object {
Remove-AzStorageSyncServerEndpoint -InputObject $_
}
}
取消註冊伺服器
現在,您已回收所有資料並從所有同步群組移除伺服器,您可以將伺服器取消註冊。
在 Azure 入口網站中,瀏覽至儲存體同步服務,選取 [同步] > [已註冊的伺服器]。
以滑鼠右鍵按一下您要取消註冊的伺服器,然後選取 [取消註冊伺服器]。
使用 PowerShell 取消註冊伺服器
您也可以透過 PowerShell 使用 Unregister-AzStorageSyncServer
Cmdlet 來取消註冊伺服器。
警告
取消註冊伺服器會導致伺服器上所有伺服器端點的串聯刪除。 僅當確定伺服器上沒有任何要再同步的路徑時,才執行此 Cmdlet。
$RegisteredServer = Get-AzStorageSyncServer -ResourceGroupName "<your-resource-group-name>" -StorageSyncServiceName "<your-storage-sync-service-name>"
Unregister-AzStorageSyncServer -Force -ResourceGroupName "<your-resource-group-name>" -StorageSyncServiceName "<your-storage-sync-service-name>" -ServerId $RegisteredServer.ServerId
確保 Azure 檔案同步 是數據中心的好鄰居
因為 Azure 檔案同步 很少是數據中心內唯一執行的服務,因此您可能會想要限制 Azure 檔案同步的網路和記憶體使用量。
重要
設定的限制過低會影響 Azure 檔案同步的同步和回收效能。
設定 Azure 檔案同步網路限制
您可以使用 StorageSyncNetworkLimit
Cmdlet,節流 Azure 檔案同步的網路使用量。
注意
網路限制不適用於下列案例:
- 存取分層檔的時候。
- 已註冊的伺服器與儲存體同步服務之間交換的同步中繼資料。
由於此網路流量並未節流,因此 Azure 檔案同步 可能會超過設定的網路限制。 建議您監視網路流量,並調整限制以考慮未節流的網路流量。
例如,您可以建立新的節流限制,以確保在工作周上午 9 點到下午 5 點 (17:00h) 之間,Azure 檔案同步 不會使用超過 10 Mbps:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
New-StorageSyncNetworkLimit -Day Monday, Tuesday, Wednesday, Thursday, Friday -StartHour 9 -EndHour 17 -LimitKbps 10000
注意
若要套用 24 小時的網路限制,請在 -StartHour
和 -EndHour
參數使用 0。
您可以使用下列 Cmdlet 來查看限制:
Get-StorageSyncNetworkLimit # assumes StorageSync.Management.ServerCmdlets.dll is imported
若要移除網路限制,請使用 Remove-StorageSyncNetworkLimit
。 例如,下列命令會移除所有網路限制︰
Get-StorageSyncNetworkLimit | ForEach-Object { Remove-StorageSyncNetworkLimit -Id $_.Id } # assumes StorageSync.Management.ServerCmdlets.dll is imported
使用 Windows Server 儲存體服務品質 (QoS)
當 Azure 檔案同步裝載於 Windows Server 虛擬主機上執行的虛擬機器時,您可以使用儲存體 QoS (儲存體服務品質) 來規範儲存體 IO 耗用量。 您可以將儲存體 QoS 原則設定為最大值 (或限制,如先前範例中強制執行 StorageSyncNetworkLimit
的方法),或設定為最小值 (或保留)。 如果其他工作負載未使用,請設定最小值而不是最大值,讓 Azure 檔案同步 高載使用可用的記憶體頻寬。 如需詳細資訊,請參閱儲存體服務品質。