飛康:詳解Hyper-V環境下的高可用集群
相關統計數據顯示,服務器整合是企業部署虛擬化的主要原因,雖然服務器整合幫助用戶提升了資源利用率,同時獲得了節能及集中管理等種種優勢,但是也帶來了極大的風險。在物理環境中,出于對穩定性和安全性的考慮,一臺服務器通常只執行一個應用程序,一旦服務器發生故障,只會影響這個應用程序所提供的服務;虛擬化之后,多臺應用服務器以虛擬機的形式集中在一臺物理服務器上運行,雖然彼此獨立,但就像“把所有雞蛋放在同一個籃子里”,一旦發生硬件故障,所有虛擬機都會停止運行,換句話說,一臺服務器故障就可能造成大規模的服務癱瘓。
服務器虛擬化廠商都很清楚虛擬化之后的風險,紛紛將縮短停機時間、確保服務器連續性的高可用性視為重點,例如VMware Virtual Infrastructure 3的HA,以及Virtual Iron V4 XEE的LiveRecovery,微軟的Hyper-V當然也不例外,比較特別的是,Hyper-V的高可用性功能可與Windows Server 2008操作系統內置的故障轉移集群(Failover Cluster)功能整合,在服務器發生故障時將服務迅速切換至另一臺正常運行的服務器,將意外導致的非計劃停機時間降到最低。
相比于其他服務器虛擬化技術提供的高可用性,Windows Server 2008 Hyper-V的故障轉移集群具備以下優勢:
1. 是Windows Server 2008 Enterprise/Datacenter版本的標準功能,Hyper-V被視為集群支持的服務,不需另外購買授權
2. 最多可支持16個節點,測試時可手動指定轉移的節點,當災難發生時,集群系統會自動尋找并移轉至有足夠內存容量的節點
3. 相比于Windows Server 2003以前的MSCS(Microsoft Cluster Service),Failover Cluster大幅簡化了設置管理步驟,新手也能很快熟悉如何操作
Hyper-V故障轉移集群的架構
在實際部署Hyper-V故障轉移集群之前,首先要了解故障轉移集群的架構。基本的故障轉移集群的組件必需包含兩臺物理服務器、一臺共享存儲設備以及SAN環境,此架構稱為2-node failover cluster(如下圖0)。物理服務器必須完全兼容Windows Server 2008的64位處理器,而且強烈建議兩臺型號、規格完全相同的服務器。共享存儲設備一般指的是FC或iSCSI介面的磁盤陣列,不過這類設備通常價格不便宜,功能與擴展性也有一定限制。近年興起的一種稱之為存儲服務器(Storage Server)的共享存儲設備,將行業標準服務器和存儲虛擬化軟件完全集成,由于其功能完整、價格合理,而且具備高擴展能力,成為不少企業構建虛擬環境存儲系統的首選。
以飛康 NSS(FalconStor Network Storage Server)為例,它結合了4核、雙處理器的x64服務器強大的運算能力,以及大容量、低成本的SATA、SAS硬盤作為存儲資源,提供與中高級磁盤陣列相同、甚至更高的I/O性能。此外,中高級磁盤陣列具備的快照、鏡像、自動精簡配置(Thin Provisioning)等高級功能,飛康NSS也都一應俱全,還可以通過遠程復制功能,將本地的故障轉移集群延伸到遠程的災備機房,成為多重站臺集群(Multi-site Cluster),也就是Hyper-V的異地災備。
#p#
Hyper-V故障轉移集群設置實戰
了解故障轉移集群的基本架構之后,接下來就要著手進行實際部署了。首先,簡單介紹一下測試環境的構成,如下所示:
Hyper-V故障轉移集群的部署并不復雜,只需要三個步驟:環境驗證、建立集群、建立HA。實操的詳細步驟如下:
步驟1:打開Hyper-V主控制臺,新增Failover Cluster選項,接著打開Failover Cluster Management,點選中間部位的Validate a Configuration,指定需要新增到集群內的兩臺Hyper-V虛擬機,按下一步后開始執行集群環境驗證,這個的目的是確認目前的服務器、存儲、網絡等配置是否符合故障轉移集群的要求。你可以選擇Run all test執行所有驗證項目,或是Run only tests I select只選擇執行其中的幾項,或是全部跳過。(圖1)
步驟2:通過驗證后,在Failover Cluster Management內點選Create a Cluster,啟動集群創建向導后,即可按照提示,以輸入IP位址或點選服務器名稱的方式,選擇欲納入集群的節點,確認后會顯示驗證警告,問你是否需要微軟原廠支持,請選擇No之后按下一步。(圖2)
步驟3:指定集群管理員的集群名稱和IP地址,確認后即可開始創建集群。(圖3)
步驟4:創建向導開始自動執行創建集群的程序,一切無誤的話,大約1分鐘內即可完成。(圖4)
步驟5:接著就可以將Hyper-V虛擬機設定為Windows Server 2008故障轉移集群所管理的服務。首先打開Hyper-V主控臺,新增或復制一臺虛擬機,并將虛擬機的磁盤路徑指向飛康 NSS提供的共享磁盤資源。接著關閉這臺虛擬機,在Failover Cluster Management內點選Configure a Service or Application,并選擇Virtual Machine項。(圖5)
步驟6:選擇之前新創建的虛擬機,確認后即可開始建立高可用性,建立完成后按Finish就大功告成了。(圖6)
#p#
測試Hyper-V故障轉移集群
創建完Hyper-V故障轉移集群后,別忘記最后也是最重要的步驟---測試集群能否正常執行故障轉移功能,測試Hyper-V故障轉移集群的步驟也相當簡單:
步驟1:在Failover Cluster Management的左側樹狀目錄內的Service and Applications下,確認集群中的虛擬機處于Online的正常運行狀態后,在該虛擬機點右鍵選擇Move this service or application to another node,并選擇另一臺集群節點,下面我們將示范從geo-node1轉移到geo-node3。(圖7)
步驟2:Summary of Virtual Machine視窗內會顯示虛擬機正處于離線存檔的狀態,此時虛擬機的所在位置(Current Owner)還在geo-node1。(圖8)
步驟3:等待約30秒左右(時間根據硬件規格不同而有差異),Current Owner會顯示虛擬機位置已經變為geo-node3,所有服務也都正常上線后,啟動虛擬機確認運行是否正常。(圖9)
【編輯推薦】