使用 Azure 檔案同步管理已註冊的伺服器

Azure 檔案同步可讓您將組織的檔案共用集中在「Azure 檔案服務」中,而不需要犧牲內部部署檔案伺服器的靈活度、效能及相容性。 它會將您的 Windows Server 轉換成 Azure 檔案共用的快速快取來達到這個目的。 您可以使用 Windows Server 上可用的任何通訊協定來存取本機資料 (包括 SMB、NFS 和 FTPS),並且可以在世界各地擁有任何所需數量的快取。

下列文章說明如何使用儲存體同步服務來註冊及管理伺服器。 如需如何從頭到尾部署 Azure 檔案同步的資訊,請參閱如何部署 Azure 檔案同步

使用儲存體同步服務來註冊/取消註冊伺服器

使用 Azure 檔案同步來註冊伺服器可在 Windows Server 與 Azure 之間建立信任關係。 此關係可用來在伺服器上建立伺服器端點,其代表應與 Azure 檔案共用 (也稱為雲端端點) 同步的特定資料夾。

必要條件

若要使用儲存體同步服務來註冊伺服器,您必須先準備好符合下列必要條件的伺服器:

  • 伺服器必須執行支援的 Windows 版本。 如需詳細資訊,請參閱 Azure 檔案同步系統需求和互通性

  • 確定已部署儲存體同步服務。 如需如何部署儲存體同步服務的詳細資訊,請參閱如何部署 Azure 檔案同步

  • 確定伺服器已連線到網際網路,而且 Azure 可供存取。

  • 使用 [伺服器管理員] UI 停用系統管理員的 [IE 增強式安全性設定]。

    Server Manager UI with the IE Enhanced Security Configuration highlighted

  • 確定您的伺服器上已安裝 Azure PowerShell 模組。 如果您的伺服器是容錯移轉叢集的成員,則叢集中的每個節點都需要 Az 模組。 您可以在安裝和設定 Azure PowerShell中,找到如何安裝 Az 模組的詳細資料。

    注意

    建議使用最新版 Az PowerShell 模組註冊/取消註冊伺服器。 如果先前已在此伺服器上安裝 Az 套件 (而且此伺服器上的 PowerShell 版本為 5.* 或更高版本),您可以使用 Update-Module Cmdlet 更新此套件。

  • 如果您在您的環境中使用網路 Proxy 伺服器,請在伺服器上針對要使用的同步代理程式設定 Proxy 設定。

    1. 判斷 Proxy IP 位址和連接埠號碼
    2. 編輯這兩個檔案:
      • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
      • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
    3. 在上述兩個檔案中的 /System.ServiceModel 底下,新增圖 1 (本節下方) 中的行,將 127.0.0.1:8888 變更為正確的 IP 位址 (取代 127.0.0.1) 以及正確的連接埠號碼 (取代 8888):
    4. 透過命令列設定 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 檔案同步代理程式

  1. 下載 Azure 檔案同步代理程式

  2. 啟動 Azure 檔案同步代理程式安裝程式。

    The first pane of the Azure File Sync agent installer

  3. 請務必使用 Microsoft Update 來啟用 Azure 檔案同步代理程式的更新。 這很重要,因為伺服器套件的重大安全性問題修正與功能加強隨附於 Microsoft Update。

    Ensure Microsoft Update is enabled in the Microsoft Update pane of the Azure File Sync agent installer

  4. 如果先前尚未註冊伺服器,完成安裝之後就會立即快顯伺服器註冊 UI。

重要

如果伺服器是容錯移轉叢集的成員,則必須在叢集中的每個節點上安裝 Azure 檔案同步代理程式。

使用伺服器註冊 UI 註冊伺服器

  1. 如果完成 Azure 檔案同步代理程式的安裝之後未立即啟動伺服器註冊 UI,您可以執行 C:\Program Files\Azure\StorageSyncAgent\ServerRegistration.exe 手動將它啟動。

  2. 按一下 [登入] 以存取您的 Azure 訂用帳戶。

    Opening dialog of the server registration UI

  3. 從對話方塊中,選取正確的訂用帳戶、資源群組和儲存體同步服務。

    Storage Sync Service information

  4. 在預覽版中,需要再登入一次才能完成此程序。

    Sign in dialog

重要

如果伺服器是容錯移轉叢集的成員,每部伺服器都必須執行伺服器註冊。 當您在 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 入口網站執行此動作:

  1. 瀏覽至您的伺服器註冊所在的儲存體同步服務。

  2. 在儲存體同步服務的每個同步群組中,移除此伺服器的所有伺服器端點。 這可以透過以滑鼠右鍵按一下 [同步群組] 窗格中的相關伺服器端點來完成。

    Screenshot showing how to remove a server endpoint from a sync group.

這也可以透過簡單的 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 $_ 
    } 
}

取消註冊伺服器

現在,您已回收所有資料並從所有同步群組移除伺服器,您可以將伺服器取消註冊。

  1. 在 Azure 入口網站中,瀏覽至儲存體同步服務,選取 [同步]> [已註冊的伺服器]

  2. 以滑鼠右鍵按一下您要取消註冊的伺服器,然後選取 [取消註冊伺服器]

    Screenshot showing how to unregister a server.

使用 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 檔案同步可能會超過所設定的網路限制。 建議監視網路流量並調整限制以將未節流的網路流量納入考量。

例如,您可以建立新的節流限制,以確保 Azure 檔案同步在工作日早上 9 點至下午 5 點 (17:00h) 之間不會使用超過 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 檔案同步在其他工作負載不使用時,盡可能使用可用的儲存體頻寬。 如需詳細資訊,請參閱儲存體服務品質

另請參閱