最近有朋友要我?guī)兔Τ鲋\劃策。他的客戶向他提出了一個(gè)在我看來太過理想化的容災(zāi)需求,以至于初看起來,我根本不相信誰會(huì)為這樣的系統(tǒng)投入哪怕一分錢的資金??赡俏慌笥褕?jiān)持說,他的客戶已經(jīng)為這個(gè)需求劃撥了款項(xiàng),甚至都已經(jīng)開始進(jìn)行招標(biāo)工作了。沒辦法,人家都已經(jīng)要招標(biāo)的項(xiàng)目了,說什么也得認(rèn)真研究一下?。≌l讓咱是個(gè)做乙方的呢!


    那個(gè)需求基本上這樣的:


    在北京、上海和香港三地,已經(jīng)建設(shè)有三個(gè)類似IDC機(jī)房一樣的信息中心。每個(gè)信息中心里,都有花樣繁多的主機(jī)和存儲(chǔ)設(shè)備。主機(jī)平臺(tái)有IBM AIX,Sun Solaris,HP-UX,Windows和Linux;磁盤陣列有IBM FastT和ESS,EMC CLARiiON和Symmetrix,HDS,還有一些叫不上名字的小品牌。現(xiàn)在客戶希望在三地之間,建立起一種統(tǒng)一的數(shù)據(jù)管理機(jī)制,能夠讓這三個(gè)信息中心的數(shù)據(jù)最大可能的受到保護(hù)。簡單的說,就是在三個(gè)復(fù)雜的系統(tǒng)之間進(jìn)行跨平臺(tái)的容災(zāi)。怎么樣,你也覺得這需求有點(diǎn)夸張吧?!如果您還不是十分明白這個(gè)需求為什么難以實(shí)現(xiàn),我們不妨更進(jìn)一步的看看這里面的種種技術(shù)陷阱。



圖1. 常見容災(zāi)架構(gòu)


    目前的容災(zāi)系統(tǒng),其工作原理想必大家都已經(jīng)有所了解了,基本架構(gòu)都是圖1.中顯示的模樣。在存儲(chǔ)系統(tǒng)方面,最為關(guān)鍵的部分就是在兩地間建立主機(jī)無關(guān)的實(shí)時(shí)數(shù)據(jù)鏡像機(jī)制。但是請(qǐng)注意,這里所說的“主機(jī)無關(guān)”是指數(shù)據(jù)拷貝過程不通過應(yīng)用主機(jī)完成,數(shù)據(jù)流甚至不經(jīng)過應(yīng)用主機(jī)的總線。然而被鏡像保護(hù)的數(shù)據(jù)本身,是要受主機(jī)的文件系統(tǒng)限制的。在這一點(diǎn)上,主機(jī)并不是無關(guān)的,相反是大大的相關(guān)。簡單的說,把數(shù)據(jù)復(fù)制到遠(yuǎn)端的過程,可以不考慮主機(jī),但是訪問和利用已經(jīng)復(fù)制到遠(yuǎn)端的數(shù)據(jù),則需要充分而慎重的考慮主機(jī)和應(yīng)用系統(tǒng)的數(shù)據(jù)特征。


    為了不讓那些費(fèi)盡九牛二虎之力復(fù)制到遠(yuǎn)端的數(shù)據(jù)變成無用的0/1,磁盤陣列的容災(zāi)功能絕不僅僅是數(shù)據(jù)拷貝那么簡單,而是要通過種種手段來保證被復(fù)制的數(shù)據(jù)經(jīng)過長途跋涉之后,仍然是完全可靠和可用的。這在專業(yè)術(shù)語上,叫做保證數(shù)據(jù)一致性。在這一點(diǎn)上,目前還沒有一定的規(guī)范可循,不同的磁盤陣列廠商具體采用的方法也就不盡相同。這也正是各個(gè)磁盤陣列廠商夸耀自己產(chǎn)品的重點(diǎn)所在。當(dāng)然,這也造成了不同廠家的磁盤陣列產(chǎn)品之間,甚至同一廠家的不同系列產(chǎn)品之間,不能夠?qū)崿F(xiàn)主機(jī)無關(guān)的數(shù)據(jù)復(fù)制。


    有了這些概念之后,讓我們?cè)倩氐角懊嬲f到的那個(gè)“理想化”需求。要想在三地之間建立主機(jī)無關(guān)的數(shù)據(jù)復(fù)制,首先就需要保證三地存儲(chǔ)設(shè)備硬件的可連通。舉例來說,如果某地正在使用一臺(tái)EMC Symmetrix,那么另外兩地為了能夠與這臺(tái)Symmetrix實(shí)現(xiàn)數(shù)據(jù)同步,也需要分別配置Symmetrix各一臺(tái)。另外,由于文件系統(tǒng)的主機(jī)相關(guān),三地在存儲(chǔ)硬件連通的基礎(chǔ)上,還需要保證主機(jī)和應(yīng)用一致。就是說,如果剛才那臺(tái)Symmetrix上連接的是Sun Solaris的操作系統(tǒng)并運(yùn)行Oracle數(shù)據(jù)庫,那么另外兩地也需要配置Sun Solaris主機(jī)和Oracle數(shù)據(jù)庫,才能訪問被遠(yuǎn)程復(fù)制的數(shù)據(jù)。同理,再針對(duì)CLARiiON、ESS、FastT……等設(shè)備逐一建立容災(zāi)系統(tǒng)。



