我們知道傳統(tǒng)意義上的自動接管,需要具備HA雙機軟件,偵測故障發(fā)生并執(zhí)行切換,通常是在有共享存儲的情況下切換服務器。這時存在一個問題,如果共享的磁盤陣列壞了怎么辦?盡管有許多雙控制器存儲號稱沒有單點故障了,但他們一般最多宣傳99.999%的可用性,也就是依然有宕機的可能。就像某國外廠商說的,背板故障也不是沒遇到過…
火星艙CDP的手動接管,是在生產(chǎn)存儲出現(xiàn)設備故障和數(shù)據(jù)錯誤時,將CDP磁盤組掛載到生產(chǎn)服務器或者備用服務器,恢復數(shù)據(jù)庫和/或者應用的正常運行。那么,有沒有將CDP連續(xù)數(shù)據(jù)保護與傳統(tǒng)服務器雙機結合使用的方法呢?答案是肯定的。
但有些災難和故障發(fā)生時,不僅是數(shù)據(jù)錯誤或者存儲系統(tǒng)的故障,這時用戶除了確保數(shù)據(jù)可用之外,還要考慮如何恢復業(yè)務。
HA考慮因素:備機與共享存儲
這里用戶應該根據(jù)自己的實際情況來部署,首先考慮的因素是備機:是選擇物理服務器、專用的虛擬化容災服務器(外部),還是火星艙內(nèi)置的虛擬機。
選擇物理服務器、專用的虛擬化容災服務器其性能和可用性都是最好的,但成本投入也比較大;虛擬化可以做多對一的業(yè)務接管,設備的利用效率提高,可能需要購買虛擬化軟件許可;而采用火星艙,不用投入單獨的設備,火星艙內(nèi)置虛擬機會分享火星艙本身的硬件資源,但是性能上會受一定的限制。最重要的是用戶根據(jù)自己的情況來選擇適合自己的場景。
另一個考慮因素,如果做服務器雙機HA自動接管,是否有共享存儲也是一個需要考慮的問題。
如果是“雙機單柜”,在增加了火星艙CDP之后就是“雙機雙柜”了,當故障切換發(fā)生時備機第一時間接替對生產(chǎn)存儲——共享磁盤陣列的訪問,同樣連接兩臺主機的CDP磁盤組也要切換過去,同時備用服務器上安裝的鏡像代理程序要無縫接管寫入拆分的任務,繼續(xù)保持火星艙與生產(chǎn)存儲之間的數(shù)據(jù)同步。
當生產(chǎn)服務器的故障修復后,火星艙CDP保護任務,還能隨著兩套存儲的“回切”而一并切回至生產(chǎn)主機。
要是沒有共享存儲呢?如果應用數(shù)據(jù)位于生產(chǎn)服務器內(nèi)置硬盤(通常也做了RAID),服務器宕機后上面的數(shù)據(jù)也無法訪問了,此時服務器切換的HA軟件會將備用服務器連接的“共享盤”指向CDP磁盤組,這樣就相當于火星艙CDP完成了數(shù)據(jù)同步復制的工作。
在成本有限、業(yè)務壓力相對不高的情況下,如果采用火星艙虛擬機作為備機,CDP+HA方案加上生產(chǎn)服務器一共只需要兩臺設備。這時虛擬機到CDP磁盤組的連接可在設備內(nèi)部直接高效實現(xiàn)。
最后,談談數(shù)據(jù)塊級同步CDP,在雙機HA + 數(shù)據(jù)容災方案中的優(yōu)勢。
首先,火星艙CDP可以保護任何塊存儲設備,也就是操作系統(tǒng)中可以看到的任何磁盤。包括外部連接的FC SAN、iSCSI還是DAS存儲,也可以是服務器機箱內(nèi)的單個硬盤或者RAID卡配置的陣列。對于后者這一點,磁盤陣列廠商的同步鏡像/復制是無法解決的。
其次,對于許多文件級CDP和基于日志的異步復制方案,通常是定時傳送變化數(shù)據(jù),或者先臨時保存在本地暫存區(qū)。這時一旦生產(chǎn)存儲不可訪問,CDP備用設備上的數(shù)據(jù)與生產(chǎn)數(shù)據(jù)之間會有一個差異量。也就是說在切換時很可能會丟數(shù)據(jù)!
而火星艙則不存在上述的問題,這就是我們在前兩篇文章中曾經(jīng)介紹過的“RPO=0”和“塊級同步保護”。