︿
Top

網管人雜誌

本文刊載於 網管人雜誌第 141 期 - 2017 年 10 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。





文章目錄

前言
容錯移轉叢集新功能
          滾動式升級(Rolling Upgrade)
          雲端見證(Cloud Witness)
          健康服務(Health Service)
          容錯網域感知(Fault Domain Awareness)
          VM 虛擬主機負載平衡(VM Load Balancing)
實戰 – 雲端見證
實戰 – VM 虛擬主機負載平衡
          負載平衡模式 – 新叢集節點加入
          負載平衡模式 – 自動負載平衡
結語





前言

於去年 2016 年 10 月發佈的新一代 Windows Server 2016 雲端作業系統中,已經帶給大家許多亮眼的新增特色功能,例如,S2D 軟體定義儲存、SDN 軟體定義網路、Container 容器技術……等。同時,為了因應雲端快速變化的趨勢,過往推出大版本的更新方式已經逐漸過時,所以從 Windows 10 及 Windows Server 2016 版本開始採用定期更新的方式,為使用者、開發人員、IT 管理人員帶來新的操作體驗。

目前,開發代號 RS(RedStone)在日前 2017 年 7 月 15 日已經發佈最新更新 RS3 版本,那麼我們來快速預覽 Windows Server Insider Preview Build 16237(RS3)版本中,分別針對使用者、開發人員、IT 管理人員提供哪些新增特色功能:

  • 最佳化 Nano Server 容器映像檔: .Net 團隊提供 .Net Core 2.0 及 Nano Server 最佳化容器映像檔,除了可以在 Windows Insider Docker Hub Repo 中下載取得之外,整體容器映像檔佔用的儲存空間也縮小超過 20 %。同時,支援最新 PowerShell 6.0 指令碼環境、掛載 SMB 磁碟區、名稱管道對應、運作效能增強……等。此外,在網路功能方面也與 K8S(Kubernetes)協同運作。
  • 預設停用 SMB v1: 2017 年 5 月爆發的 WannaCry 勒索軟體事件,利用 NSA 所發展的攻擊工具 EternalBlus,打造專門攻擊 Windows SMB 服務漏洞的勒索軟體,並且迅速擴散全球上百多個國家遍及 80 多萬台主機。雖然,微軟在 3 月份便已經修補此漏洞,但許多個人和企業及組織並未及時更新才傳出重大災情,因此在新版 RS3 當中預設將直接停用 SMB v1 系統功能及相關服務。
  • ReFS 支援重複資料刪除: 在目前的 Windows Server 2016 作業系統版本中,倘若 IT 管理人員需要使用重複資料刪除功能時,僅能針對「NTFS」檔案系統的磁碟區啟用此功能。現在,新版 RS3 當中讓「ReFS」檔案系統的磁碟區也能支援重複資料刪除技術。
  • 支援新式 SCM 儲存裝置: 目前企業及組織的主流應用中,倘若需要超大儲存空間便採用傳統 HDD 機械式硬碟,但缺點就是 IOPS 儲存效能表現太差,倘若需要快速及高 IOPS 儲存效能時則採用 NVMe 快閃儲存或 SSD 固態硬碟,但缺點為價格太昂貴且有使用壽命的問題。現在,新一代的 SCM(Storage Class Memory)儲存裝置能夠提供相同的高 IOPS 儲存效能,同時耐用度與目前主流的 MLC NAND 快閃儲存相較下提升 10 倍。在新版 RS3 當中已經支援此新式儲存裝置,並可以整合至 S2D 軟體定義儲存技術中。
  • 傳遞主機電力狀態: 在 PowerShell 中新增 Set-VM 指令參數 -BatteryPassthroughEnabled,可以讓 Hyper-V 虛擬化平台中的 VM 虛擬主機,感知到 Hyper-V 主機的電力狀態。值得注意的是,必須採用 8.2 版本的 VM 虛擬主機才支援此新增特色功能。
  • 運作 VM 於 NVDIMM 中: 當 IT 管理人員希望 VM 虛擬主機,能夠獲得最低延遲時間最高運算效能時,只要在 Hyper-V 虛擬化平台中採用支援的 NVDIMM,那麼 IT 管理人員便可以啟用 vPMEM(Virtualized Persistent Memory)機制,為 VM 虛擬主機新增 vPMEM Controller 之後,即可為 VM 虛擬主機建立 .vhdpmem 虛擬磁碟並運作在高速的 NVDIMM 當中。

