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