圖2. 基于磁盤陣列的數(shù)據(jù)同步將導(dǎo)致復(fù)雜的鏡像關(guān)系


    如果真的照此實(shí)現(xiàn)三地間的容災(zāi),恐怕這個(gè)容災(zāi)系統(tǒng)本身就是一個(gè)大災(zāi)難了。可以想象一下,就算用戶有花不完的銀子來搭建這個(gè)系統(tǒng),系統(tǒng)管理員每天要面對(duì)數(shù)不清的遠(yuǎn)程專用鏈接、卷組映射關(guān)系、應(yīng)用切換和接管……如果再加上磁盤空間擴(kuò)展和新增應(yīng)用這些原本很簡單的任務(wù)帶來的麻煩,系統(tǒng)的正常工作時(shí)間應(yīng)用不會(huì)超過20%,甚至是永遠(yuǎn)都無法正常工作。


    那么,既然基于磁盤陣列的數(shù)據(jù)鏡像不可行,我們能否考慮采用基于主機(jī)的數(shù)據(jù)復(fù)制呢?答案恐怕還是No!基于主機(jī)的數(shù)據(jù)復(fù)制雖然可以繞過磁盤陣列硬件級(jí)的連通性,即可以實(shí)現(xiàn)不同磁盤陣列間的數(shù)據(jù)同步,但是仍然無法避免主機(jī)操作系統(tǒng)多樣性帶來的復(fù)雜性。系統(tǒng)維護(hù)人員仍然需要面對(duì)各種各樣的數(shù)據(jù)格式,逐一的建立鏡像機(jī)制,這其實(shí)也是一個(gè)徹頭徹尾的“Mission Impossible”。