圖 1、半導體儲存階層示意圖





容錯移轉叢集新功能

雖然,新版 Windows Server 2016 RS3 帶來許多新增特色功能,然而對於追求穩定營運的企業及組織來說,或許可以先應用到測試/研發環境當中為企業及組織的技術藍圖鋪路,但在營運環境中則需要持續穩定且高可用性的特色功能,例如,Windows Server 容錯移轉叢集。

那麼,我們來看看 Windows Server 2016 容錯移轉叢集中,新增哪些特色功能可以有效幫助 IT 管理人員管理企業及組織的資料中心:



滾動式升級(Rolling Upgrade)

在企業及組織的資料中心內,主流的 Windows Server 作業系統版本相信是 Windows Server 2012 / 2012 R2,並且也已經在容錯移轉叢集中建立許多高可用性角色及服務。那麼,是否有方式可以在沒有任何停機事件發生的情況下,將容錯移轉叢集及叢集節點主機升級至新一代的 Windows Server 2016? 此時,便可以透過「容錯移轉叢集滾動式升級」(Cluster OS Rolling Upgrade)機制達成。

簡單來說,不同層級的容錯移轉叢集具備不同的特色功能,在 Windows Server 2012 R2 環境所建構的容錯移轉叢集,其容錯移轉叢集功能等級為「8」,而新一代 Windows Server 2016 容錯移轉叢集功能等級為「9」

因此,當容錯移轉叢集中叢集節點為 Windows Server 2012 R2,以及 Windows Server 2016 混合並存的環境時,請先不要急著升級容錯移轉叢集功能等級,必須等到容錯移轉叢集中「所有」叢集節點主機,都採用 Windows Server 2016 版本時才進行升級容錯移轉叢集功能等級的動作。

圖 2、容錯移轉叢集滾動式升級流程示意圖



雲端見證(Cloud Witness)

在過去 Windows Server 容錯移轉叢集運作架構中,仲裁機制僅支援「磁碟」(Disk)「檔案共享」(File Share)這 2 種方式。

雖然,從 Windows Server 2012 作業系統版本開始,容錯移轉叢集運作架構中新增「動態仲裁」(Dynamic Quorum)投票機制特色功能,它可以避免因為叢集節點主機離線導致叢集發生癱瘓的問題,動態仲裁具備下列功能特色:

  • 當叢集節點主機離線時,叢集中的仲裁票數將會動態進行改變。
  • 允許叢集中超過 50 % 的叢集節點主機離線,也不會導致容錯移轉叢集發生癱瘓的情況。


在 Windows Server 2012 R2 作業系統版本中,更將本來動態仲裁的功能增強後更名為「動態見證」(Dynamic Witness),避免叢集節點主機離線、見證資源離線或失敗……等叢集資源故障損壞,而導致容錯移轉叢集發生癱瘓的問題,動態見證具備下列功能特色:

  • 動態見證的叢集節點投票數,將會自動化進行動態調整以便簡化整體配置。
  • 在以往的容錯移轉叢集當中,當叢集節點為「偶數」時必須要建置「仲裁(Quorum)或稱見證(Witness)」,而叢集節點為「奇數」時則無須建置。現在,不管叢集節點數量為何都「應該」要建置見證,當叢集節點為「偶數」時見證會得到 1 票,當叢集節點為「奇數」時見證則沒有投票權(也就是 0 票)。同時,管理人員可以隨時使用 PowerShell 指令【(Get-Cluster).WitnessDynamicWeight】 指令,查看見證的投票數情況(0 沒有票、1 有票)
  • 當見證資源發生「離線」(Offline)或「失敗」(Failed)的故障情況時,將會喪失投票權(也就是 0 票)。此運作機制設計的原因在於,降低以往容錯移轉叢集對於見證資源的過度依賴,避免因為見證資源發生失敗進而影響到容錯移轉叢集的穩定性。
  • 改善以往容錯移轉叢集環境中,主要及備用站台發生重大災難事件時,雖然其中一邊的站台可能擁有 50% 的票數,但卻導致容錯移轉叢集環境發生「腦裂」(Split-Brain)情況的困擾。

