擺脫網(wǎng)關(guān),讓雙活存儲(chǔ)真正平民化!
作者:佚名
在寫這一篇之前,我們先回顧一下去年的《存儲(chǔ)極客:大話“雙十一”與經(jīng)濟(jì)適用型雙活》,其中主要討論了以下話題:☟☟☟
互備算不算雙活?
雙活為什么比同步復(fù)制更怕“光纖抖動(dòng)”
數(shù)據(jù)庫(kù)復(fù)制與雙活
1000公里多活是如何實(shí)現(xiàn)的?
多企業(yè)經(jīng)濟(jì)適用的雙活
年紀(jì)大了記性容易不好列出這些供大家參考的同時(shí),也是為了避免自己再寫重復(fù)的東西。那么這次我有哪些新話題跟大家分享呢?
幾乎每次和同行朋友們討論雙活時(shí),都會(huì)有人提出應(yīng)用層實(shí)現(xiàn)更好。從某種角度上講這沒(méi)有錯(cuò),但理想很豐滿現(xiàn)實(shí)卻骨感,一說(shuō)到要重新開(kāi)發(fā)/調(diào)整應(yīng)用許多用戶就開(kāi)始搖頭了。更多的人還是愿意動(dòng)數(shù)據(jù)庫(kù)、存儲(chǔ)層,這樣簡(jiǎn)單、牽涉的方面較少,而且在數(shù)據(jù)層面拆成2份也比較好理解。
不排除有一部分用戶是為了“雙活”而雙活的,而同城乃至本地雙存儲(chǔ)(雙柜)也有其存在的價(jià)值。傳統(tǒng)中高端企業(yè)級(jí)陣列普遍能達(dá)到99.999%的可用性,但也有人“抽中過(guò)彩票”——遇到背板故障之類的小概率問(wèn)題。盡管這些情況數(shù)據(jù)恢復(fù)的概率比較大(加上有還有備份什么的),但停機(jī)時(shí)間長(zhǎng)了損失受不了。
Salesforce故障
給我們的啟示
對(duì)于數(shù)據(jù)庫(kù)保護(hù)和業(yè)務(wù)連續(xù)性,現(xiàn)在不少DBA推崇基于日志的復(fù)制(比如的Oracle ADG),而存儲(chǔ)復(fù)制和雙活的適用范圍可以更寬。在《Salesforce曝?cái)?shù)據(jù)丟失原因:存儲(chǔ)陣列固件bug?》一文中,我們也能看出DataGuard不是萬(wàn)能的——在容災(zāi)規(guī)劃考慮不夠充分的情況下,存儲(chǔ)壓力過(guò)大導(dǎo)致I/O超時(shí)可能造成數(shù)據(jù)庫(kù)文件損壞;另外,在沒(méi)有打開(kāi)Flashback時(shí)主庫(kù)壞塊被復(fù)制到從庫(kù)也是無(wú)法回滾的。
上圖同樣來(lái)自李德鵬老師的分享資料,里面提到了DataGuard擅長(zhǎng)應(yīng)對(duì)的故障,ADG加入了準(zhǔn)實(shí)時(shí)備庫(kù)只讀查詢功能,但它還不是真正的雙活。因此我們看到越來(lái)越多的人推薦同時(shí)部署DataGuard和Oracle Extended RAC,雖然后者也不是沒(méi)有技術(shù)上的前提和限制,比如底層存儲(chǔ)雙活的需求,但RPO=0和最小化RTO的吸引力還是蠻大的。
在Salesforce的例子中我們還看出不同品牌存儲(chǔ)的差別,如果有高效的Near-CDP、數(shù)據(jù)庫(kù)一致性快照技術(shù),此類故障RPO應(yīng)該有很大機(jī)會(huì)縮短至4小時(shí)以內(nèi)。
分布式存儲(chǔ)
帶來(lái)的挑戰(zhàn)
隨著SDS(軟件定義存儲(chǔ))的流行,借助多副本和糾刪碼技術(shù)的分布式集群可以支持節(jié)點(diǎn)級(jí)的容錯(cuò)。存儲(chǔ)服務(wù)器節(jié)點(diǎn)斷網(wǎng)、斷電已經(jīng)成為常規(guī)的POC測(cè)試項(xiàng)目。對(duì)于傳統(tǒng)雙控存儲(chǔ)陣列而言,只能拔一側(cè)的控制器或者電源,當(dāng)然這并不代表Server SAN的可靠性和可用性就會(huì)更高。
隨著VMware VSAN延伸集群的推出, Server SAN也開(kāi)始支持真正的雙活。從技術(shù)角度來(lái)看,多副本的機(jī)制對(duì)于將集群擴(kuò)展到同城數(shù)據(jù)中心有些先天便利。盡管只能應(yīng)用在虛擬化環(huán)境,VSAN此舉還是顯著拉低了存儲(chǔ)雙活的門檻,使該特性不再一味“高大上”。
沒(méi)有雙活都不好意思出去講,這大概也是存儲(chǔ)雙活市場(chǎng)不斷擴(kuò)大的原因吧。
擺脫網(wǎng)關(guān)
讓雙活存儲(chǔ)真正平民化
不可否認(rèn),EMC憑借VPLEX在存儲(chǔ)廠商中率先提出雙活數(shù)據(jù)中心的概念,并且讓更多人認(rèn)識(shí)到Oracle Extended RAC這種方案。正如上面的結(jié)構(gòu)圖,VPLEX將RAC表決磁盤放到虛擬卷上,簡(jiǎn)化了數(shù)據(jù)庫(kù)體系結(jié)構(gòu)。
使用ASM鏡像的存儲(chǔ)方案,也就是ASM的Normal和High冗余方式。“ASM Mirror的一個(gè)問(wèn)題是:怎樣保證RAC集群的仲裁盤滿足投票規(guī)則?…即使非超融合的雙機(jī)雙柜也要考慮這個(gè)問(wèn)題。對(duì)此有一種解決辦法是把仲裁盤放在外部NFS上。”
這份資料描述的就是依賴ASM來(lái)搭建遠(yuǎn)程RAC數(shù)據(jù)庫(kù)。A、B、C三個(gè)站點(diǎn)各有一套戴爾SC(Compellent Storage Center)陣列,沒(méi)有使用存儲(chǔ)自身的雙活。中間的站點(diǎn)C存儲(chǔ)上只放OCR和仲裁盤,以滿足Oracle RAC防止腦裂的最小需求。
如果使用VPLEX或者存儲(chǔ)自身的雙活,則無(wú)需第三套陣列,對(duì)仲裁站點(diǎn)的要求大為降低,而兩對(duì)VPLEX Metro網(wǎng)關(guān)的價(jià)格不菲,并且使存儲(chǔ)網(wǎng)絡(luò)變得復(fù)雜。如今流行的趨勢(shì)是陣列自帶雙活功能,比如VMAX3上基于同步復(fù)制發(fā)展而來(lái)的SRDF/Metro,還有性價(jià)比較高的戴爾SC系列Live Volume雙活等,都可以配合實(shí)現(xiàn)Oracle Extended RAC。
vMSC的Uniform
和Non-Uniform連接方式
上圖引用自VMwrae網(wǎng)站KB文章《Implementing vSphere Metro Storage Cluster(簡(jiǎn)稱vMSC) using Dell Storage Live Volume (2144158)》。在vSphere延伸集群環(huán)境中,Dell SC存儲(chǔ)雙活有兩種主機(jī)連接方式,這里列出的是Uniform方式,如果去掉紅圈部分的兩條交叉鏈路就變?yōu)镹on-Uniform方式。
在Non-Uniform雙活連接方式下,VMware主機(jī)可以通過(guò)本地Dell SC陣列的控制器來(lái)訪問(wèn)另一站點(diǎn)SC陣列Onwer的Live Volume活動(dòng)卷。這就是存儲(chǔ)雙活所特有,也是傳統(tǒng)同步復(fù)制所不具備的技術(shù)。
Windows/Hyper-V
雙活存儲(chǔ)自動(dòng)切換
Hyper-V虛擬化在追趕VMware大家都是知道的,我們也看到VMware支持的一些存儲(chǔ)、高可用特性會(huì)不斷被微軟采納。戴爾在SCOS 7.1 新版存儲(chǔ)軟件中,增加了Live Volume雙活對(duì)Windows、Hyper-V和集群環(huán)境的支持。
上圖引用自戴爾技術(shù)白皮書《Dell SC Series Storage: Synchronous Replication and Live Volume》。配置Live Volume之后的LUN,經(jīng)過(guò)兩套存儲(chǔ)(Compellent A、B)同時(shí)映射到主機(jī)后,可以由MPIO多路徑軟件整合。實(shí)際運(yùn)行中的連接狀態(tài),應(yīng)該可以Active/Standby或者Active/Active的方式。
這兩張圖截自Dell TechCenter網(wǎng)站上的視頻,我們不難看出用于第三站點(diǎn)仲裁的主機(jī)(或虛擬機(jī))上安裝有Dell Storage Manager管理軟件。上面還有LV-AFO支持微軟環(huán)境的最低網(wǎng)絡(luò)要求:
▌大于等于1Gb/s連接
▌小于等于5-10ms延時(shí)
▌作為仲裁的第三站點(diǎn)到每套Dell SC陣列的往返延時(shí)小于200ms
雖然這里的Windows/Hyper-V雙活是依賴Dell存儲(chǔ)實(shí)現(xiàn),而鏈路條件與VMware VSAN延伸集群的差別并不大,可見(jiàn)相關(guān)技術(shù)已經(jīng)比較成熟。
如上圖,Hyper-V集群中的Cluster Disk數(shù)據(jù)盤和Quorum Disk仲裁盤,都是放在CSV集群共享卷上的VHDX文件,集群共享卷底下就是Live Volume。與VMware環(huán)境相似的是,此時(shí)Hyper-V虛擬機(jī)也可以輕松地在不同站點(diǎn)之間的Windows主機(jī)間進(jìn)行遷移等操作。
同城雙活,Oracle Extended RAC目前普遍推薦的站點(diǎn)間距離(光纖長(zhǎng)度)是不超過(guò)40公里;VMware和Hyper-V最遠(yuǎn)可達(dá)100-300公里。網(wǎng)絡(luò)延時(shí)不可避免,規(guī)律還是距離越遠(yuǎn)性能越差。
在兩地三中心容災(zāi)方案中,除了同城之外一般還需要1000公里以外的災(zāi)備站點(diǎn)。這時(shí)就需要遠(yuǎn)程復(fù)制或者備份,由于延時(shí)和昂貴的帶寬基本上只能做到異步。以上圖中的Dell SC存儲(chǔ)為例,除了黃色區(qū)域的兩套陣列采用同步復(fù)制/雙活之外,還可以選擇在不同位置添加異步復(fù)制。一種是“級(jí)聯(lián)式復(fù)制”,從明尼阿波利斯的同城容災(zāi)中心復(fù)制到圣保羅(這里是用近距離來(lái)舉例);另一種則是“一對(duì)多復(fù)制(含雙活)”,直接從明尼阿波利斯主站點(diǎn)復(fù)制到東海岸的新澤西。
當(dāng)然,除了數(shù)據(jù)保護(hù)特性之外,用戶一定也不希望雙活與存儲(chǔ)的其它高級(jí)功能互斥,比如快照、自動(dòng)分層優(yōu)化等等。
責(zé)任編輯:潤(rùn)月
來(lái)源:
51CTO