如何在Hyper-V R2里執(zhí)行集群共享卷?
隨著Windows Server 2008 R2的發(fā)布,微軟的Hyper-V虛擬化平臺獲得了大量必須的功能。微軟增加了Hyper-V的功能,讓其成為用于生產虛擬化的可行選擇。Hyper-V R2在主機磁盤資源方面有許多的新功能,尤其是用于Windows故障轉移集群上的高可用性虛擬機所使用的功能。
在本文中,TechTarget中國的特約虛擬化專家Greg Shields將介紹Hyper-V R2在集群共享卷(CSV)的新功能,允許多臺虛擬機存儲在單個邏輯單元號(LUN)上。
Hyper-V的磁盤局限
你可能聽到一些關于Hyper-V R1磁盤限制的抱怨。在這一版Hyper-V里,集群的配置被強行安裝在單個虛擬機所連接的LUN上。環(huán)境里的每臺虛擬機都需要創(chuàng)建一個獨立的LUN。
不為人所知的是這其實不是Hyper-V的問題。這些最初的磁盤問題實際上是基于與Windows Server 2008 RTM里的Windows故障轉移集群服務器相關的限制。我在一篇文章中討論過這個問題:使用集群共享卷提升虛擬主機資源利用率。
想想傳統(tǒng)的NT文件系統(tǒng)(NTFS)以及故障轉移集群如何使用磁盤資源。在***版本的Failover Clustering里,集群里的每個節(jié)點都能感知是否擁有虛擬磁盤資源。不管里面的文件和文件夾,整個磁盤資源位于集群資源管理的邊界。
這存在問題,因為依賴于某個集群節(jié)點的單個虛擬機也是集群資源。因此集群資源的故障轉移需要其獨立的磁盤資源也同時發(fā)生轉移。在同個LUN上的多個虛擬機,在一臺虛擬機進行故障轉移時會牽涉到其他所有虛擬機。
為了克服這個問題,微軟在Hyper-V R2里添加了Cluster Shared Volumes(集群共享卷,即CSV)。這個新功能給Hyper-V帶來了集群感知,能在單個LUN上存儲多個虛擬機。
不過關于這個新功能的設置仍然有一些混淆。就算升級到Windows Server 2008 R2,你會發(fā)現設置的過程包括大量的不明顯的步驟。下面是配置并啟用CSV的步驟:
創(chuàng)建一個集群。CSV專用于Windows故障轉移集群。如果你的環(huán)境沒有為Hyper-V虛擬機使用高可用性,這些步驟都沒用。就算用Hyper-V R1,虛擬機沒有高可用性就沒有相同的磁盤限制。因此,在單個服務器情況下,你能在磁盤里安裝你想要的那么多虛擬機。
啟用CSV。創(chuàng)建好集群,在Cluster Failover Manager控制臺啟用CSV功能。如果你環(huán)境使用的是System Center Virtual Machine Manager,也可以這樣做。點擊右邊窗口的集群名稱,以在中間框彈出集群屬性窗口。在這里選擇“Enable Cluster Shared Volumes”。請注意,選擇后就不能返回。
為CSV激活磁盤。這是啟用CSV過程中最容易混淆的地方。當啟用CSV功能,一個新的節(jié)點將出現在Failover Cluster Management控制臺。這個節(jié)點標作“Cluster Shared Volumes”,為哪個磁盤應該使用CSV功能激活提供了地方。注意,任何由CSV激活的磁盤必須是空的。這個控制臺不允許激活包含虛擬機的磁盤資源。
遷移虛擬機到CSV磁盤。創(chuàng)建好卷后,虛擬機能遷移到由CSV激活的磁盤。通過Hyper-V里的手動導入和導出功能遷移,或者,如果環(huán)境使用的是Virtual Machine Manager 2008 R2,自動重新配置或存儲遷移更容易。當遷移虛擬機時,為了高可用性激活它們。
啟動CSV并使用后,磁盤存儲的位置將更改。虛擬機默認的磁盤存儲位置在c:\ClusterStorage里的各種子文件夾里變更。這個位置在Hyper-V主機的系統(tǒng)驅動上,但這不是虛擬機磁盤文件的真實位置。
CSV使用存儲在集群里的每臺服務器根驅動的信息,以確定磁盤資源上文件的所有權,并作為集群共享存儲里的實際數據。由于CSV將安裝這個文件夾到集群里每臺服務器的根驅動上,微軟需要每臺服務器上的根驅動是相同的。對多數環(huán)境來說這不是問題,因為大多數仍然使用c:\ drive作為根驅動。
盡管有這些新功能,你應該仍然考慮Cluster Shared Volumes。與來自第三方的其他文件系統(tǒng)相比,CSV的集群感知的有限的。因此,你會發(fā)現在Hyper-V R2添加了對諸如Sanbolic公司的Melio FS或者Veritas Volume Manager的第三方集群文件系統(tǒng)的支持。這些第三方系統(tǒng)提供了比微軟更大的對于集群感知的支持。
【編輯推薦】