Server 2016

配置網路及共用儲存區 新舊混合運行漸進自動更新

叢集伺服器系統升級實戰 直上WS 2016免停機(下)

2019-05-01
以往令IT管理人員心驚膽戰的叢集升級作業,現在透過漸進式的升級機制,就能夠使Windows Server 2012 R2的叢集在不停止服務運作的情況下輕鬆升級至Windows Server 2016。延續上集的實際操作示範,這裡將接著說明後續的安裝設定程序,讓升級作業確實完成。

 

上集文章內容一開始先介紹了Windows Server 2016有那些的新功能,讓管理人員樂於從Windows Server 2012 R2進行叢集升級,而為了安全無痛地完成整個升級計畫,必須做好叢集伺服器網路配置,然後再建置叢集共用儲存區,而本次的內容緊接著介紹後續的實戰操作方式。

新舊叢集伺服器的混合運行

新版Windows Server 2016的容錯移轉叢集管理員,其介面操作方式與舊版的Windows Server 2012 R2相差無異,因此在建立一個新叢集的操作講解上,這裡將以Windows Server 2012 R2為例,主要目的在於先產生一個舊版叢集的架構,並且以IIS網站來做為叢集容錯移轉的應用程式。

等到確認一切運行正常後,接著加入Windows Server 2016伺服器於舊叢集的架構內,然後再回到新版「容錯移轉叢集管理員」,並完成新版本叢集持續可用性的全面升級。如圖1所示,首先在「動作」窗格中點選「驗證設定」。

圖1  容錯移轉叢集管理員。

在「選取伺服器或叢集」頁面內,如圖2所示直接按下〔瀏覽〕按鈕,加入已準備好要成為叢集節點伺服器的主機。設定完成,再按下〔下一步〕按鈕。

圖2  選取伺服器或叢集。

來到「測試選項」頁面,選擇「執行所有測試」或是「僅執行我選取的測試」,建議選擇前者,至於後者較適用於一些進階的架構需求,像是整合Storage Replica或是新舊混合的叢集架構中。按下〔下一步〕按鈕,繼續後面的設定。

在「確認」頁面內確定前面步驟的各項設定無誤後,按下〔下一步〕按鈕,即可開始執行驗證作業。一旦全部通過驗證,將會類似圖3所示的顯示結果,內容中不會有任何警示或錯誤提示訊息。若有發生警示或錯誤,可按下〔檢視報告〕按鈕來查看發生的原因。緊接著,勾選「立即使用經過驗證的節點來建立叢集」並按下〔完成〕按鈕。

圖3  驗證摘要資訊。

開啟建立叢集精靈後,在「用於管理叢集的存取點」頁面中,如圖4所示輸入新叢集的名稱以及對應的IP位址,其中名稱的輸入不得超過15個字元,因為這是NetBIOS的限制,然後再按下〔下一步〕按鈕。

圖4  設定用於管理叢集的存取點。

然後,在「確認」頁面中將確認各項設定值是否正確。確認無誤後,建議勾選「新增適合的儲存裝置到叢集」設定,並按下〔下一步〕按鈕。

最後,在「摘要」頁面中若沒有出現錯誤訊息,就表示成功建立叢集。若出現相關的警示或錯誤訊息,按下〔檢視報告〕按鈕來查看完整的報告敘述。最後按下〔完成〕按鈕,完成所有步驟。

回到「容錯移轉叢集管理員」介面的首頁,就可以檢視現行叢集的清單以及相對節點的數量統計。進一步點選至「節點」頁面,則可以看到每一個節點的執行狀態,必要時還可以隨時加入新的叢集節點。而在「存放裝置」→「磁碟」頁面中,目前已自動加入的叢集磁碟清單以及它們各自的用途、狀態、擁有者節點、容量等資訊。

完成容錯移轉叢集的基本建置後,接下來可以結合一個應用系統來試試其容錯移轉的能力,例如選擇設定檔案伺服器角色、Hyper-V或是SQL Server等等。不過,在此選擇使用IIS網站來進行測試。

