如何避免虛擬基礎(chǔ)設(shè)施單點(diǎn)故障
墨菲法則提到如果某事可能會(huì)出錯(cuò),那么這件事一定會(huì)出錯(cuò)??赡軟]有比服務(wù)器虛擬化更嚴(yán)格遵守該法則的領(lǐng)域了。數(shù)據(jù)中心只有物理服務(wù)器時(shí),服務(wù)器故障通常只影響一個(gè)工作負(fù)載。而虛擬主機(jī)運(yùn)行多個(gè)工作負(fù)載,這意味著可能導(dǎo)致很多應(yīng)用會(huì)出現(xiàn)故障。
使用服務(wù)器虛擬化的大多數(shù)企業(yè)利用諸如故障切換集群或者復(fù)制技術(shù)作為應(yīng)對(duì)hypervisor級(jí)故障的方式。然而這類技術(shù)在保護(hù)虛擬負(fù)載方面還有很長(zhǎng)的一段路要走,因?yàn)榧和粔?。即使?gòu)建了虛擬主機(jī)高可用集群仍然可能出現(xiàn)故障。如果某些虛擬基礎(chǔ)設(shè)施成為單點(diǎn)故障,那么故障可能會(huì)發(fā)生。
盡管消除所有能夠想到的單點(diǎn)故障是有可能的,但這需要雄厚的資金支持。在大多數(shù)情況下,企業(yè)必須識(shí)別潛在的風(fēng)險(xiǎn),然后評(píng)估風(fēng)險(xiǎn)轉(zhuǎn)換為實(shí)際問題的可能性。企業(yè)可能要花錢應(yīng)對(duì)***的風(fēng)險(xiǎn)。
這也引發(fā)了一個(gè)問題,那就是存在的潛在單點(diǎn)故障是什么。真正的故障風(fēng)險(xiǎn)可能變化多端,這取決于使用哪家廠商的產(chǎn)品以及虛擬基礎(chǔ)設(shè)施是如何部署的。某些風(fēng)險(xiǎn)與硬件相關(guān),某些與軟件相關(guān)。
與硬件相關(guān)的發(fā)生故障可能會(huì)影響整個(gè)虛擬基礎(chǔ)設(shè)施的所有硬件。以電源管理為例,很多虛擬主機(jī)配置了冗余的電源模塊,當(dāng)一個(gè)電源模塊發(fā)生故障,第二個(gè)電源模塊能夠在線接管,這樣就不會(huì)影響主機(jī)服務(wù)器,即便這樣,管理員必須考慮電源一旦出現(xiàn)故障帶來的的后果。
虛擬主機(jī)通常連接到UPS,在電力故障時(shí)能夠使用發(fā)電機(jī)發(fā)電。然而,如果在主電源發(fā)生故障時(shí),所有的服務(wù)器連接到同一個(gè)發(fā)電機(jī),那么該發(fā)電機(jī)也可能成為潛在的單點(diǎn)故障。
這時(shí)就要進(jìn)行風(fēng)險(xiǎn)評(píng)估。在備用的發(fā)電機(jī)出現(xiàn)故障影響整個(gè)虛擬基礎(chǔ)設(shè)施前,很多事情都會(huì)出錯(cuò),此時(shí)必須中斷電源。不必將備用發(fā)電機(jī)出現(xiàn)故障放在心上,因?yàn)閭溆冒l(fā)電機(jī)成為單點(diǎn)故障的可能性非常小。
正如前文所說,盡管消除所有可能的單點(diǎn)故障是有可能的,但代價(jià)非常大??梢韵胂笠幌聻楦鞣N各樣的服務(wù)器配置單獨(dú)的備用發(fā)電機(jī)的場(chǎng)景。,即使是這樣也不一定會(huì)消除潛在的單點(diǎn)故障。如果這些備用發(fā)電機(jī)的燃料都來自于同一個(gè)地方,而燃料恰好被水污染了,那么發(fā)電機(jī)燃料將會(huì)成為單點(diǎn)故障。需要注意的是,很多事情可能會(huì)在發(fā)生其他故障之前出現(xiàn)問題。
在集群環(huán)境中,共享存儲(chǔ)成為單點(diǎn)故障更為常見。集群存儲(chǔ)通常配置了冗余的磁盤,當(dāng)冗余未達(dá)到要求時(shí),陣列、交換機(jī)、線纜可能會(huì)出現(xiàn)故障。
在軟件端,如果未采用冗余方式部署,那么基礎(chǔ)設(shè)施服務(wù)器可能成為單點(diǎn)故障。例如,假定企業(yè)打算部署System Center Virtual Machine Manager(SCVMM)作為管理Hyper-V的工具。SCVMM可能會(huì)成為單點(diǎn)故障,除非被部署在高可用性虛擬機(jī)上。同樣地,SCVMM依賴的SQL Server數(shù)據(jù)庫也可能成為單點(diǎn)故障,除非數(shù)據(jù)庫也是冗余的。其他潛在的單點(diǎn)故障可能包括DNS服務(wù)器、域控制器、DHCP服務(wù)器、備份服務(wù)器或者互聯(lián)網(wǎng)網(wǎng)關(guān)。
對(duì)大多數(shù)企業(yè)來說,消除所有可能的單點(diǎn)故障是不可能的,更好的策略是識(shí)別出單點(diǎn)故障,然后針對(duì)單點(diǎn)故障的風(fēng)險(xiǎn)等級(jí)進(jìn)行評(píng)估。