如果想要確保虛擬基礎(chǔ)架構(gòu)的高可用性,無疑需要冗余技術(shù),下面我們的專家顧問將會介紹企業(yè)應(yīng)該如何選擇最適合自己的冗余等級。
如果企業(yè)想要實(shí)現(xiàn)彈性機(jī)制從而確保系統(tǒng)高可用性,那么為虛擬基礎(chǔ)架構(gòu)選擇恰當(dāng)?shù)娜哂嗟燃壷陵P(guān)重要,但是想要完全了解企業(yè)當(dāng)前需要哪種等級的冗余架構(gòu)非常困難。對于部分企業(yè)來說,N+1的冗余計(jì)劃足夠?qū)崿F(xiàn)系統(tǒng)彈性并且提供穩(wěn)定的性能表現(xiàn)。而其他企業(yè)可能需要更高的冗余等級,也許會選擇N+2或者N+1+1等方案。
那么企業(yè)應(yīng)該如何確定自己的數(shù)據(jù)中心究竟需要哪種等級的冗余機(jī)制呢?為此我們聯(lián)系了幾位行業(yè)專家,就企業(yè)應(yīng)該考慮哪些方面以及何時(shí)做出決定等方面請他們分享各自觀點(diǎn)。
Alastair Cooke——獨(dú)立分析師兼顧問
企業(yè)可以在應(yīng)用和基礎(chǔ)架構(gòu)等多個(gè)層次實(shí)現(xiàn)冗余機(jī)制。通常,冗余機(jī)制距離應(yīng)用層越近,系統(tǒng)的高可用性就越好。一個(gè)動(dòng)態(tài)、負(fù)載均衡的web服務(wù)器集群無疑要比一臺虛擬機(jī)當(dāng)中的單個(gè)web服務(wù)器可用性更高。而主要問題在于每個(gè)應(yīng)用都使用不同的彈性機(jī)制以及工具集。因此如果企業(yè)從更低的硬件和基礎(chǔ)架構(gòu)層提供彈性機(jī)制,那么不同應(yīng)用就能夠使用相同的工具集了。是否在應(yīng)用層實(shí)現(xiàn)冗余還需要考慮管理彈性機(jī)制所需要的開銷。
Jim O'Reilly——Volanto
數(shù)據(jù)完整性需要某種形式的存儲冗余。在磁盤時(shí)代,冗余意味著RAID陣列,但是這種技術(shù)自身存在缺陷。存儲控制器并不十分可靠,雖然大多數(shù)陣列使用雙控制器架構(gòu),但是這種架構(gòu)需要使用非常昂貴的企業(yè)級雙接口磁盤,這種情況導(dǎo)致企業(yè)為了實(shí)現(xiàn)數(shù)據(jù)完整性需要支付高昂的費(fèi)用。
許多用戶將RAID配置為使用兩個(gè)副本的鏡像或者帶有額外校驗(yàn)磁盤的RAID5。這種方式能夠滿足基本需求,但是如果磁盤達(dá)到TB級別,那么故障磁盤的重建時(shí)間將會被大大延長,重建過程當(dāng)中同一RAID陣列當(dāng)中的其他磁盤也有可能出現(xiàn)故障。為了解決這種問題,RAID6使用了兩塊校驗(yàn)磁盤,但是系統(tǒng)在性能方面出現(xiàn)損失。
由于RAID控制器不能滿足日益發(fā)展的需求,因此固態(tài)硬盤(SSD)取代了RAID陣列。現(xiàn)在,存儲領(lǐng)域最常見的解決方案是使用x86或者ARM控制器、包含12塊磁盤的2U設(shè)備。這種方式不需要使用冗余電源或者控制器以及RAID校驗(yàn)技術(shù)。其能夠在不用設(shè)備之間同步數(shù)據(jù),因此即便整臺設(shè)備出現(xiàn)故障,還是能夠?qū)?shù)據(jù)進(jìn)行恢復(fù)。這種方案通常在三個(gè)不同站點(diǎn)之間同步數(shù)據(jù),在遠(yuǎn)距離站點(diǎn)當(dāng)中保存一份額外備份以防止大規(guī)模災(zāi)難發(fā)生。AWS(Amazon Web Services)引以為傲的S3(Simple Storage Service)使用的就是這種方式。
下面介紹的是糾刪碼(EC)技術(shù),向每個(gè)包含數(shù)據(jù)的條帶當(dāng)中添加額外數(shù)據(jù),類似于RAID,但是每個(gè)條帶中最多只有20個(gè)數(shù)據(jù)和6個(gè)EC塊被寫入到存儲當(dāng)中。盡管EC需要占用大量計(jì)算資源,但是26塊磁盤當(dāng)中的任意20塊都能夠交付數(shù)據(jù)。這種方式最大的優(yōu)點(diǎn)是26塊磁盤可以位于多臺設(shè)備上,在給出的實(shí)例當(dāng)中,能夠支持最多6塊磁盤或者6臺設(shè)備同時(shí)出現(xiàn)故障。
企業(yè)應(yīng)該使用哪種技術(shù)?如果對于系統(tǒng)性能有很高要求,那么同步無疑是最佳選擇。事實(shí)上,可以選擇同步到兩臺設(shè)備或者服務(wù)器上。將不常用的數(shù)據(jù)轉(zhuǎn)換為備份存儲需要?jiǎng)?chuàng)建EC——這個(gè)過程在后臺進(jìn)行——之后使用Ceph或者其他類似軟件將數(shù)據(jù)寫入條帶。
許多全閃存陣列都使用EC技術(shù)。數(shù)據(jù)的寫入過程被保存在日志文件,之后被放在持續(xù)存儲空間當(dāng)中。這種情況下,可以同時(shí)使用EC和數(shù)據(jù)壓縮技術(shù)來節(jié)省空間。
對象存儲使用代表性的狀態(tài)遷移訪問方式,像S3一樣需要進(jìn)行同步,但是這種理念——記錄日志和后臺處理、擦除編碼數(shù)據(jù)——正在變得越來越流行,因?yàn)檫@種方式只需要占用大約之前一半的存儲空間。
有一件事情是肯定的:對于絕大多數(shù)計(jì)算來說,數(shù)據(jù)冗余都是必需的。如果沒有實(shí)現(xiàn)冗余機(jī)制,那么一旦出現(xiàn)問題,就意味著任務(wù)必需從頭開始,此外,重要數(shù)據(jù)也有可能丟失。
Brian Kirsch——密爾沃基技術(shù)學(xué)院
對于許多企業(yè)來說冗余是一個(gè)特殊問題;絕對是必要的,但是企業(yè)究竟需要哪種級別的冗余?幾年之前,一位CIO表示他希望最重要應(yīng)用程序的所有組件都是冗余的,但是當(dāng)他看到第二套存儲區(qū)域網(wǎng)絡(luò)和光纖網(wǎng)絡(luò)的價(jià)格時(shí),就不再堅(jiān)持“redundant everything”的想法了。對于現(xiàn)在的數(shù)據(jù)中心來說,冗余計(jì)劃需要和業(yè)務(wù)目標(biāo)以及成本相結(jié)合。需要了解的重要一點(diǎn)是當(dāng)前業(yè)務(wù)需要何種等級的冗余,因?yàn)樘摂M基礎(chǔ)架構(gòu)冗余可能涉及多種技術(shù)和高昂成本。
對于大多數(shù)虛擬基礎(chǔ)架構(gòu)來說,擁有額外網(wǎng)絡(luò)以及電力供應(yīng)的傳統(tǒng)硬件冗余只能滿足基本需求。這些通常需要和主機(jī)層面的N+1冗余機(jī)制相結(jié)合,允許某臺機(jī)器出現(xiàn)故障或者進(jìn)行維護(hù)。盡管可以通過提升整體冗余比例以實(shí)現(xiàn)更好的高可用性,但是同時(shí)資源使用率也會相應(yīng)下降。
最佳冗余等級將會不斷發(fā)生變化,以滿足業(yè)務(wù)需求的發(fā)展。需要記住的一件事情是如果企業(yè)需要保護(hù)的并非單個(gè)系統(tǒng),對于這樣的虛擬環(huán)境來說——其中可能包含多種系統(tǒng)和應(yīng)用——那么需要使用相比于傳統(tǒng)服務(wù)器更好的硬件服務(wù)器冗余。
從軟件方面來說,管理員可以借助動(dòng)態(tài)資源分配(DRS)技術(shù)為部分虛擬機(jī)提供FT(Fault-Tolerant)特性,而為其他虛擬機(jī)提供HA(High Availability)特性。對于虛擬化環(huán)境來說,最好的事情就是在同一個(gè)基礎(chǔ)架構(gòu)當(dāng)中同時(shí)實(shí)現(xiàn)兩種機(jī)制,但是企業(yè)可能需要支付額外的授權(quán)費(fèi)用。
需要考慮的另外一件事是虛擬化環(huán)境的冗余管理系統(tǒng)。企業(yè)通常只重視主機(jī)和虛擬機(jī),而忽略管理,這是一個(gè)非常大的錯(cuò)誤,因?yàn)橐坏┏霈F(xiàn)問題,管理將會變得非常重要。企業(yè)虛擬化環(huán)境的全面冗余應(yīng)該符合之前制定的SLA(服務(wù)等級協(xié)定),確保冗余計(jì)劃當(dāng)中包含了達(dá)到SLA的所有部分,當(dāng)然也包括管理。