確認已經在每一個叢集節點上安裝IIS角色後,就可以將IIS的預設首頁程式複製到叢集磁碟的路徑下,例如「X:\Web」。然後開啟IIS管理員介面,並且在預設的網站節點中,如圖5所示點選「動作」窗格內的「進階設定」連結。

圖5  使用IIS管理員。

如圖6所示,將開啟在「進階設定」頁面,修改實體路徑至叢集磁碟的IIS網站資料夾,而且每一個叢集節點的IIS都必須設定。

圖6  進行IIS網站進階設定。

接下來,透過用戶端的網頁瀏覽器,確定目前叢集的IIS網站可以進行連線,以本範例來說就是「http://cluster01.lab03.com」。確認能夠正常連線後,再將目前叢集磁碟的擁有者節點伺服器進行關機。如圖7所示,便會發現其中一部叢集節點伺服器已呈現「非執行中」的狀態。

圖7  叢集節點停機測試。

確認已將擁有者節點的伺服器停機後,接著同樣開啟網頁瀏覽器,來測試叢集的IIS網站,是否有如圖8所示一般回應了預設的IIS首頁。

圖8  IIS網站叢集容錯測試。

一旦確認目前擁有兩部伺服器節點的Windows Server 2012 R2叢集運作正常後,接著就來加入第三部的伺服器節點,不過這回要安裝的是Windows Server 2016版本。如圖9所示,在此主機上新增安裝「容錯移轉叢集」功能。

圖9  新增Windows Server 2016功能。

安裝好容錯移轉叢集的功能後,還必須到「控制台」中開啟「iSCSI啟動器」,完成前面所講解過的iSCSI Target連線,並做好叢集磁碟代號的設定。

再回到「容錯移轉叢集管理員」介面,點選至「節點」頁面並點選「動作」窗格中的「新增節點」。如圖10所示,開啟「選取伺服器」頁面後按一下〔瀏覽〕按鈕,加入第三部新的Windows Server 2016伺服器。按下〔下一步〕按鈕,然後在「驗證警告」頁面中選擇不想執行驗證測試即可。

圖10  新增節點精靈。

除了上述做法之外,若是選擇透過「驗證設定」來進行新叢集節點的新增會如何呢?

首先,在「測試選項」頁面中,選取「執行所有測試」。接著,在「檢視存放裝置狀態」頁面中,如圖11所示勾選現行的所有叢集磁碟,必須注意的是,如果已經是某些叢集角色使用中的叢集共用磁碟區,先暫時停止這些角色。按下〔下一步〕按鈕,直到完成測試。

圖11  檢視存放裝置狀態。

如圖12所示,在完成測試的「摘要」頁面中,一定會看到出現了「驗證作業系統版本」的失敗訊息。再按下〔檢視報告〕按鈕,查看更完整的驗證報告內容。

圖12  驗證摘要資訊。

開啟檢視報告的網頁內容後,再點選「驗證作業系統版本」超連結,如圖13所示,便會看到這裡所準備的Windows Server 2016標準版,與現行的兩部Windows Server 2012 R2伺服器版本不一致。理論上,在這種情況下,運作上肯定會有問題,不過由於Windows Server 2016已支援與舊版Windows Server 2012 R2的混合式叢集架構,所以只有一些新版叢集才有的功能無法使用。

圖13  檢視報告。

在省略驗證叢集中的測試後,便可以成功加入Windows Server 2016的叢集節點(IIS03)。圖14所示是正處於混合式架構的容錯移轉叢集,後續必須將叢集中的Windows Server 2012 R2伺服器節點(IIS01與IIS02),以及叢集功能等級通通逐一升級成最新的版本。

圖14  完成新舊版叢集主機混合運行。

還記得,在舊版Windows Server 2012 R2的叢集架構中,將兩部叢集主機的IIS網站應用程式路徑指向「X:\Web」,如今新增了第三部的Windows Server 2016 IIS叢集主機,為了讓這個新主機也能夠容錯IIS網站的運行,因此除了需要安裝IIS伺服器角色外,還得在叢集的資料磁碟管理中,如圖15所示點選【移動可用的存放裝置】選單中的【選取節點】子選項,然後將它指定切換到這部新的IIS叢集主機。

