網管人雜誌
本文刊載於 網管人雜誌第 163 期 - 2019 年 8 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。文章目錄
前言實作演練 Azure 檔案同步機制
建立 Azure 儲存體帳戶
建立檔案共用服務
存取檔案共用服務
安裝 Azure Power AZ 模組
部署 Azure 檔案同步服務
註冊檔案伺服器
建立同步群組
新增伺服器端點
加入其它檔案伺服器
結語
前言
過去,當企業和組織有許多分公司或分支機構時,為了方便母公司與分公司或不同部門之間進行資料交換,通常便需要建置「檔案伺服器」(File Server)。同時,為了確保檔案伺服器服務的高可用性,在母公司資料中心將會建置檔案伺服器容錯移轉叢集,至於母公司與分公司之間的檔案伺服器,則會建置 DFS 分散式檔案系統服務,以達成母公司與分公司之間檔案同步的目標。然而,無論是分公司檔案伺服器發生故障損壞事件,需要重新修復並進行組態設定,或者是母公司資料中心發生重大災難事件,造成必須重建檔案伺服器容錯移轉叢集,這些災難復原後資料的一致性和組態設定,都讓 IT 管理人員頭痛不已。
過去,透過 Azure 檔案服務中的檔案共用機制,便可無須部署 NAS 儲存設備或管理檔案伺服器,達到資料中心簡化管理和部署的目的。然而,Azure 檔案共用機制並未解決,多台檔案伺服器之間進行資料同步的需求。
現在,Azure 檔案服務已經支援「Azure 檔案同步」(Azure File Sync,AFS)機制(如圖 1 所示)。本文便要說明及實作演練,如何透過公有雲的 Azure 檔案同步機制,搭配企業內部私有雲中的檔案伺服器,打造出混合雲架構的檔案伺服器機制,後續無論是增建分公司檔案伺服器,或是檔案伺服器的災難復原作業,都會變得非常容易組態設定和修復。
請注意,Azure 檔案同步機制,僅支援「一般用途的檔案伺服器」容錯移轉叢集,不支援 SOFS 向外延展檔案伺服器和 CSV 叢集共用磁碟區。同時,容錯移轉叢集中的每台節點主機,都必須安裝 Azure 檔案同步代理程式,才能確保 Azure 檔案同步機制順利運作。
圖 1、Azure 檔案同步服務運作架構示意圖
實作演練 Azure 檔案同步機制
在本文實作環境中,我們將會在 Microsoft Azure 公有雲環境中,建立「儲存體帳戶」(Storage Account),利用 Azure 檔案服務中的檔案同步功能,讓企業和組織的資料中心內的檔案伺服器,透過檔案同步代理程序將檔案伺服器中的檔案,背景自動同步至 Microsoft Azure 公有雲環境中,打造出彈性且靈活的混合雲檔案伺服器服務。建立 Azure 儲存體帳戶
首先,請於登入 Azure 入口網站後,依序點選「Create a resource > Azure Marketplace > Storage> Storage account」項目,準備建立 Azure 儲存體帳戶。請於 Create Storage Account 設定視窗內,選擇採用的 Azure 訂閱帳戶之後,建立資源群組名稱本文實作環境為「RG-EastAsia-FileSync」,搭配的 Azure 資料中心為「東亞」(East Asia),至於儲存體帳戶名稱則為「storageforfilesync」(如圖 2 所示),其餘的儲存體帳戶組態設定部份,例如,儲存體帳戶效能、帳戶類型、複寫機制……等,則採用預設值即可。
Azure 儲存體帳戶名稱,除了在 Azure 公有雲環境中必須是唯一之外,名稱只能包含數字和小寫英文字母,並且名稱長度必須介於 3 ~ 24 個字元之間才行。
圖 2、在 Azure 東亞資料中心內建立儲存體帳戶
建立檔案共用服務
事實上,當我們在 Azure 入口網站中建立儲存體帳戶之後,Azure 儲存體總共包含 Blobs、Files、Queues、Tables 等四大項服務,在本文實作環境中我們採用其中的「檔案」(Files)服務。在 Azure 檔案服務管理架構中,可以規劃區分出四個部份(如圖 3 所示),分別是儲存體帳戶、共用、資料夾、檔案:
- 儲存體帳戶: 每個針對 Azure 儲存體的存取作業,必須透過儲存體帳戶才能進行。倘若,管理人員希望徹底隔離存取作業時,建議採用不同的儲存體帳戶。
- 共用: 每一個儲存體帳戶,都可以建立無限制數量的檔案共用服務,每一個檔案共用可以提供最大 5 TB 的儲存空間,並且在啟用檔案共用服務機制之後,屆時便可以透過 SMB 檔案共用機制進行存取作業。
- 資料夾: 啟用檔案共用機制之後,便可以建立不同的資料夾以利區分和存放不同的檔案。
- 檔案: 存放在檔案共用機制中的檔案,單一檔案儲存空間大小最大可達 1 TB 。
圖 3、Azure 檔案服務運作架構示意圖
當 Azure 檔案共用機制建立完成後,可以透過 SMB 通訊協定進行檔案的讀取和寫入作業,值得注意的是存取檔案共用服務的 SMB 用戶端,倘若是運作在 Azure 公有雲環境中的 VM 虛擬主機,至少必須支援 SMB 2.1 通訊協定版本,倘若是運作在企業和組織內部環境的 VM 虛擬主機,至少必須支援含加密功能的 SMB 3.0 通訊協定版本。此外,當企業和組織有新的應用程式,或者有軟體開發需求需要存取檔案共用資源時,Azure 檔案共用服務也支援透過 REST API 的方式進行存取。
當我們順利建立 Azure 儲存體帳戶後,請點選剛才建立的「storageforfilesync」儲存體帳戶,此時在管理介面中,便會看到 Blobs、Files、Queues、Tables 等四個服務項目,請點選「Files」項目準備啟用檔案共用服務。
進入 Files 項目後,請按下「File Share」圖示準備建立檔案共用服務,在 File Share 組態設定視窗中,請於 Name 欄位鍵入檔案共用服務名稱「filesynclabs」,在 Quota 欄位鍵入此檔案共用服務的空間大小為「5120」GB,確認無誤後按下 Create 鈕便建立檔案共用服務(如圖 4 所示)。
圖 4、啟用檔案共用服務且設定儲存空間大小為 5 TB
存取檔案共用服務
現在,請將操作環境切換到企業內部的檔案伺服器,以便驗證企業內部的檔案伺服器,是否可以順利存取剛才建立的 Azure 檔案共用服務,確保後續的「Azure 檔案同步服務」(Azure File Sync)能順利運作。首先,點選剛才建立的「filesynclabs」檔案共用服務,在組態設定視窗中點選「Connect」圖示,即可選擇採用 Windows 或 Linux 或 MacOS 作業系統,存取 Azure 檔案共用服務的指令,舉例來說,點選 Windows 頁籤項目後,便會顯示採用 PowerShell 或命令提示字元的指令內容,從指令的執行內容可以看出,將會透過 SMB 通訊協定掛載 Azure 檔案共用儲存資源。
在本文實作環境中,採用的內部檔案伺服器為 Windows Server 2019,在開啟的命令提示字元視窗中,貼上剛才複製的 Azure 檔案共用儲存資源連接指令,順利通過身份驗證機制後,便將剛才新增的 5TB 檔案共用儲存資源,掛載至檔案伺服器的「Z 槽」中。同時,我們新增一個測試資料夾和一個測試檔案(如圖 5 所示),確保內部檔案伺服器可以順利存取 Azure 檔案共用儲存資源。
圖 5、企業內部檔案伺服器順利存取 Azure 檔案共用儲存資源
當企業內部檔案伺服器,順利存取 Azure 檔案共用並寫入資料夾和檔案後,管理人員可以切換回 Azure 入口網站,於 filesynclabs 的 Overview 頁面中按下 Refresh 圖示(如圖 6 所示),即可看到剛才內部檔案伺服器寫入的資料夾和檔案,表示順利寫入資料至 Azure 檔案服務中。
圖 6、透過 Azure 入口網站,確認 Azure 檔案共用儲存資源內容
安裝 Azure Power AZ 模組
請在內部檔案伺服器中,開啟 PowerShell 視窗鍵入「Install-Module -Name Az」指令(如圖 7 所示),安裝 Azure PowerShell Az 模組,以便稍後順利安裝 Azure 檔案共用代理程式。雖然,在 2020 年 12 月之前,安裝舊有的 PowerShell AzureRM 模組,仍可以持續獲得錯誤修正。但是,仍建議管理人員採用新的 Azure PowerShell Az 模組。由於,檔案伺服器中的 NuGet 並非最新版本,所以系統將會提示下載及安裝最新版本的 NuGet 。同時,預設情況下,PowerShell 資源庫並未設定 PowerShellGet 為信任存放庫,所以第一次使用 PSGallery 時,便會看到「Untrusted repository」提示資訊,請鍵入「A」即可繼續安裝,並下載所有可用的 ARM(Azure Resource Manager)模組,確保後續 Azure 檔案同步服務能夠順利運作。
圖 7、為內部檔案伺服器安裝 Azure PowerShell Az 模組
部署 Azure 檔案同步服務
現在,可以著手部署 Azure 檔案同步服務,請於 Azure 入口網站中,依序點選「Create a resource > Azure Marketplace > Storage> Azure File Sync > Create」項目,準備建立 Azure 檔案同步服務。在 Deploy Azure File Sync 頁面中,選擇採用的 Azure 訂閱帳戶,以及本文實作環境的 RG-EastAsia-FileSync 資源群組,並搭配採用的 Azure 東亞資料中心後,請於 Storage sync service name 欄位,鍵入 Azure 檔案同步服務名稱「filesyncservice」(如圖 8 所示)。
請確保 Azure 檔案共用服務使用的資源群組,與先前建立的儲存體帳戶採用相同的資源群組,確保 Azure 檔案共用服務能夠順利繼承存取權限。
圖 8、建立 Azure 檔案同步服務
註冊檔案伺服器
當 Azure 檔案同步服務部署完畢後,點選 Azure 檔案同步服務中的「Registered servers」項目,可以看到目前並沒有任何已註冊的檔案伺服器,請點選設定畫面中的「Azure File Sync Agent」連結,即可下載 Azure 檔案同步代理程式。Azure 檔案同步代理程式,可以安裝在 Windows Server 2012 R2、2016、2019 作業系統版本。值得注意的是,安裝 Azure 檔案同步代理程式的檔案伺服器,目前僅支援採用「NTFS 檔案系統」的磁碟區,不支援採用 ReFS、FAT、FAT32 或其它檔案系統。
請注意,Azure 檔案同步服務尚未支援,啟用 EFS 加密機制的 NTFS 檔案系統。倘若,企業和組織有資料加密需求時,請採用 BitLocker 或 Azure RMS 機敏資料保護解決方案。在本文實作環境中,為 Windows Server 2019 檔案伺服器,安裝最新 6.1 版本的 Azure 檔案同步代理程式,當代理程式安裝作業完成後,系統將自動開啟伺服器註冊視窗。
倘若,系統並未自動開啟伺服器註冊視窗時,可以手動執行「C:\Program Files\Azure\StorageSyncAgent\ServerRegistration.exe」應用程式。安裝的 Azure 檔案同步代理程式中,總共包含下列三個主要運作元件,確保安裝檔案同步代理程式的檔案伺服器,能夠順利透過 Azure 檔案共用服務進行資料同步處理作業:
- FileSyncSvc.exe: 負責監控檔案伺服器上的資料異動情況,以便啟動 Azure 檔案同步的 Windows 背景服務,進行資料異動的同步處理作業。
- StorageSync.sys: Azure 檔案同步的檔案系統過濾器,當啟用「雲端分層」(Cloud Tiering)機制時,負責將資料傳送至 Azure 檔案共用服務中。
- PowerShell 管理指令: 與 Azure 資源提供者 StorageSync 進行互動的 PowerShell 指令。
請在自動開啟的伺服器註冊視窗中,於 Azure Environment 下拉式選單內,選擇「Azure Public Cloud」項目後按下 Sign in 鈕,鍵入 Azure 訂閱帳戶和密碼之後,在儲存體同步服務註冊視窗中,依序選擇 Azure 訂閱帳戶,以及本文實作的「RG-EastAsia-FileSync」資源群組,和「filesyncservice」儲存體同步服務後,按下 Register 鈕註冊此台檔案伺服器(如圖 9 所示)。
執行註冊檔案伺服器的動作後,系統將會再次要求必須鍵入 Azure 訂閱帳戶和密碼進行驗證。
圖 9、註冊此台檔案伺服器至 Azure 檔案同步服務中
此時,請切換至 Azure 入口網站檔案同步服務頁面,並再次點選 Registered servers 項目,即可看到安裝檔案同步代理程式的 Windows Server 2019 檔案伺服器,已經順利註冊至 Azure 檔案同步服務中(如圖 10 所示)。
現在,檔案伺服器與 Azure 檔案同步服務之間已經建立信任關係。值得注意的是,每一台檔案伺服器,僅能註冊至單一 Azure 檔案同步服務。
圖 10、順利註冊檔案伺服器至 Azure 檔案同步服務中
建立同步群組
「同步群組」(Sync Group),為 Azure 檔案同步運作架構中的同步拓撲。簡單來說,加入同步群組內的檔案伺服器將會保持資料同步,舉例來說,倘若有兩個不同用途的檔案需要同步時,那麼可以建立兩個同步群組,並新增不同的伺服器端點即可。請在 Azure 入口網站檔案同步服務中,依序點選「Overview > Sync group」項目,準備建立同步群組。首先,在 Sync group name 欄位中,鍵入同步群組名稱「filesyncgroup」(如圖 11 所示),然後選擇採用的 Azure 訂閱帳戶,接著按下 Select storage account 鈕,選擇採用的「storageforfilesync」儲存體帳戶,以及「filesynclabs」檔案共用服務後,按下 Create 鈕即可建立同步群組。
圖 11、在 Azure 檔案同步服務中建立同步群組
新增伺服器端點
「伺服器端點」(Server Endpoint),表示針對檔案伺服器中某個特定位置,例如,某個資料夾,監控資料異動情況並進行檔案同步的工作任務。值得注意的是,倘若伺服器端點的命名空間未重疊時,例如,F:\Sync01 和 F:\Sync02,那麼相同的磁碟區內可以建立多個伺服器端點。請在 Azure 入口網站同步群組頁面中,點選「Add server endpoint」項目(如圖 12 所示),準備建立伺服器端點。在 Registered Server 下拉式選單中,選擇先前註冊成功的檔案伺服器「FileServer01」,在 Path 欄位請鍵入檔案伺服器要進行同步的資料夾路徑,本文實作環境為「F:\Sync01」,確認資訊無誤後按下 Create 鈕即可建立伺服器端點。
圖 12、在 Azure 檔案同步服務中建立伺服器端點
此時,切換至內部檔案伺服器,查看組態設定同步處理的 F:\Sync01 資料夾,是否會透過 Azure 檔案同步機制,將剛才驗證 Azure 檔案共用機制建立的測試資料夾和檔案,從 Azure 公有雲環境中同步至 F:\Sync01 資料夾內。如圖 13 所示,組態設定同步處理的 F:\Sync01 資料夾中,確實同步剛才驗證用途建立的測試資料夾和檔案。
圖 13、順利透過 Azure 檔案同步服務順利同步相關資料夾和檔案
加入其它檔案伺服器
至此,我們已經建置完成 Azure 檔案同步服務,同時已經註冊一台 Windows Server 2019 檔案伺服器,並且測試建立資料夾和檔案以便驗證 Azure 檔案同步服務。現在,假設企業和組織要建立新的分公司據點,並且在分公司中建立一台 Windows Server 2016 檔案伺服器。此時,管理人員只要為這台分公司的檔案伺服器,執行安裝 Azure PowerShell Az 模組、安裝 Azure 檔案同步代理程式、加入同步群組、新增伺服器端點等作業,即可輕鬆透過 Azure 檔案同步服務,將母公司檔案伺服器中的檔案進行同步處理。
如圖 14 所示,為分公司檔案伺服器 FileServer02,安裝 Azure 檔案同步代理程式並進行註冊之後,切換回 Azure 入口網站檔案同步服務頁面中,即可看到多出一台已註冊的檔案伺服器 FileServer02。
圖 14、註冊分公司檔案伺服器 FileServer02
最後,同樣在建立伺服器端點的 Registered Server 下拉式選單中,選擇新加入且註冊成功的檔案伺服器「FileServer02」,並在 Path 欄位鍵入進行同步的資料夾路徑「F:\Sync01」,確認無誤後按下 Create 鈕即可。
此時,切換 FileServer02 檔案伺服器中,查看組態設定同步處理的 F:\Sync01 資料夾,同樣會發現已經順利同步相關資料夾和檔案,並且從 Azure 入口網站同步群組頁面中,也可以看到二台檔案伺服器的健康狀態、監控異動的同步資料夾、最後同步時間、檔案同步數量、檔案傳輸資料量……等同步資訊(如圖 15 所示)。
圖 15、確認同步群組和檔案伺服器同步資訊