服務(wù)器虛擬化最顯著的功能之一就是可以在集群內(nèi)瞬間遷移虛擬機(jī)(VM)、減少服務(wù)器或應(yīng)用系統(tǒng)的停機(jī)時間。雖然每個主要的hypervisor都具有這個功能,但每個廠商實(shí)現(xiàn)集群方式卻有差異。
在使用微軟Hyper-V搭建的測試環(huán)境中,通過構(gòu)建主機(jī)集群環(huán)境,可以節(jié)省了無數(shù)的服務(wù)器停機(jī)時間。虛擬主機(jī)集群環(huán)境最重要的三個優(yōu)缺點(diǎn)。
優(yōu)點(diǎn)一:主動的風(fēng)險回避
服務(wù)器集群的最大優(yōu)點(diǎn)是它可以主動將VM從一個主機(jī)遷移到另外一個主機(jī)。這樣的話,就可以提高服務(wù)器和應(yīng)用系統(tǒng)的運(yùn)行時間。
當(dāng)內(nèi)存不足、CPU負(fù)載偏高或者虛擬主機(jī)遇到較高的I/O壓力時,管理員會收到警報。如果不能確定真正的原因或者系統(tǒng)需要重啟,就可以主動將VM遷移到集群內(nèi)的其他主機(jī)。
如果這是一個單機(jī),或者說,在主機(jī)重啟期間,VM不可以關(guān)閉;如果重啟之后,問題依然存在,就不得不延長VM的停機(jī)時間直到找到了問題的起因。但是,在虛擬主機(jī)集群中,VM就可以被遷移到其他的主機(jī)直到問題解決。
優(yōu)點(diǎn)二:反應(yīng)性容錯
因?yàn)榧褐械闹鳈C(jī)監(jiān)控著所有VM的活動,因此,當(dāng)一個節(jié)點(diǎn)失效時,失效節(jié)點(diǎn)的負(fù)載就會被指派到另外一個替代的主機(jī)。如果需要較長時間解決失效主機(jī)的故障,只要替代它的健康主機(jī)有足夠的資源,VM就會正常工作。
如果一個主機(jī)失效,VM會自動遷移到另外一個節(jié)點(diǎn)。雖然遷移的過程并不平滑,但工作負(fù)載自動變化幾乎沒有停頓。
優(yōu)點(diǎn)三:主動的管理
在一個7*24的組織中工作,打補(bǔ)丁和升級工作就必須采取非常嚴(yán)格的管理。正常情況下,協(xié)調(diào)1—2臺物理主機(jī)的停機(jī)時間已經(jīng)比較困難,而要關(guān)閉位于同一個物理主機(jī)的30多個VM的復(fù)雜性就會呈指數(shù)增長。
利用虛擬主機(jī)集群,當(dāng)某個主機(jī)打補(bǔ)丁和重啟的時候,其上的VM遷移到替代的主機(jī)。打完補(bǔ)丁,VM再遷移到原來的主機(jī)。這樣,就允許用戶在早上極短的時間內(nèi),不用停掉整個系統(tǒng),完成集群的升級。
集群式主機(jī)環(huán)境的缺點(diǎn)
雖然主機(jī)集群環(huán)境有令人矚目的優(yōu)點(diǎn),但它同樣存在一些實(shí)施和管理上的缺點(diǎn)。
缺點(diǎn)一:實(shí)施和配置的復(fù)雜性
配置復(fù)雜可能是集群的最大缺點(diǎn)。建立集群框架、管理主機(jī)間的連通性、配置共享存儲都不是簡單的任務(wù),可能涉及到組織內(nèi)部多個團(tuán)隊(duì)。你可能不害怕增加的復(fù)雜度,然而,很大程度上,都是技術(shù)性的工作;但是,隨著復(fù)雜度的增加,你可能會遺漏某些東西從而影響系統(tǒng)的穩(wěn)定性。
缺點(diǎn)二:更新和升級的不利因素
升級到更新版本的產(chǎn)品和硬件組件也可能引起困難。因?yàn),虛擬主機(jī)集群連接多個系統(tǒng),各組件間發(fā)生著大量的、復(fù)雜的交互。
以更新主機(jī)上的多路徑I/O(MPIO)驅(qū)動為例,該操作會影響整個集群。首先,它影響節(jié)點(diǎn)轉(zhuǎn)移邏輯單元號(LUN)到其他節(jié)點(diǎn)的效率。同時,在更新MPIO驅(qū)動之前,集群中所有主機(jī)的HBA卡的Firmware都需要升級。如果FW不用升級,那也必須首先安裝HBA卡的驅(qū)動。
如果是單機(jī),這可以通過1-2次重啟解決。在集群環(huán)境中,協(xié)調(diào)多個虛擬主機(jī)服務(wù)器則較為困難。升級實(shí)際的虛擬主機(jī)軟件一定是一個具有挑戰(zhàn)性的任務(wù),因?yàn)榧汗?jié)點(diǎn)的交互以及不同軟件版本支持(比如,SCVMM、Protection Manager等)。
一般情況下,廠商會為這些復(fù)雜升級提供詳細(xì)的、一步一步的操作操作指南;同時,大多數(shù)情況下,都會比較順利。
缺點(diǎn)三:集群成本因素
成本是另外一個主要的考慮因素。要實(shí)現(xiàn)一個虛擬主機(jī)集群環(huán)境,你需要復(fù)制部分基礎(chǔ)架構(gòu)并同時保持虛擬機(jī)與主機(jī)的比例。此外,大部分廠商的實(shí)現(xiàn)需要一個SAN或者獨(dú)立的磁盤子系統(tǒng)。開源iSCSI或者廉價的磁盤陣列可能是個精明的選擇,但這些選項(xiàng)可能存在性能和穩(wěn)定性的問題。
在重要的基礎(chǔ)架構(gòu)組件上選擇廉價的路線會產(chǎn)生問題,造成絆腳石。就因?yàn)檫x擇了一個特殊的配置能夠工作并不意味著就滿足了項(xiàng)目目標(biāo)。如果管理部門對成本感到擔(dān)憂,你可以解釋給他們虛擬主機(jī)集群環(huán)境可以提高正常運(yùn)行時間、提供更好的服務(wù)。依我看,如果正確實(shí)施,這種配置就完全對得起付出的成本。
最后,每個組織不得不判斷虛擬主機(jī)集群環(huán)境是否適合自己業(yè)務(wù)系統(tǒng)模式。雖然虛擬主機(jī)集群環(huán)境引入配置的復(fù)雜度、升級問題和潛在的額外成本,但是,你的環(huán)境可以從加強(qiáng)的服務(wù)器或者應(yīng)用系統(tǒng)可用性和更好的管理上獲益。盡管有潛在的困難或不利因素,但是,我相信實(shí)施虛擬主機(jī)集群所付出的努力和成本是值得的。