異地備份 備援 異地備援 叢集 Cluster 高可用性 HA windows server 容錯 作業系統

打造Windows Server 2016異地備援容錯移轉叢集

建構延展式叢集複寫 橫跨異地運作保萬全(上)

2019-10-15
企業IT應針對關鍵系統的叢集架構,評估現有環境的即刻備援程度是否足以因應未來各種人為與天災的破壞。對此,本文將說明如何藉由Windows Server 2016來部署橫跨異地的延展式叢集複寫架構,讓企業面臨重大災禍突襲時,仍可維持關鍵應用服務正常運作。

 

俗話說預防勝於治療,企業IT若想要有效因應突如其來的災害,異地備份與異地備援的預防措施肯定不可少。

只是從架構技術的觀點來看,要做到異地備份的作業並不難,只要異地間的網路頻寬與連線沒有問題,再搭配Windows Server內建的備份工具,或是第三方的備份軟體即可解決。

如果想要做到即時的異地備援機制,以便在災害發生時讓各種來源的用戶端連線,可以自動被導向至正常運行中的伺服器,而其中最好的建構方式,就是先部署以叢集(Cluster)為基礎的高可用性(HA)架構,如此一來,就可以讓絕大多數的伺服端應用系統,包括檔案伺服器以及Hyper-V在內的IT服務,直接提供廣泛用戶端不間斷的永續服務。

Windows Server 2003時期的Cluster技術還未支援跨子網路(站台)的部署,而是從Windows Server 2008版本開始才正式支援,也唯有如此,才能夠在本地端的叢集節點運作全部因故停擺時,自動切換至異地的叢集節點來繼續提供服務。為了達成這項任務,接著就來學習以Windows Server 2016為基礎的容錯移轉叢集(Failover Cluster),以完成跨異地的叢集節點部署,並且進一步完成後端儲存區的異地同步複寫,也就是目前唯一在Windows Server 2016 Datacenter版本中才有提供的延展式叢集複寫(Stretch Cluster Replication)架構技術。

前置準備作業

為了讓後續有關跨異地的叢集節點部署,以及結合延展式儲存複寫的功能能夠順利完成,以下的前置準備工作與注意事項是必要的。

‧所有叢集節點伺服器都必須在相同的Active Directory之中,不過網域控制站可以不必是Windows Server 2016版本。

‧所有叢集節點的伺服器必須是Windows Server 2016 Datacenter版本。如果目前使用的是Standard版本,可以在有合法授權金鑰的情況下進行就地升級的作業,它目前支援的叢集節點數量高達64個。

‧針對橫跨不同Active Directory站台的叢集節點,需要有各自連接的共用儲存區,例如採用SAS共用儲存設備、光纖通道SAN或是iSCSI Target等等。在此於TP站台網路中準備了SR-SRV01、SR-SRV02兩部伺服器,以及在KH站台網路內設置SR-SRV03、SR-SRV04兩部伺服器。如圖1所示,先準備好兩個站台網路與各自的網域控制站。

圖1  DC與Site關係。

‧每一部叢集節點伺服器都必須預先連線至各自站台中所準備的儲存區,而且至少要有兩個磁碟,一個用來做為叢集資料磁碟,另一個則當成存放複寫記錄檔的磁碟,這兩個磁碟的初始化都必須選擇GPT而非MBR。

‧每一部叢集節點伺服器必須預先完成「檔案伺服器」角色與「檔案伺服器資源管理員」功能的安裝。

‧每個叢集節點伺服器至少要有2GB的RAM以及雙核心的CPU。

‧叢集節點之間複寫的網路速度,至少得在1GbE以上,最理想則是採用RDMA的連接方式。

‧防火牆部分必須允許在所有叢集節點之間,使用ICMP與SMB的連接埠(Port=445,若為SMB Direct再加入Port=5445)以及WS-MAN(Port=5985)的連接埠。

‧準備用於複寫的儲存區,不可以是位在Windows的系統磁碟內。

建立容錯移轉叢集

首先,必須將橫跨兩個Active Directory站台的Windows Server 2016 Datacenter主機,建立成一個擁有四部節點的容錯移轉叢集(Failover Clustering)。而在建立之前,最好如圖2所示先透過以下的Test-Cluster命令,來測試一下這四個節點的Windows Server是否有相容性的問題:

圖2  測試叢集的建立。

