無論哪一種作業系統或應用程式只要牽涉到高可用性(HA),在架構設計上都離不開叢集。過去以Windows Server為基礎的叢集運作只要有升級的需求,整個複雜的升級過程充滿了不確定性的風險,時至今日已經能夠以漸進式的升級機制,在不停止服務運作的情況下將Windows Server 2012 R2的叢集輕鬆升級至Windows Server 2016版本。
話說叢集(Cluster)的架構規劃與建置經驗,資深IT工作者最早是從哪一個版本的Windows Server開始接觸的呢?就筆者個人的經驗來說,應該是從Window 2000 Server。在當時企業IT最常用來結合叢集的應用系統,就是SQL Server 2000和Exchange Server 2000,可是就連一個最基礎的叢集服務的建置也相當不容易,因為它除了相當挑剔伺服器主機的硬體規格外,整個叢集組態的設定過程也非常複雜,直到Windows Server 2008出現後,這些問題才有大幅度的改善。
換句話說,如果第一次接觸Windows Server Cluster的建置,是在Windows Server 2008以後的版本,那麼肯定可以感受到整個建置過程是相當容易的,尤其相較於Linux等異質系統的叢集建置,那更是不在話下。
到了Windows Server 2012 R2的容錯移轉叢集(Failover Clustering),除了更加簡化叢集的建置與管理外,更添加了許多與Hyper-V整合以及運行最佳化方面的新功能,這包括共用虛擬硬碟、主機停機時的線上虛擬機器自動移轉、虛擬機器網路健康偵測、部署已中斷連結Active Directory的叢集、建立動態見證、強制仲裁恢復功能、衝突的50%節點分割功能、設定全域更新管理員模式、關閉叢集節點間通訊的IPsec加密以及提供叢集儀表板。
至於Windows Server 2016,無論是管理介面設計或功能,由於皆是以Windows Server 2012 R2為基礎,因此對於已經接觸過Windows Server 2012 R2的IT工作者來說,可以很輕易地快速上手。然而,它究竟提供了哪些新功能,值得大家將舊版的叢集架構進行升級呢?請參考如下的說明:
‧儲存複寫(Storage Replica):全新以區塊等級(Block-level)的儲存複寫技術,可以完全被實踐在新版叢集的架構內,包括Stretch Cluster與Cluster to Cluster。其複寫方式還支援同步複寫(Synchronous)與非同步複寫(Asynchronous),前者可確保零資料遺失的風險,後者則適合遠距離以及跨地理位置節點的部署需求,但會有部分資料遺失的風險。
‧雲端見證(Cloud Witness):過去可以指定叢集共用磁碟或是SMB共用資料夾來做為儲存叢集仲裁(Quorum)紀錄檔的位置,如今加入了以Azure服務為主雲端共用位置,有助於大型跨國叢集的部署設計。
‧強化虛擬機器恢復機制(Virtual Machine Resiliency):在這個版本中,已加入了對於虛擬機器恢復的等級以及恢復的彈性期功能設定,前者可以協助定義對於短時間發生失敗的處理方式,後者則能夠定義長時間處於獨立運作狀態下的允許條件與規則。
‧改善診斷叢集容錯移轉的功能:想要更進階地診斷容錯移轉叢集的運作紀錄,在這個版本中已經加入更完善的Cluster Log訊息,以及提供一個新的Active Memory Dump類型,讓管理人員能夠抽絲剝繭地找出叢集運行時的細部問題,而不是僅透過傳統的事件紀錄進行檢測。
‧站台感知的容錯移轉機制(Site-aware Failover Clusters):若需要建立橫跨實體Active Directory站台與不同地理位置的容錯移轉叢集,從這個版本開始已經支援。
‧工作群組與多重網域的支援:現在除了可以將叢集下的每個節點伺服器安裝在相同的網域外,也可將它們分散部署在不同的網域,但必須位於相同的Active Directory樹系內。更驚人的是,即便在完全沒有網域的工作群組模式下,也能夠建立容錯移轉叢集。
‧虛擬機器負載平衡:當虛擬機器部署於橫跨於擁有多個節點的叢集架構時,系統可以根據CPU的負載狀況,將負載過重的主機之虛擬機器自動透過Live Migration機制移轉至負載較輕的叢集主機上繼續運行。
‧虛擬機器啟動順序設定:虛擬機器在新版叢集的運行中,目前已經可以自訂啟動的順序,以便讓有相依關係的伺服器陣列架構,能夠先行啟動必須優先完成啟動虛擬機器,例如網域控制站或是後端資料庫服務。
‧簡化SMB多通道與多網路卡的叢集網路管理:新版的容錯移轉叢集不再侷限於單一網路卡所連接的網路,而是開始支援多SMB通道與多網路卡的叢集網路流量運行,讓架構在它之上的叢集應用系統,包括Hyper-V、SQL Server等SMB網路流量負載,能夠自訂所需要的叢集網路連接方式。
既然Windows Server 2016提供了這麼多新功能來大幅改善企業營運總部與分部的IT營運效能,那麼究竟要如何快速進行建置與無痛升級呢?請繼續看以下的介紹。
叢集伺服器網路配置
無論是哪一種叢集系統的建置,最初的準備工作除了作業系統本身必須支援之外,後續準備整合於它的應用系統也必須支援才行。一旦確認上述兩項基礎條件皆符合後,接下來就可以著手準備叢集架構之中網路及共用儲存區這兩項重要資源。
首先在網路的部分,如圖1所示,至少需要讓每一部叢集節點的伺服器都擁有兩個網路連線,一個提供給用戶端或應用系統端存取的網路入口,另一個則僅供叢集內部通訊使用的叢集網路,在此筆者將它分別命名為Public與Private。
|
▲圖1 網路和共用中心。 |
接下來開啟「網路連線」,然後如圖2所示點選【進階】選單中的【進階設定】。必須注意的是,想要讓上排功能表出現的方法,就是按下〔Alt〕鍵。
|
▲圖2 管理網路連線。 |
如圖3所示,在「進階設定」頁面內,調整「連線」區域中的網路連線順序,由上而下分別是「Public」、「Private」以及「遠端存取連線」,如此設定可確保後續叢集進行驗證與建立時系統判斷的正確性,最後按下〔確定〕按鈕。
|
▲圖3 完成進階設定。 |
建置叢集共用儲存區
準備好容錯移轉叢集所需要的網路連線後,接下來要準備的就是給叢集中所有節點伺服器存取的共用儲存區,而準備這個共用儲存區最簡單的作法,就是採用iSCSI Target結合iSCSI Initiator所組合而成的IP SAN架構。
現今建立iSCSI Target共用儲存區的做法非常多,從開源到Windows平台的第三方應用程式都有,但若要簡單又好管理,選擇由Windows Server 2016中內建的最為理想。
如圖4所示,可以到「新增角色及功能」精靈的「伺服器角色」頁面中,依序展開至「檔案和存放服務」→「檔案和iSCSI服務」,並勾選「iSCSI目標伺服器」,然後按下〔下一步〕按鈕完成安裝即可。
|
▲圖4 選取伺服器角色。 |