有關叢集節點主機離線導致叢集發生癱瘓的詳細資訊,請參考 Windows Server 2012 R2 Evaluation GuideWindows Server 2012 R2 Technical Overview 文件。
圖 3、動態仲裁運作架構示意圖

因此,考量系統高可用性及穩定性建議 IT 管理人員仍須組態配置見證機制,以便建構出來的容錯移轉叢集運作環境能夠因應更大的災難故障事件。

此外,從 Windows Server 2016 作業系統版本開始,建構的容錯移轉叢集運作環境支援第 3 種仲裁機制儲存資源。現在,IT 管理人員可以將由 Windows Server 2016 所建構的容錯移轉叢集運作環境,將仲裁(Quorum)或稱見證(Witness)儲存資源,指向至 Microsoft Azure 儲存體當中。

圖 4、容錯移轉叢集雲端見證運作架構示意圖



健康服務(Health Service)

透過 Windows Server 2016 容錯移轉叢集中的健康服務特色功能,可以幫助 IT 管理人員輕鬆監控 S2D 軟體定義儲存運作環境的健康狀態,包括,運作資訊,包括,儲存效能 IOPS、Storage Pool 儲存空間、CPU 處理器使用率、記憶體使用率……等硬體資源使用情況。

只要在 PowerShell 指令視窗中,執行【Get-StorageSubSystem Cluster* | Get-StorageHealthReport】指令,IT 管理人員便可以立即看到 S2D 叢集的健康情況及運作資訊。

圖 5、輕鬆監控 S2D 軟體定義儲存運作環境的健康狀態



容錯網域感知(Fault Domain Awareness)

在過去 Windows Server 容錯移轉叢集運作架構中,一律以所有叢集節點主機的可用性來確保營運服務的高可用性。現在,透過 Windows Server 2016 當中的容錯網域感知功能,可以在容錯移轉叢集中定義更細緻的硬體元件項目,包括,站台(Site)、機櫃(Rack)、機箱(Chassis)、叢集節點主機(Node)等 4 個項目。

圖 6、容錯網域感知運作架構示意圖



VM 虛擬主機負載平衡(VM Load Balancing)

在過去 Windows Server 2012 R2 容錯移轉叢集環境中,必須搭配 SCVMM(System Center Virtual Machine Manager)當中的「Dynamic Optimization」特色功能,才能夠達成在容錯移轉叢集中運作的 VM 虛擬主機工作,自動化負載平衡的運作機制。現在,新版 Windows Server 2016 容錯移轉叢集環境中,便原生內建自動化「VM 虛擬主機負載平衡」(VM Load Balancing)運作機制。

圖 7、VM 虛擬主機負載平衡機制運作示意圖





實戰 – 雲端見證

當容錯移轉叢集中所有的叢集節點主機都能夠存取網際網路時,IT 管理人員可以考慮採用「雲端見證」(Cloud Witness)機制。當然,倘若運作環境中叢集節點主機「無法」存取網際網路時,請採用剛才磁碟或檔案共用見證機制即可。下列為 IT 管理人員在規劃雲端見證時的注意事項:

  • 容錯移轉叢集並不會儲存產生的存取金鑰,而是產生安全的 SAS(Shared Access Security)權杖。
  • 雲端見證採用 HTTPs REST 方式,在叢集節點主機及 Microsoft Azure 儲存體帳戶之間進行溝通。因此,請確保叢集節點主機防火牆規則允許 HTTPs(Port 443)網路流量能夠通過,企業及組織的硬體防火牆或 Proxy 代理伺服器也必須確保 HTTPs(Port 443)網路流量能夠通過。


在開始使用 Microsoft Azure 公有雲資源之前,可以透過 Microsoft Azure Speed Test 網站,確認企業及組織內叢集節點主機存取網際網路的連線頻寬,與 Microsoft Azure 全球資料中心之間哪個區域的資料中心距離最近,以便屆時能夠獲得最低的網路延遲時間。舉例來說,目前資料中心內的叢集節點主機與 Microsoft Azure 全球資料中心「東亞」(East Asia)距離最近,平均的網路延遲時間只有 52 ms

