虛擬化真的可以提高可靠性嗎?
服務(wù)器虛擬化有兩個(gè)賣點(diǎn),一是提高處理器的利用率,物盡其用;二是用虛擬機(jī)承載應(yīng)用,借助熱遷移,令應(yīng)用擺脫與物理服務(wù)器的緊耦合,讓應(yīng)用與物理設(shè)備無關(guān),也就是松耦合,從而提升系統(tǒng)的可靠性。
那么,借助虛擬化是否就可以解決困擾用戶的可靠性問題呢?答案是否定的,虛擬化的確可以提升系統(tǒng)的可靠性,但不能夠全部問題。究其原因在于熱遷移是條件的。虛擬機(jī)的確可以在不同物理設(shè)備之間進(jìn)行遷移,但要求物理設(shè)備要保持健康狀態(tài)。如果物理機(jī)突然宕機(jī),那么它所承載的虛擬機(jī)是沒有辦法進(jìn)行熱遷移的。
要提高虛擬機(jī)的可靠性不是依靠熱遷移,而是依靠HA或者 Fault Tolerance模塊,相當(dāng)于物理方案中的雙機(jī)集群和容錯(cuò)。盡管如此,熱遷移還是有其價(jià)值,就是應(yīng)對(duì)計(jì)劃內(nèi)的停機(jī),如設(shè)備維護(hù)、升級(jí)時(shí),借助熱遷移把應(yīng)用移植走,升級(jí)完畢,再將應(yīng)用遷移回來。但熱遷移無法應(yīng)對(duì)計(jì)劃外的突然宕機(jī),這是需要非常明確的。
要提升關(guān)鍵業(yè)務(wù)應(yīng)用系統(tǒng)的可靠性,還是需要借助雙機(jī)集群和容錯(cuò)系統(tǒng),其中,雙機(jī)集群依靠集群軟件,技術(shù)要求高,管理復(fù)雜,當(dāng)系統(tǒng)產(chǎn)生意外宕機(jī)時(shí),故障很難定位,故障恢復(fù)需要時(shí)間,期間系統(tǒng)沒有辦法提供不中斷的服務(wù)。
與雙機(jī)相比,容錯(cuò)可以提供更高的可靠性,管理比較簡(jiǎn)單,故障排查非常方便,當(dāng)CPU、內(nèi)存、I/O等部件出現(xiàn)故障時(shí),只要不是冗余部件同時(shí)損壞,系統(tǒng)就不會(huì)產(chǎn)生中斷。但一部件出現(xiàn)故障,系統(tǒng)失去容錯(cuò)保護(hù),但更換之后,系統(tǒng)就可以恢復(fù)容錯(cuò)工作狀態(tài),期間不需要任何停機(jī)。因此,容錯(cuò)服務(wù)器是關(guān)鍵業(yè)務(wù)應(yīng)用的理想選擇。
相對(duì)通用市場(chǎng)而言,關(guān)鍵業(yè)務(wù)應(yīng)用是不折不扣的“小眾市場(chǎng)”,其特點(diǎn)是數(shù)量不大,但銷售額占比很高,以中國市場(chǎng)為例,小型機(jī)在銷量上的占比只有3%,而銷售額占比卻高達(dá)41%,為154億元的規(guī)模。
“小眾市場(chǎng)”意味著使用者的人比較少,但不意味不重要,恰恰相反關(guān)鍵業(yè)務(wù)應(yīng)用歷來是必爭(zhēng)之地。以往該市場(chǎng)被小型機(jī)所保持,但隨著x86技術(shù)不斷進(jìn)步,特別是IA處理器性能已不遜于RISC, x86系統(tǒng)開始進(jìn)入關(guān)鍵業(yè)務(wù)應(yīng)用的市場(chǎng)。由于x86具有出色的性價(jià)比,大幅度降低了采購成本,因此x86成為了未來的趨勢(shì)。
與x86相比,小型機(jī)開始暴露出了不足,如專業(yè)人才短缺、價(jià)格高等。但小型機(jī)作為一種成熟的方案,曾經(jīng)的的霸主,所謂“瘦死駱駝”,小型機(jī)仍然擁有雄厚的用戶基礎(chǔ)。對(duì)于保守的用戶來說,不會(huì)輕易放棄小型機(jī)的平臺(tái)。但對(duì)于創(chuàng)新型用戶而言,已經(jīng)開始嘗試將應(yīng)用遷移到x86的平臺(tái)。
對(duì)于那些沒有應(yīng)用包袱的用戶來說,用戶會(huì)更多考慮采用x86的方案,就可靠性而言,x86已經(jīng)大幅度接近,甚至超過了小型機(jī)(如x86容錯(cuò))。為了提升可靠性,小型機(jī)也采用雙機(jī)集群和容錯(cuò)的方案,以往的歷史發(fā)展就是這樣的。如今,小型機(jī)仍然采用雙機(jī)集群,但容錯(cuò)方案已經(jīng)拋棄了小型機(jī),開始擁抱x86。因?yàn)閷?duì)于容錯(cuò)而言,RISC架構(gòu)的成本太高,用戶很難承受。
關(guān)鍵業(yè)務(wù)應(yīng)用x86市場(chǎng)同樣是雙機(jī)集群和容錯(cuò),其中,雙機(jī)集群是借助集群軟件來提升可靠性,其可靠性是99.99%,遜色于小型機(jī)集群的99.999%;但x86成本優(yōu)勢(shì)突出,在滿足可靠性要求的前提下,x86雙機(jī)集群的優(yōu)勢(shì)明顯。但也存在著明顯的不足,就是可靠性有限,雙機(jī)切換無法實(shí)現(xiàn)真正的無縫切換,宕機(jī)后需要時(shí)間進(jìn)行回復(fù)。
相對(duì)雙機(jī)集群來說,x86容錯(cuò)方案的可靠性是99.9999%,這是超過小型機(jī)集群的。這也是容錯(cuò)技術(shù)的特點(diǎn)決定的,另外,容錯(cuò)還有一個(gè)優(yōu)勢(shì),就是在軟件授權(quán)上,容錯(cuò)是被作為一臺(tái)機(jī)器,盡管擁有冗余的架構(gòu),但只需要一臺(tái)設(shè)備的軟件授權(quán),而雙機(jī)的兩臺(tái)設(shè)備需要分別購買授權(quán)。因此從系統(tǒng)總體成本來看,容錯(cuò)是占優(yōu),但是單從硬件成本看,容錯(cuò)比雙機(jī)集群要高一些,而恰恰是這一點(diǎn)帶來了選型上的障礙。
從以上的分析不難看出,x86容錯(cuò)是關(guān)鍵業(yè)務(wù)應(yīng)用的上佳選擇。x86容錯(cuò)的市場(chǎng)定位,不是市場(chǎng)的拾遺補(bǔ)闕,而是小型機(jī)、x86集群的理想替代產(chǎn)品,因?yàn)閷?duì)于關(guān)鍵業(yè)務(wù)而言,可靠性才是第一需求,而容錯(cuò)具有最好的性價(jià)比表現(xiàn)。
x86容錯(cuò)是否會(huì)成為關(guān)鍵業(yè)務(wù)應(yīng)用的主流,影響的因素有很多,其中不乏干擾。對(duì)于x86服務(wù)器的大廠商而言,會(huì)不遺余力的推動(dòng)雙機(jī)集群,軟件廠商也會(huì)從多賣授權(quán)的考慮支持雙機(jī)集群,而容錯(cuò)只能是用戶的選擇。