圖15  移動可用的存放裝置。

最後,同樣完成網站應用程式路徑的變更(X:\Web),並且透過網頁瀏覽器測試,若沒有問題即可。

前面提到,叢集功能等級這個專有名詞,它關係到現行叢集運作所能夠發揮的功能程度,也就是說,即便叢集中的所有伺服器節點都已經升級到Windows Server 2016,若沒有升級叢集功能等級,一樣無法順利執行這些新功能。因此,在開始進行全面升級之前,先執行「Get-Cluster | Select ClusterFunctionalLevel」命令,來查看升級前的叢集功能等級為何。

完成叢集升級作業

在確認新版的Windows Server 2016節點(IIS03)已經加入叢集後,接下來就要陸續完成兩個舊版Windows Server 2012 R2節點(IIS01與IIS02)的升級。

如圖16所示,先針對IIS02進行升級,在選取後按下滑鼠右鍵,然後依序點選快速選單中的【暫停】→【清空角色】。執行後,該節點將會進入「已暫停」狀態。

圖16  叢集節點右鍵動作。

緊接著,同樣針對此節點按下滑鼠右鍵來開啟快速選單,依序點選【其他動作】→【撤出】選項。確認撤出後,該節點(IIS02)便會消失在此節點頁面內,必須等到將它的作業系統升級後,再重新加入此叢集。

接下來,讓Windows Server 2016的安裝映像檔完成在舊版節點的掛載,並執行安裝程式。開啟後,首先在「取得重要更新」頁面中,勾選「下載並安裝更新」,而在「選擇要保留的項目」頁面中,則選取「保留個人檔案與App」,最後在按下〔下一步〕按鈕的過程中,可能會出現如圖17所示的提示訊息,按下〔確認〕按鈕來開始完成就地升級作業。

圖17  執行就地升級作業。

請注意!Windows Server 2016同樣有Standard與Datacenter版本之分,而叢集中的伺服器節點也必須採用相同的版本類型,如此才能共同運行所支援的功能。

完成舊版叢集節點作業系統的升級後,便可透過「新增節點」的方式來重新加入原有的叢集。一旦叢集中的所有節點都是Windows Server 2016,就能夠改用Windows Server 2016版本的「容錯移轉叢集管理員」介面來連線管理此叢集。如圖18所示,在按下滑鼠右鍵後,點選快速選單中的【連線到叢集】。

圖18  新版容錯移轉叢集管理員。

接著,在「選取叢集」頁面中輸入原有叢集的完整名稱並按下〔確定〕按鈕。圖19所示是成功完成叢集中所有節點升級的新版管理介面範例,乍看之下似乎與前一版的介面設計沒什麼不同,但其實這裡面有一些細微的功能操作與設計,是在新版架構中才會出現的。

圖19  恢復完整叢集主機架構。

為了讓所有升級上來的叢集都能夠使用新版叢集功能,如圖20所示執行「Update-ClusterFunctionalLevel」命令,完成叢集功能等級的升級。成功升級後,當再次執行「Get-Cluster | Select ClusterFunctionalLevel」命令時,其功能等級已經由「8」更新為「9」,這表示已經完成了此叢集的完整升級作業。

圖20  完成叢集功能等級升級。

叢集主機自動化更新管理

叢集的運行和一般Windows Server的主機一樣,也必須經常下載與安裝最新的Windows更新,以確保系統本身的安全性以及現行功能的改善,只不過以往必須自行手動來將正在擁有者節點執行中的角色或虛擬機器先遷移至其他可用節點,等到完成更新後再進行交換。

然而,當叢集伺服器的節點與角色相當多時,這項管理作業的做法就會變得非常沒有效率。為此,從Windows Server 2012版本開始,便提供了一項名為CAU(Cluster-Aware Updating)的新功能,也就是讓整個叢集的節點伺服器,透過預先設定好的排程等條件,全自動進行輪替的更新作業,而此功能也在Windows Server 2016中完成了一些改良設計。只要從「伺服器管理員」介面中,點選「感知叢集更新」即可。