圖 8、確認叢集節點主機與哪個 Microsoft Azure 資料中心距離最近

建立雲端見證機制必須要先建立「Microsoft Azure 儲存體帳戶」,請登入 Microsoft AzurePortal 後,依序點選「新增> Storage > Storageaccount」項目,在建立儲存體帳戶視窗中依序填入或選擇相關項目:

  • 名稱: wsfcwitness
  • 部署模型: Resourcemanager
  • 帳戶種類: 一般用途
  • 效能: 標準
  • 複寫: 本地備援儲存體(LRS)
  • 資源群組: Asia-East-RG
  • 位置: 東亞

請注意,在帳戶種類下拉式選單中請選擇「一般用途」項目,因為「Blob 儲存體」項目並不支援 Cloud Witness 功能。在效能的部分請採「標準」項目,因為選擇「進階」將會採用 Azure Premium Storage,但尚未支援 Cloud Witness 功能。最後,在複寫的部分因為雲端見證的仲裁機制,在讀取資料時必須要確保資料的一致性,所以必須選擇「本地備援儲存體(LRS)」項目。
圖 9、建立雲端見證用途的 Microsoft Azure 儲存體帳戶

順利建立 Microsoft Azure 儲存體帳戶之後,系統便會自動產生 2 把金鑰分別是「主要及次要」(Key1、Key2)存取金鑰。因為我們是首次設定雲端見證,所以稍後在設定雲端見證時將會採用「主要存取金鑰」(Primary Access Key)。請按下 Key1 存取金鑰的複製鈕以便複製內容,稍後建立雲端見證時將會使用到。

圖 10、複製 Key1 存取金鑰內容

接著,切換至容錯移轉叢集環境中開啟容錯移轉叢集管理員,依序點選「wsfc.weithenn.org > 其他動作 > 設定叢集仲裁設定 > 選取仲裁見證 > 設定雲端見證」,在設定雲端見證視窗中,請填入 Microsoft Azure 儲存體帳戶名稱此實作環境為「wsfcwitness」,然後填入 Azure 儲存體帳戶的主要存取金鑰(Key1)內容,而 Azure 服務端點則採用預設的 core.windows.net 即可。

圖 11、填入 Microsoft Azure 儲存體帳戶名稱及存取金鑰資訊

成功建立雲端見證機制後可以按下「檢視報告」鈕,再次確認組態設定雲端見證的動作是否順利完成。確認雲端見證順利建立後,按下完成鈕結束雲端見證組態設定作業。

圖 12、確認組態設定雲端見證的動作是否順利完成

完成雲端見證組態設定的動作後,可以看到在容錯移轉叢集管理員視窗中叢集摘要中的見證欄位,將從先前的「無」變更為「雲端見證」,並且在叢集核心資源中也多出「雲端見證」項目。

圖 13、雲端見證組態設定完成

現在,切換到「節點」項目可以看到原先叢集移轉叢集透過動態仲裁運作機制,會有 1 台叢集節點主機的票數為「0」。現在,雲端見證機制建立完成後所有的叢集節點主機票數皆為「1」。此外,當雲端見證機制建立完成後,在 Microsoft Azure 儲存體帳戶中將會產生名稱為「msft-cloud-witness」的容器,並且在該容器內會產生「1 筆」唯一識別碼 ID 記錄同時可以看到該筆記錄的 Blob 檔案大小。
倘若,在同一個 Microsoft Azure 儲存體帳戶為多個容錯移轉叢集建立雲端見證時,便會在 msft-cloud-witness 容器中看到「多筆」唯一識別碼 ID 記錄。
圖 14、雲端見證機制建立後,自動產生 msft-cloud-witness 容器及 Blob 檔案





實戰 – VM 虛擬主機負載平衡

現在,新版 Windows Server 2016 容錯移轉叢集環境中,已經原生內建自動化「VM 虛擬主機負載平衡」(VM Load Balancing)運作機制,並且具備下列特色功能:

  • 零停機解決方案: 透過 Hyper-V 內建的 Live Migration 機制,針對 VM 虛擬主機進行線上不中斷的即時遷移作業。
  • 無縫與容錯移轉叢集進階功能整合: 能夠與容錯移轉叢集中其它進階功能,例如,Anti-Affinity、Fault Domains……等機制無縫整合並協同運作。
  • 公平自動化負載平衡觸發機制: 針對容錯移轉叢集中,所有叢集節點主機的「CPU」及「記憶體」運算資源使用率,當成是自動化負載平衡機制的觸發標的門檻值。
  • 彈性觸發機制: 可以採用多種方式及門檻值決定哪時觸發自動化負載平衡機制。