Test-Cluster SR-SRV01, SR-SRV02, SR-SRV03, SR-SRV04

若執行後沒有出現錯誤或警示訊息,表示這四部Windows Server 2016皆已經符合建立一個叢集的基本要件。

完成叢集建立的測試後,其HTML報告將會產生在目前登入使用者自家的目錄內,例如若使用的是LAB03這個網域的Administrator帳戶,則它存放的預設路徑就是「C:\Users\Administrator.LAB03\AppData\Local\Temp」,其中AppData這個資料夾是隱藏的,必須透過檔案管理員介面的「選項」設定,暫時讓它顯示隱藏的資料夾與檔案。

如圖3所示是叢集測試報告範例,報告中只要沒有錯誤,便可以開始建立叢集,若是有警告訊息,也最好查看一下是否會影響後續叢集的運作。

圖3  檢視叢集測試報告。

接下來,如圖4所示嘗試使用以下命令來建立一個新的容錯移轉叢集(其中192.168.7.251是這裡所指定的叢集IP位址):

圖4  建立跨站台的叢集錯誤。

New-Cluster -Name SR-SRVCLUS  -Node SR-SRV01, SR-SRV02, SR- SRV03, SR-SRV04 -StaticAddress 192.168.7.251

可是執行後卻出現了錯誤訊息,其實這是因為在所準備的叢集節點主機中,SR-SRV01與SR-SRV02是屬於192.168.7.0/24網段,而SR-SRV03與SR-SRV04則屬於172.168.7.0/24網段,因此需要指派兩個叢集IP位址才可以,也就是在-StaticAddress參數的部分,必須改設定成「-StaticAddress 192.168.7.251,172.168.7.251」。

前面是透過New-Cluster的命令參數來建立叢集,而如圖5所示則是透過「容錯移轉叢集管理員」介面,來開啟建立新叢集的設定範例。在此只要透過按下〔瀏覽〕按鈕來加入四個節點的Windows Server 2016 Datacenter主機即可。設定完畢,按下〔下一步〕按鈕繼續。

圖5  建立叢集。

來到「用於管理叢集的存取點」頁面後,如圖6所示,一樣輸入「SR-SRVCLUS」來做為新叢集名稱,必須注意此名稱不能超過15個字元,再分別輸入兩個網段各自的叢集IP位址,最後按下〔下一步〕按鈕。

圖6  設定叢集存取點。

如圖7所示,在「確認」頁面中可以看到即將建立的叢集名稱與四個節點伺服器資訊。將預設勾選的「新增適合的儲存裝置到叢集」選項取消,這是因為這裡並不打算使用叢集共用磁碟來做為見證(仲裁)磁碟,而是有更好的選擇,那就是採用檔案共用見證或是Azure雲端見證。按下〔下一步〕按鈕,完成新叢集的建立。

圖7  確認新叢集設定。

接下來,要準備檔案共用見證資料夾,以取代上一步驟中所提到的叢集仲裁磁碟。

如圖8所示,這是在網域控制站主機中所建立的一個名為「Quorum」的共用資料夾,並且記得務必賦予前面所建立的SR-SRVCLUS叢集,擁有「完全控制」權限。

圖8  準備檔案共用見證資料夾。

準備好檔案共用見證資料夾之後,就可以在PowerShell介面中,執行「Set-ClusterQuorum -FileShareWitness \\DC01\Quorum」命令參數,完成叢集見證的設定,如圖9所示。

圖9  設定檔案共用見證。

然而,除了可以透過命令參數來建立見證設定外,也可經由「容錯移轉叢集管理員」圖形介面來開啟見證設定精靈。

後續在開啟「容錯移轉叢集管理員」介面時,便可以在叢集節點的頁面內發現檔案共用見證的連線設定,出現在「叢集核心資源」區域中。

在一切就緒之後,回到「容錯移轉叢集管理員」介面,如圖10所示,在此可以清楚看到在「節點」頁面內已經有四部叢集的節點伺服器正於線上運作,並且可以自行查看每一個節點伺服器的摘要、網路連線、角色、磁碟、集區以及實體磁碟的資訊。

圖10  新叢集建立完成。

此外,也可以在此隨時以遠端桌面的連線方式,直接連入該伺服器桌面內進行操作。未來如果有新的叢集節點要加入,只要在此點選「動作」窗格中的「新增節點」即可。