開啟後,如圖21所示輸入所要管理的容錯移轉叢集的完整名稱。成功連線後,點選「設定叢集自行更新選項」繼續。

圖21  叢集感知更新。

如圖22所示,在「指定自行更新排程」頁面中,可以自訂自行更新的頻率。以每月設定為例,可以先設定正式啟動的日期,再選擇要在當日執行的時間,最後決定當週的日次以及當月日期的發生次數即可。設定完畢,按下〔下一步〕按鈕繼續。

圖22  指定自行更新排程。

在「進階選項」頁面中,原則上是不需要做修改,除非希望系統能夠在遭遇特殊狀況進行特別的處理。舉例來說,若想要求所有伺服器節點都處於線上狀態才可以進行Windows Update作業,就必須勾選「RequireAllNodesOnline」選項。

按下〔下一步〕按鈕,來到「其他選項」頁面,如圖23所示建議勾選「依照接收重要更新的方式提供建議的更新」設定,以便獲得最完整的更新。再按下〔下一步〕按鈕至「確認」頁面中,按下〔套用〕按鈕就完成設定。

圖23  其他選項設定。

接下來,建議執行一下「分析叢集更新整備」,以便在分析結果中查看是否有無法正常運行叢集感知更新的伺服器節點。

在此範例的分析結果中,出現一個關於Proxy設定的警示訊息,其實這只有在網路內有強制要求使用Proxy連線時,才需要為每一個伺服器節點設定Proxy組態,而設定的方式必須透過「netsh winhttp set proxy」相關命令參數,在沒有Proxy連線要求的網路中,此警示是可以忽略的。

在確認了叢集更新整備的分析結果無誤後,立即手動進行叢集感知更新測試。先按下〔預覽此叢集的更新〕按鈕,如圖24所示預覽準備需要進行的伺服器節點與更新項目清單。接著,按下〔產生更新預覽清單〕按鈕繼續。緊接著點選「套用更新至此叢集」,開啟更新叢集確認頁面,按下〔更新〕按鈕。隨後,在主頁面中就能夠看到每個叢集節點即時的更新狀態。此外,還能夠進一步檢視到進行更新中的記錄檔,以及上次的叢集更新摘要之內容,若發生有節點伺服器更新失敗,也能夠清楚查看到失敗的原因與時間點。

圖24  預覽此叢集的更新。

對於叢集各節點伺服器所完成的更新,想要知道的可能不只是更新成功與否,而是更進一步知道所更新的項目,究竟為系統解決了哪一些Bug或是安全性方面的問題。為此,只要點選「產生過去更新執行的報告」,來開啟如圖25所示的設定頁面,然後就可以根據所選擇的日期與更新選項,按下〔產生報告〕按鈕並進行報告的匯出。圖26所示是一個典型的更新執行報告範例,在此可以查詢每一個節點所成功更新的項目標題,以及查看到完整的更新描述。

圖25  產生更新執行報告。
圖26  匯出報告範例。

關於叢集感知更新的執行,如圖27所示系統會自動在DNS伺服器中建立每個節點伺服器相對應的CAUClustmky的記錄。為確保叢集感知更新的運行正常,請勿擅自刪除或修改這些記錄。

圖27  檢視DNS記錄。

結語

記得早期版本的Windows Server叢集運作管理,對於負責維護的系統人員來說,就像是在維護一顆不定時的炸彈,彷彿一不小心接觸到它就會引爆,造成企業重要應用系統運行的停擺。還好這樣的恐慌,對於廣泛的IT人員來說,似乎打從Windows Server 2008 R2開始就已經緩和許多了。想想看,叢集的建置不是應該解除IT單位的不安嗎?怎麼會反過來造成許多IT人員的陰影?主要就是因為早期叢集的部署方式,遠比現在的叢集架構設計複雜許多,且底層的硬體設備之穩定性與效能表現更遠遠不及目前的設備。如今架構簡單了,硬體部分也強大許多,即便遭遇整個叢集損毀,在結合虛擬機器與備份的周全之下,IT人員也能夠在極短的時間內讓它們恢復運作。

 

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

 


追蹤我們Featrue us

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

我知道了!