在IBM大型主機的世界中,有一個GDPS家族為數(shù)據(jù)中心提供全方位的呵護。經(jīng)歷了20多年的歷練,這個家族可以高質(zhì)量地提供好幾種災備和雙活的解決方案,再配以靈活的深度可裁剪能力,自然有適合您的選擇。其中的GDPS/Active-Active雙活方案宇宙行已經(jīng)在兩年多前成功實施上線,并成功實現(xiàn)了生產(chǎn)系統(tǒng)運行中進行的一鍵式乾坤大挪移。

事隔一年多,關(guān)注宇宙行的朋友可能還注意到了朋友圈里這樣一則消息《工行主機新一代雙活非對稱架構(gòu)投產(chǎn)成功》(2018年4月):

 

宇宙行總是不負眾望的。升級了同城雙活架構(gòu)到達2.0版本!雙活2.0和非對稱架構(gòu),這又是什么意思呢?讓我來給您解答一下。2016年底成功地進行了生產(chǎn)運行中的雙活乾坤大挪移Live Demo的版本稱為雙活1.0,這次的進階版本被宇宙行定版為雙活2.0。雙活2.0使用的基礎(chǔ)架構(gòu)是IBM稱為GDPS/Active-Active ZDL(Zero Data Loss,ZDL)即雙活數(shù)據(jù)零丟失的解決方案。

 

其實大家都有一個期望就是能夠在系統(tǒng)層面做到零數(shù)據(jù)丟失。然而,通常使用數(shù)據(jù)庫層面的異步復制技術(shù)達不到啊。于是,IBM在原有GDPS Continuous Availability sites (GDPS AA 1.0)概念的基礎(chǔ)上,結(jié)合磁盤復制技術(shù)進行創(chuàng)新,特意為同城距離的GDPS AA實現(xiàn)了零數(shù)據(jù)丟失的功能,從系統(tǒng)層面在保證RPO=0的情況下,一個方案同時解決計劃內(nèi)和計劃外的事件應對。

出個簡單明了的架構(gòu)示意圖如下,讓我們來一起看看GDPS/A-A 1.0的基本架構(gòu)和GDPS/A-A ZDL(零數(shù)據(jù)丟失)架構(gòu)的數(shù)據(jù)復制架構(gòu)不同:

* 圖中標注的GDPS/A-A 1.7 ZDL的意思是在GDPA/A-A 1.7版時加入了零數(shù)據(jù)丟失(ZDL)的架構(gòu)支持。

首先要注意的一點是數(shù)據(jù)復制路線的變化。1.0的基本架構(gòu)是通過IBM InfoSphere Data Replication for Db2 z/OS (IIDR,也簡稱QREP)在生產(chǎn)Site1把Db2的日志更新進行捕獲(Capture),然后傳輸?shù)絊ite2進行日志重放(Apply)。ZDL的架構(gòu)不同的地方是引入了MTMM(Multi-Target Metro Mirror)或者叫MTPPRC。通過磁盤的PPRC同步復制技術(shù)把Db2的日志同步傳輸?shù)絊ite2。在Site2再進行Db2的日志更新捕獲和日志重放。ZDL結(jié)合了PPRC同步復制技術(shù)和數(shù)據(jù)庫異步復制技術(shù),保證Db2日志RPO=0,再通過數(shù)據(jù)庫復制補齊Site2數(shù)據(jù)庫中的內(nèi)容(在同一個站點內(nèi)進行,速度會非常快),達到數(shù)據(jù)層面的RPO=0。

其次再多看一點MTMM。AA1.0基本架構(gòu)下,一般的生產(chǎn)系統(tǒng)(在Site1)都會配置本地的PPRC同步磁盤復制,同時激活Hyperswap功能。這樣就可以保證本地磁盤的高可用了。而在ZDL架構(gòu)下引入的MTMM,在保證本地磁盤高可用的情況下,還可以再多一份磁盤拷貝放到遠端。如圖中所示,RS1和RS2是在Site1的兩套磁盤做本地磁盤高可用。RS3是第三份磁盤拷貝放到了Site2。這三份磁盤之間通過三角形兩兩互聯(lián)。正常情況下數(shù)據(jù)復制的方向如RL1和RL2所標識的。MTMM也支持兩種配置,一種是三份磁盤等量復制;一種是本地兩份全量,第三份部分復制。圖示中的RS3是部分復制的配置。如果當本地磁盤發(fā)生Hyperswap(RS1故障,RS2接管)后,RL3的虛線會即時轉(zhuǎn)變?yōu)镽S2到RS3的復制鏈路,同步兩端的狀態(tài)(MTIR),并繼續(xù)進行數(shù)據(jù)復制。