圖3. 基于主機(jī)的數(shù)據(jù)復(fù)制仍然無法避免復(fù)雜性


    說到這里,我們大致可以得出一個(gè)結(jié)論。那就是,傳統(tǒng)的容災(zāi)技術(shù)比較適合單一大型機(jī)的應(yīng)用環(huán)境,如傳統(tǒng)的金融數(shù)據(jù)中心和電信數(shù)據(jù)中心等,而在復(fù)雜多變的開放式IDC或類似環(huán)境中,則顯得非常笨拙無力。這也正是筆者在看到那個(gè)需求后大驚小怪的原因。然而,還是那句話,技術(shù)的進(jìn)步真是難以預(yù)料。隨著“911”之后,全球企業(yè)用戶對(duì)容災(zāi)系統(tǒng)的關(guān)注,一批技術(shù)型公司已經(jīng)把開放式環(huán)境中的容災(zāi)技術(shù)做得越來越像樣了。這類技術(shù)最早是來自于虛擬存儲(chǔ)的附加功能。


    虛擬存儲(chǔ)技術(shù)原本的目的,主要是提高存儲(chǔ)系統(tǒng)的利于效率。通過虛擬存儲(chǔ)的統(tǒng)一管理,各個(gè)前端主機(jī)可以透明的使用各個(gè)后端存儲(chǔ)設(shè)備,甚至將數(shù)據(jù)分散存儲(chǔ)在不同設(shè)備中。虛擬存儲(chǔ)對(duì)后端磁盤陣列的管理,頗有點(diǎn)像陣列控制器對(duì)后端磁盤的管理。通過中間層次的虛擬化管理,前端應(yīng)用主機(jī)就不必關(guān)心后端磁盤陣列的特殊性,而后端磁盤陣列的配置變換和擴(kuò)展也可以盡可能的不涉及到前端主機(jī)。


    隨著虛擬存儲(chǔ)的發(fā)展,出現(xiàn)了一些專門提供此類功能的設(shè)備,也出現(xiàn)了專門提供虛擬存儲(chǔ)設(shè)備的產(chǎn)品供應(yīng)商。然而,僅僅是透明管理磁盤陣列顯然難以為用戶的存儲(chǔ)系統(tǒng)帶來很高的附加值,于是乎這些廠商就不約而同的想到了虛擬存儲(chǔ)的附加功能。數(shù)據(jù)快照和遠(yuǎn)程數(shù)據(jù)鏡像,幾乎是所有虛擬存儲(chǔ)設(shè)備中首批裝備的附加功能。借由虛擬存儲(chǔ)設(shè)備中所提供的遠(yuǎn)程鏡像功能,原則上講,任何磁盤陣列產(chǎn)品都可以實(shí)現(xiàn)主機(jī)無關(guān)的遠(yuǎn)程數(shù)據(jù)復(fù)制了,而且完全不受廠商和產(chǎn)品系列的限制。



圖4. 虛擬存儲(chǔ)設(shè)備所提供的遠(yuǎn)程鏡像


    虛擬存儲(chǔ)所提供的遠(yuǎn)程鏡像固然是不錯(cuò),不過限制和不便依然存在。如果你需要如圖4中所示的容災(zāi)方案,你就要首先把現(xiàn)有存儲(chǔ)系統(tǒng)統(tǒng)統(tǒng)進(jìn)行虛擬化管理。這顯然有點(diǎn)不夠方便,也不近人情。要知道,由于虛擬存儲(chǔ)的額外管理層所帶來的額外系統(tǒng)資源開銷和額外故障點(diǎn),很多用戶在考慮虛擬存儲(chǔ)時(shí),態(tài)度都十分慎重。能不能把虛擬存儲(chǔ)中的容災(zāi)功能剝離出來,單獨(dú)應(yīng)用呢?近來一些廠商在這一領(lǐng)域的新進(jìn)展,給出了肯定的答案。幾天前,筆者見到了美國一個(gè)小公司所發(fā)布的產(chǎn)品,那款產(chǎn)品就是專門用于容災(zāi)系統(tǒng)的設(shè)備,其基本工作原理就是將原來虛擬存儲(chǔ)中的遠(yuǎn)程鏡像功能剝離出來并進(jìn)一步完善而成的。



圖5. 從虛擬存儲(chǔ)中剝離出來的專業(yè)容災(zāi)設(shè)備


    從圖5上看,這種產(chǎn)品的使用模式仍然帶有明顯的“帶外”虛擬存儲(chǔ)的痕跡,但是與“帶外”虛擬存儲(chǔ)最大的不同就是,這一設(shè)備并不改變現(xiàn)有SAN的應(yīng)用和訪問模式,完全是“附加”在SAN上的一個(gè)功能模塊。也就是說,對(duì)我們前面提到的那個(gè)需求來講,每個(gè)數(shù)據(jù)中心只要配置一臺(tái)這樣的設(shè)備,再把三地間的遠(yuǎn)程物理鏈路搭建好,就一切OK啦!兩小時(shí)內(nèi)完成容災(zāi)系統(tǒng)的搭建,成本投入在十幾萬元人民幣。這不是癡人說夢(mèng),不久的將來,就會(huì)在你我的眼前實(shí)現(xiàn)了。


    本文首發(fā)于DOSTOR《信息存儲(chǔ)》雜志創(chuàng)刊號(hào)封面故事。
    點(diǎn)此免費(fèi)訂閱《信息存儲(chǔ)》雜志,讓“信息創(chuàng)造存儲(chǔ)價(jià)值”

分享到

多易

相關(guān)推薦