何謂高可用度?
在規(guī)劃一套完善的高可用度(High Availability, HA)系統(tǒng)之前,必須先了解單點(diǎn)失效(Single
Point of Failure)。單點(diǎn)失效的定義很簡(jiǎn)單:一旦失效,就可能導(dǎo)致系統(tǒng)無(wú)法穩(wěn)定運(yùn)作的組件。換言之,一般服務(wù)器的所
有原件,例如CPU、電源供應(yīng)器、主機(jī)板、硬盤、內(nèi)存乃至電源線、系統(tǒng)風(fēng)扇,都屬于單點(diǎn)失效,因?yàn)檫@些組件一旦損壞,幾乎都可能導(dǎo)致系統(tǒng)不穩(wěn)或停機(jī)。
同樣的,一個(gè)系統(tǒng)中唯一的網(wǎng)絡(luò)端口或網(wǎng)絡(luò)卡是單點(diǎn)失效,唯一的IDE硬盤也是單點(diǎn)失效。進(jìn)一步來(lái)看,假使企業(yè)的防火墻服務(wù)器損壞,無(wú)法在短時(shí)間內(nèi)藉由其它服務(wù)器取代相同功能或維修,并導(dǎo)致整個(gè)架構(gòu)中的其它系統(tǒng)受到影響,那么這臺(tái)服務(wù)器就是單點(diǎn)失效。
解決方法并不難設(shè)想:只要把所有可能出狀況的組件都準(zhǔn)備兩套,并確保主要組件損壞、備用組件可立即接手運(yùn)作,不就什么問(wèn)題都沒(méi)了?
這個(gè)作法是常見(jiàn)的完全冗余(Full
Redundancy)概念,也就是所謂的2N架構(gòu),不過(guò)還未必能完全解決單點(diǎn)失效的問(wèn)題。除了考量成本因素,以及硬件本身是否支持冗余及熱插拔,還要考量整體環(huán)境,如軟件有無(wú)支持HA、數(shù)據(jù)異地備援、空調(diào)設(shè)備的效能、是否有發(fā)電機(jī)或雙電源備援、雙電信光纖電纜,乃至人員的門禁管制、遠(yuǎn)程監(jiān)控等等多項(xiàng)因素。而文章開(kāi)頭的幾個(gè)例子也顯示,企業(yè)為了避免火災(zāi)、天災(zāi)乃至人為災(zāi)害,可能還需要將數(shù)據(jù)備份于兩地的異地備援、數(shù)據(jù)回存甚至災(zāi)害回復(fù)的機(jī)制。
照這樣一環(huán)一環(huán)的推演下去,建立理想的高可用系統(tǒng)費(fèi)用可能足以把一家公司給弄垮。因此,IT人員或電信業(yè)者必須要審慎考量,該將高可用度以及單點(diǎn)失效確保到何種程度?要便捷而有效的建構(gòu)一套的高可用度系統(tǒng),通常指以軟、硬件及韌體整合之系統(tǒng),圖標(biāo)如下:
|
圖1. HA的層級(jí)簡(jiǎn)表 |
所謂的高可用度,是指系統(tǒng)在各種狀況下可順?biāo)爝\(yùn)作的時(shí)間(Up-time),這個(gè)數(shù)值也可反映出系統(tǒng)在面對(duì)CPU、HDD、RAM,乃至I/O卡、軟件等異常時(shí),由停機(jī)、維修到可順利運(yùn)作的時(shí)間。傳統(tǒng)的分類方式是以可以達(dá)到「多少個(gè)9」的比率來(lái)劃分等級(jí),下表為一年365天當(dāng)中,各等級(jí)的系統(tǒng)因故停機(jī)的時(shí)間。
|
圖2. HA等級(jí)與平臺(tái)的關(guān)系圖 |
幾個(gè)9 |
Up Time % |
停機(jī)時(shí)間 |
適合應(yīng)用 |
2 |
99% |
3天15小時(shí)36分 |
個(gè)人、企業(yè)內(nèi)部計(jì)算機(jī) |
3 |
99.9% |
8小時(shí)45分 |
一般IT設(shè)備 |
4 |
99.99% |
52分33秒 |
網(wǎng)絡(luò)應(yīng)用設(shè)備 |
5 |
99.999% |
5分15秒 |
電信設(shè)備、Mission critical企業(yè)服務(wù)器 |
表1. HA等級(jí)劃分
從上表可知,層級(jí)越低,表示可用度相對(duì)較低,越需要硬件規(guī)格支持。層級(jí)越高,意味著可忍受的停機(jī)時(shí)間越短,可用度越高、越需要專屬軟件支持,相對(duì)地采購(gòu)及維護(hù)成本也以等比級(jí)數(shù)增加。對(duì)企業(yè)主而言,如何在價(jià)格、效能及可用度之間取得平衡是一個(gè)復(fù)雜的課題。
規(guī)劃一個(gè)高可用性系統(tǒng)
CompactPCI有不少先天硬件規(guī)格上的優(yōu)點(diǎn),因此能順利的成為電信設(shè)備供貨商的好伙伴。舉例來(lái)說(shuō):
1. CompactPCI在規(guī)格、效能、頻寬等方面均優(yōu)于VME或傳統(tǒng)工業(yè)計(jì)算機(jī)。
2. CompactPCI支持完整的熱拔插功能
3. 比VME及工業(yè)計(jì)算機(jī)提供更高的版卡密度,可支持更多版卡或更多port通路。
4. CompactPCI為一開(kāi)放之標(biāo)準(zhǔn)平臺(tái),支持多種OS,生產(chǎn)廠商多,兼容性佳。
雖然CompactPCI的價(jià)格較VME和傳統(tǒng)工業(yè)計(jì)算機(jī)為高,但就整體考量而言,效價(jià)比仍是相當(dāng)優(yōu)異的。就幾乎無(wú)法接受系統(tǒng)損壞停機(jī)的電信產(chǎn)業(yè)而言,通訊設(shè)備供貨商(TEM)如何規(guī)劃一個(gè)價(jià)格合理、性能穩(wěn)定的高可用性系統(tǒng)呢?
硬件方面,以凌華科技cPCIS-3120/D300系列搭配cPCI-6760D的組合為例。熱插拔設(shè)計(jì)、版卡密度高、彈性化的模塊設(shè)計(jì),可按照客戶需求提供多種Driver
Bay設(shè)計(jì),是cPCIS-3120/D300機(jī)箱最大特點(diǎn)。而cPCI-6760D則是多數(shù)OS都支持驅(qū)動(dòng)程序、配有Dual
Channel IDE及外接SCSI等特色,是客戶需求的主因。
一個(gè)2N架構(gòu)的高可用系統(tǒng),通常會(huì)由以下幾個(gè)部分所組成:
1. 兩個(gè)以上的節(jié)點(diǎn)(Node, 通常指服務(wù)器)。分為主要(Active)和備援(Inactive)兩種,原則上節(jié)點(diǎn)的硬件配置會(huì)大致相同。
2. Heart Beat(心跳線)。為了安全起見(jiàn),在2N架構(gòu)的高可用環(huán)境中,通常我們會(huì)藉由網(wǎng)絡(luò)或通訊端口來(lái)建立Heart
Beat,讓各節(jié)點(diǎn)可偵測(cè)彼此的狀態(tài)是否穩(wěn)定,以及是否該啟動(dòng)備援機(jī)制。
3. 只被Active節(jié)點(diǎn)存取的共享磁盤。通常需要搭配一些特定應(yīng)用程序,例如Rose
HA或Dataware之類的軟件,確保數(shù)據(jù)不至于因主要節(jié)點(diǎn)與備援節(jié)點(diǎn)同時(shí)存取導(dǎo)致異常。
4. 網(wǎng)絡(luò)環(huán)境。通常是指TCP/IP的環(huán)境,每個(gè)節(jié)點(diǎn)至少要兩個(gè)LAN
Port?蛻舳艘部赏高^(guò)網(wǎng)絡(luò)存取主要節(jié)點(diǎn)上的應(yīng)用程序。
總結(jié)以上要件,根據(jù)前述cPCIS-3120/D300系列搭配cPCI-6760D,下圖是在大陸地區(qū)的電信產(chǎn)業(yè)中常使用的2N架構(gòu):
|
圖3. 電信常用的2N架構(gòu) |
在網(wǎng)絡(luò)方面,上圖的兩臺(tái)CompactPCI系統(tǒng)各有兩個(gè)LAN,分別可透過(guò)Switch經(jīng)由防火墻連接到外部網(wǎng)絡(luò)。兩個(gè)Switch之間有網(wǎng)絡(luò)連通,且每個(gè)系統(tǒng)至少有兩個(gè)LAN可維持系統(tǒng)的網(wǎng)絡(luò)通暢。
在儲(chǔ)存裝置方面,系統(tǒng)硬盤本身是個(gè)容易單點(diǎn)失效的環(huán)節(jié)。由于cPCI-6760D支持Dual
Channel IDE,cPCIS-3120/D300系列可安裝Internal RAID
Box,因此可以輕易實(shí)現(xiàn)內(nèi)部硬盤的RAID功能。而cPCI-6760D支持Ultra160
SCSI接口,因此可外接SCSI的儲(chǔ)存裝置,確保數(shù)據(jù)無(wú)虞。通常在選擇外接式儲(chǔ)存裝置時(shí),會(huì)選擇至少Dual
Channel的RAID System。此外,客戶也可以直接選擇NAS、iSCSI,而不選擇透過(guò)SCSI接口傳輸數(shù)據(jù)。
在實(shí)際應(yīng)用面而言,cPCIS-3120/D300系列支持7個(gè)peripheral
I/O槽,亦即最多可以插上7片通信版卡。由于CompactPCI有針對(duì)熱插拔訂定規(guī)范軟件及硬件的規(guī)范,因此只要有驅(qū)動(dòng)程序及熱插拔支持,即使任一版卡發(fā)生異常、升級(jí)、換修等狀況,都可以在不停機(jī)的狀況下完成。為了減少單點(diǎn)失效的狀況,cPCIS-3120/D300還提供了300W、雙電源線輸入的冗余電源供應(yīng)器,以及多個(gè)熱插拔的風(fēng)扇。
結(jié)語(yǔ)
了解企業(yè)需求、評(píng)估單點(diǎn)失效的狀態(tài),進(jìn)而選擇適當(dāng)?shù)牡能、硬件搭配,是建立一套高可用度平臺(tái)的基礎(chǔ)。前述文章提到,硬件充其量只能提供中上程度的高可用性,但是要將高可用度提升至99.999%的程度,通常都還需要搭配軟件支持。
舉例來(lái)說(shuō),在x86+Linux平臺(tái)上,常見(jiàn)的HA軟件也不少,例如開(kāi)放原始碼團(tuán)體Linux-HA的HeartBeat,
LVS(Linux Virtual Server)、、TurboHA等等,其它如MontaVista也有針對(duì)高可用度推出商業(yè)軟件包Carrier
Grade Edition。此外,不少人會(huì)選擇RoseHA建立儲(chǔ)存裝置TakeOver的機(jī)制,在主要節(jié)點(diǎn)失效時(shí)由備援節(jié)點(diǎn)接手,提升后端儲(chǔ)存裝置的高可用度。
在SPARC平臺(tái)上,Sun針對(duì)電信產(chǎn)業(yè)推出了NetraHA,以提供OS層級(jí)的高可用度,在2N的Full
Redundancy 架構(gòu)中確保系統(tǒng)穩(wěn)定運(yùn)作。此外,部分客戶也會(huì)要求使用Sun Solstice
Disk Suite進(jìn)行軟件RAID。如果客戶還要搭配外部?jī)?chǔ)存裝置,那么Proware的Dataware則是個(gè)方便的選擇。
|