再次來看看QREP復制組件位置的變化。ZDL架構(gòu)下“在Site2再進行Db2的日志更新捕獲和日志重放”,這個變化還是很有意味的。數(shù)據(jù)復制的架構(gòu)通過這樣的變化脫離了Site1的生產(chǎn)數(shù)據(jù)庫。減少了數(shù)據(jù)復制組件和生產(chǎn)數(shù)據(jù)庫的相互影響,同時Capture和Apply之間的穩(wěn)定性也得到極大提升。Site1生產(chǎn)環(huán)境變得更加單純了。

最后,CDDS (壓縮字典數(shù)據(jù)集)是新引入的一個重要組件。通過CDDS的PPRC鏡像,源端Db2 DSG (Data Sharing Group)的一些關(guān)鍵狀態(tài)信息都同步復制到了Site2。這樣,在Site2的QREP才在不進入源端環(huán)境的情況下,能夠正確了解源端Db2 DSG的狀態(tài),從而進行正確的Capture/Apply操作。例如,CDDS中包含了Db2 DSG集群成員的Log使用狀態(tài);包含了源端數(shù)據(jù)庫表正在使用的兩代壓縮字典,等等。

那么GDPS在整個架構(gòu)中起到什么作用呢?簡單回答就是兩個中心,兩個主機集群,好多磁盤,好多軟件實例,還有應用負載,數(shù)據(jù)復制,你一定想應該有個東西能夠統(tǒng)一管理,自動化操作,方便的配置等等,這就是GDPS的核心作用??梢粤_列出至少以下幾點:

  1. 提供一個對整個GDPS/A-A架構(gòu)進行集中監(jiān)控的平臺;
  2. 啟動/停止數(shù)據(jù)復制;
  3. 管理、監(jiān)控不同的負載(workload);
  4. 管理、操作跨站點的負載均衡;
  5. 管理、操作磁盤及軟件復制架構(gòu);
  6. 對兩個站點的主機進行管理和操作,包括進行集群和成員的啟動/停止,臨時容量調(diào)整等;
  7. 進行計劃內(nèi)/計劃外的自動化負載切換或站點切換;
  8. 用戶可以通過裁剪腳本嵌入自己特有的一些操作。

別看架構(gòu)變化不太大,可產(chǎn)生了兩大效果:

第一,磁盤級同步數(shù)據(jù)復制在Site2形成了一個真正的Site1生產(chǎn)數(shù)據(jù)庫的影子,實時同步;

第二,QREP的數(shù)據(jù)捕獲(Capture)移到Site2,變得更加獨立。

這兩大效果反映到用戶的實際場景中的價值,那就是無論計劃內(nèi)還是計劃外的事件都可以做到RPO=0。同時優(yōu)化了整體的復制架構(gòu),使得復制的效率和穩(wěn)定性都得到大幅提升。通過GDPS和客戶裁剪的腳本可以讓兩中心的統(tǒng)一運維管理得到極大的簡化并提升效率。

總結(jié)都寫了,但還有兩個問題重要問題要說明一下!

問題一:為啥要引入PPRC同步復制呢?

回答:實際效果前面都寫到了。那么從理論上如何認識這件事情呢?“雙活或者多活數(shù)據(jù)中心在要求數(shù)據(jù)完整一致的情況下,就必須要在整體的架構(gòu)設(shè)計中在某個層面保證某一類數(shù)據(jù)跨中心的完整一致,在出現(xiàn)問題時,可以通過這類數(shù)據(jù)進行數(shù)據(jù)庫數(shù)據(jù)的恢復。”這個說法很容易通過反證法證明。

PPRC的引入,是把數(shù)據(jù)最終恢復用到的Db2日志進行跨中心的同步復制。在數(shù)據(jù)中心的層面完成整個系統(tǒng)中最關(guān)鍵的數(shù)據(jù)完整一致的保證。從系統(tǒng)的層面實現(xiàn)RPO=0。

問題二:為啥叫非對稱架構(gòu)呢?

回答:從上面的圖中也可以看到,從Site1到Site2是通過MTMM加上QREP的方式把Db2日志復制到Site2并在Site2進行Db2日志重放。而從Site2到Site1圖中并沒有明示通過什么方式。如果從Site2到Site1選用的方式也是通過和Site1到Site2一樣的MTMM加上QREP的方式,那么,我們就說這樣的配置是對稱架構(gòu),否則就是非對稱架構(gòu)。

如果真到了對稱架構(gòu)的模式,我們又有更多的想象空間了。比如,對稱架構(gòu)下的站點切換模式和平臺運行模式。

分享到

zhupb

相關(guān)推薦