盡管hypervisor比如VMware ESX以及微軟Hyper-V實現了虛擬機的高可用,但某些組織選擇在虛擬機級別實現高可用。在某些情況下,運行集群應用的物理服務器可能已經被轉換為虛擬機,最終創建了客戶機集群。在其他情況下,可能會創建客戶機集群提供額外的機制以應對服務中斷。
客戶機集群解析
與構建在物理硬件之上的故障切換集群類似,客戶機集群往往使用集群共享卷。集群共享卷是一個集群中所有節點都可訪問的共享存儲卷,允許集群節點訪問完全相同的存儲資源。
客戶機集群往往使用物理共享存儲。例如客戶機集群可能使用SAN上的一個LUN作為集群共享卷。然而客戶機集群訪問物理硬件上的集群共享卷并非必要條件。從Windows Server 2012 R2開始,微軟已經可以使用共享虛擬硬盤作為集群共享卷,供運行在Hyper-V之上的客戶機集群訪問。
在某些方面,位于客戶機集群內的虛擬節點的配置并非與物理集群節點完全不同。物理集群節點通常使用兩個不同的存儲卷。當然,這些數據卷當中的一個是集群共享卷,另一個是引導卷。客戶機集群內的虛擬機至少要配置兩個虛擬硬盤——一個引導磁盤、一個共享磁盤。
對虛擬機的引導磁盤沒有很多要求。引導磁盤是一個標準而非共享的虛擬硬盤。虛擬硬盤可以是VHD或VHDX格式。
對共享磁盤的要求更為嚴格。首先,共享磁盤必須是VHDX格式。VHD文件非常適合用于引導磁盤,但不能用作共享磁盤。
對客戶機集群節點同樣有一些要求。客戶機集群節點可以是第一代或第二代虛擬機。盡管在客戶機集群內混合搭配虛擬機版本在理論上可能是可行的,但使用相同的虛擬機版本是不錯的選擇。
另一個必要條件是客戶機操作系統必須是Windows Server 2012 或Windows Server 2012 R2。請記住盡管客戶機操作系統支持Windows Server 2012,hypervisor并不支持安裝Windows Server 2012。而且,如果客戶機操作系統要運行Windows Server 2012,那么你必須在虛擬機上安裝Windows Server 2012 R2版本的集成服務。
對Hyper-V主機的要求
正如對客戶機操作系統有相應的要求,Hyper-V主機也必須遵循已經提到的某些要求。首先,Hyper-V必須以集群方式部署。微軟要求在主機級別實現集群,而且該集群獨立于可能存在的任一客戶機集群。主機級別的集群必須至少包括兩臺運行Windows Server故障切換集群功能以及Hyper-V角色的Windows server 2012 R2服務器。
對Hyper-V主機的第二個要求是主機集群內的任何主機必須連接到通用的活動目錄域。
第三個要求是Hyer-V主機必須使用受支持的共享存儲形式。
如果你發現上述要求有些令人迷惑,只要記住你真正做的是在集群內構建一個集群。外部集群是Hyper-V集群。包括一系列同樣在運行故障切換集群功能的Hyper-V服務器。這些服務器運行Windows Server 2012 R2,加入共享的活動目錄域并與集群共享卷連接。集群共享卷通常由使用諸如Windows存儲空間的物理存儲構成。在這種情況系其任務是存儲VHD文件。
內部集群是客戶機集群。客戶機集群還連接到集群共享卷,但該集群共享卷是一個VHDX虛擬硬盤。VHDX文件位于主機的集群共享卷中。
盡管你可以使用一個VHD作為客戶機集群的集群共享卷,但其使用存在一些限制條件。微軟不支持調整共享VHD的大小或者對其進行遷移,也不支持對磁盤進行備份或者制作副本。