簡單來說,倘若容錯移轉叢集運作環境中有整合 SCVMM 管理平台的話,那麼仍直接使用 Dynamic Optimization 負載平衡機制即可。倘若,運作環境中沒有 SCVMM 管理平台的話則使用 VM 虛擬主機負載平衡運作機制。那麼,當 2 種機制發生衝突時叢集會採用哪種負載平衡機制? 預設情況下,一旦叢集啟用 Dynamic Optimization 機制之後,便會自動「停用」VM 虛擬主機負載平衡運作機制。



負載平衡模式 – 新叢集節點加入

當容錯移轉叢集加入新的叢集節點主機時,VM 虛擬主機負載平衡運作機制將會依照下列順序,自動將現有叢集節點主機的工作負載移轉至新加入的叢集節點主機:

  • 評估容錯移轉叢集中所有叢集節點主機的工作負載。
  • 辨別哪些叢集節點主機的工作負載超過門檻值。
  • 辨別所有叢集節點主機工作負載的沈重程度,以便稍後優先把工作負載移轉至新加入的叢集節點主機中。
  • 透過 Hyper-V Live Migration 機制,將線上運作中的 VM 虛擬主機即時遷移至新加入的叢集節點主機中。

圖 15、新叢集節點主機加入負載平衡模式運作示意圖



負載平衡模式 – 自動負載平衡

在目前的容錯移轉叢集中,週期性的評估叢集節點主機的工作負載後,針對「CPU」「記憶體」等運算資源使用率進行工作負載自動化平衡的動作。
預設情況下,每隔「30 分鐘」便會進行叢集節點主機的工作負載平衡作業。

VM 虛擬主機負載平衡運作機制,將會依照下列順序進行評估叢集節點主機工作負載的動作:
評估容錯移轉叢集中所有叢集節點主機的工作負載。

  • 辨別哪些叢集節點主機的工作負載超過門檻值,哪些叢集節點主機的工作負載在門檻值以下。
  • 辨別所有叢集節點主機工作負載的沈重程度,以便稍後優先把工作負載沈重的叢集節點主機,其上運作的 VM 虛擬主機移轉至工作負載輕微的叢集節點主機中。
  • 透過 Hyper-V Live Migration 機制,將工作負載沈重叢集節點主機上的 VM 虛擬主機,即時遷移至工作負載輕微的叢集節點主機中。

圖 16、現有叢集節點主機自動化負載平衡模式運作示意圖

請在容錯移轉叢集環境中開啟容錯移轉叢集管理員,依序點選「wsfc.weithenn.org > 內容 > 平衡器」後,可以看到有「模式」「加強」2 個組態設定區塊,下列便是每個選項的功能說明:

模式

  • 在節點加入時使用該節點進行負載平衡: 只有當容錯移轉叢集中新加入叢集節點主機時,才進行負載平衡作業。
  • 一律進行負載平衡: 當容錯移轉叢集中新加入叢集節點主機時,以及預設每隔 30 分鐘評估叢集節點主機工作負載後,進行負載平衡作業。

加強

  • 高: 每隔 30 分鐘評估叢集節點主機工作負載後,當 CPU 或記憶體等運算資源使用率超過「60 %」時,便執行負載平衡作業。
  • 中: 每隔 30 分鐘評估叢集節點主機工作負載後,當 CPU 或記憶體等運算資源使用率超過「70 %」時,便執行負載平衡作業。
  • 低: 每隔 30 分鐘評估叢集節點主機工作負載後,當 CPU 或記憶體等運算資源使用率超過「80 %」時,便執行負載平衡作業。

圖 17、組態設定 VM 虛擬主機負載平衡運作機制設定值





結語

透過本文的說明及實作演練,相信讀者已經完全了解雲端見證及 VM 虛擬主機負載平衡這 2 項機制,確實可以幫助企業及組織降低維運成本,同時也能降低 IT 管理人員的維運負擔。