本文將示範如何在Microsoft Azure公有雲環境中建立「儲存體帳戶」,並使用Azure檔案服務中的檔案同步功能,讓企業資料中心內的檔案伺服器透過檔案同步代理程序,將檔案伺服器內的檔案自動同步至Microsoft Azure公有雲環境,以提供彈性靈活的混合雲檔案伺服器服務。
當企業有許多分公司或分支機構時,為了方便母公司與分公司或不同部門之間進行資料交換,通常需要建置「檔案伺服器」(File Server)。同時為了確保檔案伺服器服務的高可用性,在母公司資料中心將會建置檔案伺服器容錯移轉叢集,至於母公司與分公司之間的檔案伺服器,則會建置DFS分散式檔案系統服務,以達成母公司與分公司之間的檔案同步。
然而,無論是分公司檔案伺服器發生故障損壞事件,需要重新修復並進行組態設定,或者是母公司資料中心發生重大災難事件,造成必須重建檔案伺服器容錯移轉叢集,這些災難復原後資料的一致性和組態設定,都讓IT管理人員頭痛不已。
過去透過Azure檔案服務中的檔案共用機制,便可無須部署NAS儲存設備或管理檔案伺服器,達到資料中心簡化管理和部署的目的。然而,Azure檔案共用機制並未解決多台檔案伺服器之間進行資料同步的需求。
現在Azure檔案服務已經支援「Azure檔案同步」(Azure File Sync,AFS)機制,如圖1所示。所以,本文將說明及實作演練如何透過公有雲的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儲存體總共包含Blobs、Files、Queues、Tables等四大項服務,本文實作環境將採用其中的「檔案」(Files)服務。
在Azure檔案服務管理架構中,可以規劃區分出四個部分,如圖3所示,分別是「儲存體帳戶」、「共用」、「資料夾」以及「檔案」,以下分別說明:
‧儲存體帳戶:每個針對Azure儲存體的存取作業,必須透過儲存體帳戶才能進行。倘若管理人員希望徹底隔離存取作業時,建議採用不同的儲存體帳戶。
‧共用:每一個儲存體帳戶都可以建立無限制數量的檔案共用服務,每一個檔案共用可以提供最大5TB的儲存空間,並且在啟用檔案共用服務機制之後,屆時便可以透過SMB檔案共用機制進行存取作業。
‧資料夾:啟用檔案共用機制後,便可以建立不同的資料夾以利區分和存放不同的檔案。
‧檔案:存放在檔案共用機制中的檔案,單一檔案儲存空間大小最大可達1TB。
當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所示。
存取檔案共用服務
現在將操作環境切換到企業內部的檔案伺服器,以便驗證企業內部的檔案伺服器,是否可以順利存取剛才建立的Azure檔案共用服務,確保後續的「Azure檔案同步服務」(Azure File Sync)能夠順利運作。
首先點選剛才建立的「filesynclabs」檔案共用服務,在組態設定視窗中點選「Connect」圖示,即可選擇採用Windows、Linux或Mac OS作業系統,存取Azure檔案共用服務的指令。舉例來說,點選Windows頁籤項目,便會顯示採用PowerShell或命令提示字元的指令內容,從指令的執行內容可以看出,將會透過SMB通訊協定掛載Azure檔案共用儲存資源。
在本文實作環境中,採用的內部檔案伺服器為Windows Server 2019,在開啟的命令提示字元視窗中,貼上剛才複製的Azure檔案共用儲存資源連接指令,順利通過身分驗證機制後,便將剛才新增的5TB檔案共用儲存資源,掛載至檔案伺服器的「Z槽」中。同時,新增一個測試資料夾和一個測試檔案,如圖5所示,確保內部檔案伺服器可以順利存取Azure檔案共用儲存資源。
當企業內部檔案伺服器順利存取Azure檔案共用並寫入資料夾和檔案時,管理人員可以切換回Azure入口網站,在filesynclabs的Overview頁面中按下「Refresh」圖示,如圖6所示,便會看到剛才內部檔案伺服器寫入的資料夾和檔案,表示順利寫入資料至Azure檔案服務中。
安裝Azure PowerShell Az模組
在內部檔案伺服器中,開啟PowerShell視窗鍵入「Install-Module -Name Az」指令,如圖7所示,安裝Azure PowerShell Az模組,以便稍後順利安裝Azure檔案共用代理程式。
由於檔案伺服器中的NuGet並非最新版本,所以系統會提示下載及安裝最新版本的NuGet。
同時,在預設情況下,PowerShell資源庫並未設定PowerShellGet為信任存放庫,所以第一次使用PSGallery的時候,便會看到「Untrusted repository」提示資訊,鍵入「A」,即可繼續安裝並下載所有可用的ARM(Azure Resource Manager)模組,確保後續Azure檔案同步服務能夠順利運作。
部署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檔案同步服務中的「Registered servers」項目,可以看到目前並沒有任何已註冊的檔案伺服器,點選設定畫面中的「Azure File Sync Agent」連結,即可下載Azure檔案同步代理程式。
Azure檔案同步代理程式,可以安裝在Windows Server 2012 R2、2016、2019作業系統版本。值得注意的是,安裝Azure檔案同步代理程式的檔案伺服器,目前僅支援採用「NTFS檔案系統」的磁碟區,不支援採用ReFS、FAT、FAT32或其他檔案系統。
在本文實作環境中,為Windows Server 2019檔案伺服器安裝最新6.1版本的Azure檔案同步代理程式,當代理程式安裝作業完成之後,系統將會自動開啟伺服器註冊視窗。
安裝的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入口網站檔案同步服務頁面,並再次點選Registered servers項目,即可看到安裝檔案同步代理程式的Windows Server 2019檔案伺服器,已經順利註冊至Azure檔案同步服務中,如圖10所示。
建立同步群組
「同步群組」(Sync Group)為Azure檔案同步運作架構中的同步拓撲,簡單來說,加入同步群組內的檔案伺服器將會保持資料同步。舉例來說,倘若有兩個不同用途的檔案需要同步的時候,那麼可以建立兩個同步群組,並新增不同的伺服器端點即可。
在Azure入口網站檔案同步服務中,依序點選「Overview > Sync group」項目,準備建立同步群組。首先在Sync group name欄位中鍵入同步群組名稱「filesyncgroup」,如圖11所示,然後選擇採用的Azure訂閱帳戶。接著按下〔Select storage account〕按鈕,選擇採用的「storageforfilesync」儲存體帳戶,以及「filesynclabs」檔案共用服務後,按下〔Create〕按鈕即可建立同步群組。
新增伺服器端點
「伺服器端點」(Server Endpoint)表示針對檔案伺服器中某個特定位置,例如某個資料夾,監控資料異動情況並進行檔案同步的工作任務。
值得注意的是,倘若伺服器端點的命名空間未重疊時,例如「F:\Sync01」和「F:\Sync02」,那麼在相同的磁碟區內可以建立多個伺服器端點。
在Azure入口網站同步群組頁面中,點選「Add server endpoint」項目,如圖12所示,準備建立伺服器端點。在Registered Server下拉式選單中,選擇先前註冊成功的檔案伺服器「FileServer01」,在PATH欄位鍵入檔案伺服器要進行同步的資料夾路徑,本文實作環境為「F:\Sync01」,確認資訊無誤後按下〔Create〕按鈕,即可建立伺服器端點。
此時切換至內部檔案伺服器,查看組態設定同步處理的「F:\Sync01」資料夾是否會透過Azure檔案同步機制,將剛才驗證Azure檔案共用機制建立的測試資料夾和檔案,從Azure公有雲環境中同步至「F:\Sync01」資料夾內。
如圖13所示,組態設定同步處理的「F:\Sync01」資料夾中,確實同步了剛才驗證用途建立的測試資料夾和檔案。
加入其他檔案伺服器
至此,已完成建置Azure檔案同步服務,同時已經註冊一台Windows Server 2019檔案伺服器,並且測試建立資料夾和檔案以便驗證Azure檔案同步服務。
假設現在企業和組織要建立新的分公司據點,並且在分公司中建立一台Windows Server 2016檔案伺服器。此時管理人員只要為這台分公司的檔案伺服器,執行安裝Azure PowerShell Az模組、安裝Azure檔案同步代理程式、加入同步群組、新增伺服器端點等作業,即可輕鬆透過Azure檔案同步服務,將母公司檔案伺服器內的檔案同步處理。
如圖14所示,緊接著為分公司檔案伺服器FileServer02安裝Azure檔案同步代理程式並進行註冊,然後切換回Azure入口網站檔案同步服務頁面中,即可看到多了一台已註冊的檔案伺服器「FileServer02」。
最後,同樣在建立伺服器端點的Registered Server下拉式選單中,選擇新加入且註冊成功的檔案伺服器「FileServer02」,並在PATH欄位鍵入進行同步的資料夾路徑「F:\Sync01」,確認無誤後按下〔Create〕按鈕即可。
此時切換至FileServer02檔案伺服器中,查看組態設定同步處理的「F:\Sync01」資料夾,同樣會發現已經順利同步相關的資料夾和檔案,並且從Azure入口網站同步群組頁面中,也可以看到兩台檔案伺服器的健康狀態、監控異動的同步資料夾、最後同步時間、檔案同步數量、檔案傳輸資料量等等同步資訊,如圖15所示。
結語
透過實戰演練,相信大家已經了解Azure檔案同步的優點,透過Azure檔案同步運作機制,可以有效地幫助IT管理人員簡化部署企業組織的檔案伺服器架構。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>