前面所建立的叢集,雖然已經完成各節點伺服器與共用見證的設定,然而萬事俱全只欠東風,也就是尚未加入所要使用的叢集磁碟。緊接著,在「存放裝置」→「磁碟」頁面中點選「動作」窗格內的「新增磁碟」。開啟如圖11所示的頁面後,將所有要加入的磁碟勾選並按下〔確定〕按鈕即可。

圖11  將磁碟新增到叢集。

再回到「磁碟」頁面中,如圖12所示仔細一看會發現目前的叢集擁有者節點是SR-SRV04,而它所連接的叢集磁碟卻只有其中兩個是處於線上,這是怎麼一回事呢?因為其中兩個磁碟的共用儲存區,是位於另一個Active Directory站台的網路中,當然無法連線,不過只要完成延展式叢集的複寫設定後,結果就會不同。

圖12  管理叢集磁碟。

有關於叢集磁碟的加入,如果想透過PowerShell命令來加入,只要執行「ClusterAvailableDisk -All | Add-ClusterDisk」命令參數,就可以一次完成新增現行所有可用的叢集磁碟,如圖13所示。

圖13  以命令新增叢集磁碟。

建立檔案伺服器角色

接下來,必須在這個叢集中建立檔案伺服器角色,以便讓用戶端或是其他應用程式伺服器,可以連接存取這個叢集架構下的共用儲存區。在「角色」頁面的「動作」窗格中點選「設定角色」。如圖14所示,接著跳出「選取角色」頁面,先選取「檔案伺服器」再按下〔下一步〕按鈕。

圖14  選取角色。

如圖15所示,在「檔案伺服器類型」頁面內,有「一般用途的檔案伺服器」以及「用於應用程式資料的向外延展檔案伺服器」兩個選項。

圖15  選擇檔案伺服器類型。

對於純粹的檔案伺服器功能之使用,前者是最佳的選擇,因為它支援重複資料刪除技術、檔案伺服器資源管理員、NFS通訊協定、DFS複寫等等,而在叢集與延展式複寫功能的加持下,更是能夠徹底實踐本地端與異地端的熱備援機制。至於後者,則適用於像是前端Hyper-V或SQL Server等等支援它的平台。

切換至「用戶端存取點」頁面後,再為這個叢集的檔案伺服器設定一個存取點名稱以及兩個IP位址,如圖16所示,其中存取點名稱設定為「SR-CLU-FS」,如此便可以讓位於兩個不同站台網路中的用戶端與伺服器,連線存取到這個叢集的檔案共用資源。按下〔下一步〕按鈕,繼續設定。

圖16  設定用戶端存取點。

如圖17所示,接著在「選取存放裝置」頁面中勾選後續將用來存放檔案資料的叢集磁碟,它同樣也會是後續建立複寫時的資料磁碟,而不要勾選到後續將用來存放複寫記錄檔的叢集磁碟。然後,按下〔下一步〕按鈕完成設定。

圖17  選取存放裝置。

如圖18所示,來到「摘要」頁面,就可以檢視前面步驟中所完成的各項設定值,若想要查看更完整的報告,可以進一步按下〔檢視報告〕按鈕。最後,按下〔完成〕按鈕。

圖18  完成角色設定。

完成容錯移轉叢集中的檔案伺服器角色設定之後,網域內的DNS服務將會如圖19所示自動新增一筆相對的A記錄(SR-CLU-FS)設定,以便讓用戶端與其他伺服器能夠解析到此主機名稱。緊接著,開啟「Active Directory使用和電腦」介面,切換至如圖20所示「Computers」容器頁面中,將可以看到系統所自動建立一個電腦物件(SR-CLU-FS),而且在描述中也有特別說明是容錯移轉叢集虛擬網路名稱的帳戶。

圖19  查看DNS記錄。
圖20  查看網域電腦清單。

待續

由於篇幅有限,下集文章再繼續介紹更多的實作內容,包括如何建立檔案叢集伺服器共用、設定延展式叢集站台感知、建立延展式叢集複寫,以及怎樣管理延展式叢集複寫。

<本文作者:顧武雄, Microsoft MVP 2004-2016、MCITP與MCTS認證專家、台灣微軟Technet、TechDays、Webcast、MVA特約資深顧問講師、VMware vExpert 2016-217、IBM  Unified Communications/Notes/Domino/Connections Certified。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!