良好的網(wǎng)絡(luò )架構確保一個(gè)網(wǎng)絡(luò )組件故障不會(huì )影響虛擬服務(wù)器的可用性,雖然這種架構具備了網(wǎng)絡(luò )冗余,但它并不是一個(gè)可行的高可用策略,因為服務(wù)器硬件故障仍然是一個(gè)潛在的威脅,冗余網(wǎng)絡(luò )架構就是一步創(chuàng )建一個(gè)彈性的虛擬數據中心。
創(chuàng )建一個(gè)具有彈性的虛擬數據中心最關(guān)鍵的是集中存儲,所有虛擬機都應該放到一個(gè)集中的存儲池中,所有宿主服務(wù)器都可以訪(fǎng)問(wèn)這個(gè)存儲池,在這種情況下,如果出現故障,虛擬服務(wù)器可以快速移到另一個(gè)宿主服務(wù)器,如果虛擬硬盤(pán)驅動(dòng)器是放在直接附加存儲(DAS)上的,那這種類(lèi)型的彈性就不可用,因為DAS是與一臺服務(wù)器固定了的。
集中存儲池是創(chuàng )建一個(gè)無(wú)單點(diǎn)故障的最佳方法,實(shí)現集中才存儲的方法是在每臺宿主服務(wù)器上安裝多塊光纖卡,每塊光纖網(wǎng)卡連接到獨立的光纖交換機上,交換機再連接到公共存儲池,存儲池本身由冗余的存儲陣列組成,圖2展示了一個(gè)冗余的光纖架構,同時(shí)也展示了一個(gè)冗余的網(wǎng)絡(luò )架構,我們要仔細看看它們是如何與多臺服務(wù)器融合到一起的。
VMware和容錯性
實(shí)時(shí)遷移和真實(shí)容錯都需要一個(gè)共享的存儲架構,它們都允許虛擬機在兩臺宿主服務(wù)器之間快速移動(dòng)。雖然這兩個(gè)功能具有某些相似性,但它們的用途卻完全不一樣。
實(shí)時(shí)遷移是通過(guò)VMware的vMotion實(shí)現的,在Hyper-V R2中類(lèi)似的功能,它將宿主服務(wù)器當作一個(gè)資源池,資源可以分配給虛擬服務(wù)器,你可以立即將一個(gè)宿主服務(wù)器上的虛擬服務(wù)器轉移到另一個(gè)宿主服務(wù)器上。如果宿主服務(wù)器超載了,你可以使用實(shí)時(shí)遷移功能將某些虛擬服務(wù)器轉移到其它宿主服務(wù)器上。需要記住的是vMotion并不是一個(gè)容錯功能。
VMware包括的容錯功能叫做VMware FT,它屬于vSphere 4中的一個(gè)功能,與VMotion不一樣,VMware FT設計目的是快速檢測和響應硬件故障,以便及早將虛擬服務(wù)器轉移到其它宿主服務(wù)器,通過(guò)vLockstep技術(shù)使其成為可能。
vLockstep的基本前提是主虛擬機和備用虛擬機要保持完全同步,在這種情況下,如果主虛擬機故障,備用虛擬機可以立即接管主虛擬機的任務(wù),vLockstep技術(shù)確保了主備虛擬機以相同的順序執行相同的命令,主虛擬服務(wù)器的命令使用專(zhuān)用骨干網(wǎng)傳遞到備用虛擬服務(wù)器,此外,骨干網(wǎng)也要傳輸主備虛擬服務(wù)器之間的心跳信息,因此故障可以被快速檢測到。
關(guān)于vLockstep技術(shù)有趣的是主備虛擬服務(wù)器執行是相同的命令,兩個(gè)虛擬服務(wù)器都會(huì )執行寫(xiě)入操作,但兩個(gè)服務(wù)器都連接到相同的存儲池,VMware FT會(huì )阻止備用虛擬服務(wù)器的寫(xiě)操作,這樣才能確保只有一個(gè)虛擬機可以修改虛擬硬盤(pán)驅動(dòng)器上的數據。
VMware FT可以用于VMware HA集群中,這樣就容許發(fā)生多個(gè)故障,如果主虛擬機出現故障,備用虛擬機就接管成為主虛擬機,VMware HA將會(huì )在另一個(gè)集群節點(diǎn)上自動(dòng)創(chuàng )建一個(gè)新的備用虛擬機,這樣虛擬機就具有真正的容錯功能了,不管故障是否發(fā)生在源宿主服務(wù)器上。
雖然創(chuàng )建一個(gè)彈性虛擬數據中心不是必須要創(chuàng )建一個(gè)傳統的服務(wù)器集群,但使用冗余的硬件仍然是必須的,為了使虛擬機轉移和容錯成為現實(shí),你的數據中心必須提供集中式存儲,讓所有的宿主服務(wù)器都可以訪(fǎng)問(wèn),但集中存儲也要實(shí)現冗余,否則它也會(huì )存在一個(gè)單點(diǎn)故障。