有些時(shí)候,明明一臺(tái)服務(wù)器就可以搞定的,可是卻非要用2臺(tái)服務(wù)器,也就是所謂“雙機(jī)冗余”方案,有時(shí)候,甚至不惜采用服務(wù)器集群。
為什么需要采用雙機(jī)冗余方案?道理很簡(jiǎn)單,該系統(tǒng)不容絲毫閃失,需要系統(tǒng)7×24小時(shí)不中斷服務(wù),追求系統(tǒng)的高可靠性。
這樣的應(yīng)用非常多,金融、電信、民航、交通、電力、制造等行業(yè)有大量的這樣的應(yīng)用,現(xiàn)在的問(wèn)題是,用戶花費(fèi)雙倍的投入,有沒(méi)有得到所需要的高可靠性呢?答案是否定的,原因并不來(lái)自服務(wù)器,而是來(lái)自管理控制的軟件。雙機(jī)冗余也好,集群也好,本質(zhì)上是通過(guò)軟件進(jìn)行控制的,軟件的可靠性并不高。另外,當(dāng)系統(tǒng)需要切換的時(shí)候,一來(lái)需要時(shí)間;二來(lái)應(yīng)用系統(tǒng)未必可以順利切換,特別是系統(tǒng)運(yùn)行一段時(shí)間時(shí)候,兩臺(tái)機(jī)器在同步性上難免有差異,即使運(yùn)行管理到位,系統(tǒng)是否可以順利切換,都是一個(gè)未知數(shù)。多數(shù)情況下,就是一個(gè)心理上的安慰。
雙機(jī)冗余方案或者集群方案給硬件廠商和軟件廠商都帶來(lái)的巨大商業(yè)利益,生意額瞬間翻番,因此廠商有熱情推動(dòng)發(fā)案的銷售。對(duì)于用戶來(lái)說(shuō),雙機(jī)冗余或者集群的確具有高于單機(jī)的效果,盡管有些無(wú)奈,也不得不接受這樣的方案。
就沒(méi)有更理想的方案嗎?以Stratus為首的容錯(cuò)服務(wù)器是一個(gè)更加理想的方案。
容錯(cuò)方案的本質(zhì)是像一臺(tái)x86 服務(wù)器一樣進(jìn)行管理,它的設(shè)計(jì)目的是實(shí)現(xiàn)標(biāo)準(zhǔn)服務(wù)器無(wú)法達(dá)到的保護(hù)運(yùn)行時(shí)間,適合數(shù)據(jù)中心和遠(yuǎn)程現(xiàn)場(chǎng)關(guān)鍵應(yīng)程序使用。它通過(guò)一個(gè)被稱為“雙模修復(fù) (DMR) Lockstep 設(shè)計(jì)”的技術(shù),讓2臺(tái)服務(wù)器工作在相同時(shí)鐘周期下,確保計(jì)算指令同步運(yùn)行。兩個(gè)系統(tǒng)運(yùn)行結(jié)果一致,計(jì)算進(jìn)入下一步,結(jié)果不一致,返回重新計(jì)算,避免錯(cuò)誤的產(chǎn)生。其中,不僅CPU工作在雙模修復(fù)狀態(tài)下,內(nèi)存、PCI和外部I/O全部工作在這個(gè)模式下。
如果硬件損壞,有故障的模塊退出服務(wù),該模塊失去容錯(cuò),進(jìn)入單機(jī)工作狀態(tài),可靠性雖然降低,但系統(tǒng)仍然保持運(yùn)行。由于模塊支持熱插拔,更換之后,重新投入容錯(cuò)工作狀態(tài)。對(duì)于容錯(cuò)服務(wù)器而言,當(dāng)且僅當(dāng)相同模塊同時(shí)損壞,才會(huì)導(dǎo)致系統(tǒng)的宕機(jī),這種概率是非常低的,遠(yuǎn)遠(yuǎn)低于單臺(tái)服務(wù)器的故障率。對(duì)于這種極限情況,更有效的手段是容災(zāi),而不是在系統(tǒng)上做文章。
容錯(cuò)服務(wù)器是用戶關(guān)鍵業(yè)務(wù)應(yīng)有的理想選擇。一臺(tái)容錯(cuò)服務(wù)器的售價(jià)高于兩臺(tái)獨(dú)立的服務(wù)器。但從系統(tǒng)的角度,容錯(cuò)是一臺(tái)設(shè)備,所需要的操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件的軟件授權(quán)是一臺(tái),而不是兩臺(tái)。因此,在系統(tǒng)的TCO(總體擁有成本)上優(yōu)勢(shì)明顯。但對(duì)軟件商家而言,肯定不會(huì)推薦這樣的系統(tǒng)。為此,有評(píng)論指出:雙機(jī)是商家的選擇,而容錯(cuò)則是用戶的選擇。
從市場(chǎng)表現(xiàn)看,容錯(cuò)處于下風(fēng),這說(shuō)明,用戶遠(yuǎn)沒(méi)有商家精明。這不是悲哀!這種現(xiàn)象的背后,折射出的是商家與用戶在信息技術(shù)上的不對(duì)等。另外一個(gè)原因就是Stratus等容錯(cuò)廠商,重視技術(shù),不會(huì)進(jìn)行市場(chǎng)推廣,而這也恰恰Stratus的特點(diǎn)。