自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

突破存儲(chǔ)跨中心雙活方案設(shè)計(jì)階段難點(diǎn)之二:性能影響

存儲(chǔ) 存儲(chǔ)軟件
存儲(chǔ)跨數(shù)據(jù)中心雙活的方案更是雙活數(shù)據(jù)中心架構(gòu)方案中最重要且最艱難的一項(xiàng),為了幫助企業(yè)IT架構(gòu)師理清和解決存儲(chǔ)跨中心雙活方案架構(gòu)的難點(diǎn),twt社區(qū)特別組織線上交流,邀請(qǐng)專家逐一對(duì)難點(diǎn)進(jìn)行解析和解答。

存儲(chǔ)跨數(shù)據(jù)中心雙活的方案更是雙活數(shù)據(jù)中心架構(gòu)方案中最重要且最艱難的一項(xiàng),為了幫助企業(yè)IT架構(gòu)師理清和解決存儲(chǔ)跨中心雙活方案架構(gòu)的難點(diǎn),twt社區(qū)特別組織線上交流,邀請(qǐng)專家逐一對(duì)難點(diǎn)進(jìn)行解析和解答。

存儲(chǔ)跨中心雙活方案設(shè)計(jì)階段如何盡量降低對(duì)整體性能的影響?

性能影響問(wèn)題:因?yàn)殡p活系統(tǒng)在寫入數(shù)據(jù)時(shí),會(huì)寫兩次數(shù)據(jù),尤其是通過(guò)復(fù)制功能寫到遠(yuǎn)端存儲(chǔ)的過(guò)程,傳輸鏈路的性能也會(huì)影響整體性能。在選型設(shè)計(jì)階段該如何解決該難點(diǎn)?盡量降低對(duì)整體性能的影響?

[[206858]]

解析和解答

鄧毓 某農(nóng)信社資深骨干工程師

這個(gè)問(wèn)題實(shí)際上存儲(chǔ)雙活不可避免要遇到的問(wèn)題,相比單存儲(chǔ)直接提供讀寫來(lái)說(shuō),存儲(chǔ)雙活一定會(huì)增加讀寫響應(yīng)時(shí)間,更別說(shuō)存儲(chǔ)還是跨兩個(gè)不同數(shù)據(jù)中心的,隨著距離的增加,理論上每增加100KM,會(huì)增加1ms的RTT(往返延遲時(shí)間),通常單個(gè)IO總耗時(shí)在1-3ms左右,就會(huì)認(rèn)為單個(gè)存儲(chǔ)I/O處理處于比較高性能的模式,如果加上其他因素,如“數(shù)據(jù)頭處理”和“并發(fā)”,1ms的“理論”延時(shí)增加的影響會(huì)成倍增加,將原本處于高性能模式的IO響應(yīng)時(shí)間拉高,對(duì)應(yīng)用或者數(shù)據(jù)庫(kù)來(lái)說(shuō),“變慢”了。所以存儲(chǔ)雙活的初衷是只是為了高可用性和提高總體并發(fā)、吞吐量,并不是為了降低讀寫響應(yīng)時(shí)間。那么我們?cè)谠O(shè)計(jì)、選型存儲(chǔ)雙活方案時(shí),就需要考慮如何盡量降低雙活的存儲(chǔ)所帶來(lái)的性能降低影響。

我們先來(lái)看看一些存儲(chǔ)雙活方案的讀寫流程:

(1)IBM SVC Enhanced Stretch Cluster(ESC)和HDS GAD等

IBM SVC ESC和HDS GAD的讀寫方式都很類似,這里就放在一起來(lái)看。

SVC ESC:

HDS GAD:

讀:

ESC和GAD在兩個(gè)存儲(chǔ)拉開到兩個(gè)數(shù)據(jù)中心,形成AA模式的架構(gòu),對(duì)于讀來(lái)說(shuō),是兩個(gè)數(shù)據(jù)中心分別對(duì)各自中心的存儲(chǔ)本地讀,這樣讀來(lái)說(shuō)不存在跨站點(diǎn)的RTT,讀性能跟單存儲(chǔ)是一樣的。

寫:

某數(shù)據(jù)中心的寫操作會(huì)先寫到本地控制節(jié)點(diǎn)緩存,然后再跨站點(diǎn)同步至另一控制節(jié)點(diǎn)緩存中,并原路返回,告訴主機(jī)寫操作完成,等到緩存達(dá)到一定的水位時(shí),再刷入各自底層存儲(chǔ)當(dāng)中,這時(shí)的寫操作存在1倍的跨站點(diǎn)RTT。當(dāng)兩個(gè)數(shù)據(jù)中心都要對(duì)某一數(shù)據(jù)塊寫操作時(shí),會(huì)先在緩存表對(duì)應(yīng)的數(shù)據(jù)塊中加鎖,并同步鎖信息至對(duì)端緩存表,實(shí)現(xiàn)雙活存儲(chǔ)的寫并發(fā)。所以寫也是本地寫的方式,性能跟單存儲(chǔ)比是降低的。

(2)SVC HyperSwap

SVC HyperSwap的HyperSwap卷有master和aux之分,讀寫復(fù)雜度也高很多,master卷所在站點(diǎn)的主機(jī)讀寫是本地讀本地寫,而aux卷所在站點(diǎn)的主機(jī)讀寫方式是轉(zhuǎn)發(fā)模式。

假設(shè)初始化后,Site1的卷為Master卷,Site2的卷為Aux卷

讀:

Site1讀I/O

1.主機(jī)向SVC I/O Group1的任意一個(gè)節(jié)點(diǎn)發(fā)送讀請(qǐng)求

2.SVC I/O Group1將該請(qǐng)求傳至Storage Pool1

3.Storage Pool1響應(yīng)請(qǐng)求,并將數(shù)據(jù)傳至SVC I/O Group1

4.SVC I/O Group1將數(shù)據(jù)結(jié)果傳至主機(jī)

Site2讀I/O

1.主機(jī)向SVC I/O Group2的任意一個(gè)節(jié)點(diǎn)發(fā)送讀請(qǐng)求

2.SVC I/O Group2將該請(qǐng)求轉(zhuǎn)發(fā)至SVC I/O Group1

3.SVC I/O Group1將請(qǐng)求傳至Storage Pool1

4.Storage Pool1響應(yīng)請(qǐng)求,并將數(shù)據(jù)傳至SVC I/O Group1

5.SVC I/O Group1將數(shù)據(jù)回傳給SVC I/O Group2

6.SVC I/O Group2將數(shù)據(jù)結(jié)果傳至主機(jī)

所以可以看到AUX卷所在站點(diǎn)的主機(jī)需要跨站點(diǎn)讀對(duì)端存儲(chǔ),存在1倍的RTT,而MASTER卷所在的主機(jī)讀IO和單存儲(chǔ)性能相差無(wú)幾。

寫:

Site1寫I/O

1.主機(jī)向Site1的其中一個(gè)SVC節(jié)點(diǎn)2發(fā)送寫I/O請(qǐng)求

2.該SVC節(jié)點(diǎn)2將寫I/O寫入緩存

3.該SVC節(jié)點(diǎn)2將寫I/O同步至節(jié)點(diǎn)1緩存,并同時(shí)通過(guò)MM發(fā)送寫I/O至站點(diǎn)2的節(jié)點(diǎn)3和節(jié)點(diǎn)4

4.SVC節(jié)點(diǎn)1、3、4陸續(xù)回復(fù)節(jié)點(diǎn)2的寫響應(yīng)

5.SVC節(jié)點(diǎn)2回復(fù)主機(jī)寫響應(yīng)

6.兩個(gè)站點(diǎn)的SVC節(jié)點(diǎn)分別將緩存寫入各自站點(diǎn)的存儲(chǔ)當(dāng)中

Site2寫I/O

1.主機(jī)向Site2的其中一個(gè)SVC節(jié)點(diǎn)3發(fā)送寫I/O請(qǐng)求

2.該SVC節(jié)點(diǎn)3將寫I/O轉(zhuǎn)發(fā)至Site1的任意SVC節(jié)點(diǎn)2

3.SVC節(jié)點(diǎn)2將寫I/O寫入緩存

4.該SVC節(jié)點(diǎn)2將寫I/O同步至節(jié)點(diǎn)1緩存,并同時(shí)通過(guò)MM發(fā)送寫I/O至站點(diǎn)2的節(jié)點(diǎn)3和節(jié)點(diǎn)4

5.SVC節(jié)點(diǎn)1、3、4陸續(xù)回復(fù)節(jié)點(diǎn)2的寫響應(yīng)

6.SVC節(jié)點(diǎn)2回復(fù)SVC節(jié)點(diǎn)3的轉(zhuǎn)發(fā)響應(yīng)

7.SVC節(jié)點(diǎn)3回復(fù)主機(jī)的寫響應(yīng)

8.兩個(gè)站點(diǎn)的SVC節(jié)點(diǎn)分別將緩存寫入各自站點(diǎn)的存儲(chǔ)當(dāng)中

同理,AUX卷所在站點(diǎn)的主機(jī)需要跨站點(diǎn)寫對(duì)端存儲(chǔ),并且回寫AUX卷底層存儲(chǔ),總共存在2倍的RTT,而MASTER卷所在的主機(jī)寫IO和單存儲(chǔ)性能相差無(wú)幾。

所以很明顯,SVC HYPERSWAP的SVC節(jié)點(diǎn)是跨站點(diǎn)雙活,而存儲(chǔ)則為ACTIVE-STANDBY。

(3)NetApp MCC

MCC的雙活方式實(shí)際上是兩個(gè)數(shù)據(jù)中心的存儲(chǔ)互為鏡像,各自提供不同的存儲(chǔ)服務(wù)。

對(duì)于AGGX來(lái)說(shuō),為站點(diǎn)A的主機(jī)提供本地讀和本地寫,并通過(guò)集群節(jié)點(diǎn)的NVRAM寫日志同步至站點(diǎn)B,維持?jǐn)?shù)據(jù)一致性,也是等到日志達(dá)到水位線,刷入底層存儲(chǔ)當(dāng)中。

對(duì)于AGGY來(lái)說(shuō),也是類似,為站點(diǎn)B的主機(jī)提供本地讀和本地寫,并同步NVRAM的寫日志至站點(diǎn)A。MCC通過(guò)這種方式實(shí)現(xiàn)兩個(gè)站點(diǎn)存儲(chǔ)的雙活,MCC集群節(jié)點(diǎn)也是雙活,但對(duì)于某一應(yīng)用主機(jī)來(lái)說(shuō),實(shí)則只在一個(gè)站點(diǎn)活動(dòng)。

性能方面,MCC的讀性能和單存儲(chǔ)類似,寫性能存在1倍的RTT。

(4)SVC Vplex Metro

Vplex Metro和其他三種方式都不一樣,是一種分布式的存儲(chǔ)雙活/多活架構(gòu)。Vplex沒有寫緩存,有了分布式緩存,標(biāo)榜為access anywhere

[[206859]]

沒有寫緩存就意味了,主機(jī)對(duì)VPLEX的寫是透寫模式,主機(jī)的寫IO只是經(jīng)過(guò)VPLEX的虛擬化直接落入到底層存儲(chǔ),并在分布式緩存目錄表中記錄這個(gè)寫IO是通過(guò)哪個(gè)VPLEX引擎寫入的。當(dāng)需要對(duì)該數(shù)據(jù)塊進(jìn)行讀操作時(shí),先是在分布式緩存目錄中查找數(shù)據(jù)塊是通過(guò)哪個(gè)VPLEX引擎寫入的,然后再通過(guò)本地的VPLEX引擎轉(zhuǎn)發(fā)該讀請(qǐng)求至上一次寫入該數(shù)據(jù)塊的VPLEX引擎,通過(guò)它來(lái)讀取它后端的存儲(chǔ),最終原路返回。另外,對(duì)于寫入的IO,透穿過(guò)VPLEX寫底層存儲(chǔ)時(shí),還將同步一份IO副本至另一VPLEX引擎的底層存儲(chǔ)。

所以可以看到,對(duì)于某數(shù)據(jù)中心VPLEX的讀操作來(lái)說(shuō),如果剛好上次該數(shù)據(jù)塊的寫操作時(shí)也是發(fā)在該VPLEX中,那么讀是本地讀,親和性好。如果剛好上次該數(shù)據(jù)塊的的寫操作不是在該VPLEX,那么就需要跨站點(diǎn)進(jìn)行讀操作,親和性弱,存在1倍的跨站點(diǎn)RTT;對(duì)于寫,都是本地寫,只不過(guò)需要將該寫IO同步至另一站點(diǎn)的底層存儲(chǔ),也存在1倍的跨站點(diǎn)RTT。

好了,寫了這么多,將幾種主流的存儲(chǔ)雙活架構(gòu)的讀寫操作流程寫清楚了。簡(jiǎn)單對(duì)比如下:

歸根到底,我們最想要的存儲(chǔ)跨中心雙活,就是為了讓兩個(gè)數(shù)據(jù)中心的主機(jī)對(duì)存儲(chǔ)的讀寫,盡量本地讀和本地寫,或者本地讀,減少跨中心寫。這是“盡量降低對(duì)整體性能的影響”的最直接的方法!

首先是讀寫比例問(wèn)題,不能將讀寫比例過(guò)小的應(yīng)用放到雙活存儲(chǔ)系統(tǒng)中。

再是距離對(duì)讀寫RTT的放大問(wèn)題,讀寫響應(yīng)時(shí)間越敏感,距離越不能過(guò)遠(yuǎn)。

***是想盡辦法,減少跨中心寫,這里有很多辦法,比如通過(guò)數(shù)據(jù)庫(kù)的分庫(kù)分表,將應(yīng)用分割至兩個(gè)站點(diǎn),熱點(diǎn)數(shù)據(jù)分離;增大緩沖池,盡量減少直接的寫存儲(chǔ)操作等。

責(zé)任編輯:武曉燕 來(lái)源: talkwithtrend公眾號(hào)
相關(guān)推薦

2017-10-18 08:24:11

存儲(chǔ)雙活腦裂風(fēng)險(xiǎn)

2017-10-27 08:25:42

存儲(chǔ)雙活跨中心

2017-10-24 11:12:26

存儲(chǔ)數(shù)據(jù)錯(cuò)誤

2017-10-20 10:22:15

存儲(chǔ)風(fēng)險(xiǎn)設(shè)計(jì)

2015-03-20 10:49:09

雙活數(shù)據(jù)中心方案CeBIT展華為

2017-11-16 08:31:01

系統(tǒng)存儲(chǔ)難點(diǎn)

2015-03-19 13:59:31

雙獲數(shù)據(jù)中心/華為

2015-04-02 13:59:36

雙活數(shù)據(jù)中心華為

2021-10-18 08:28:03

Kafka架構(gòu)主從架構(gòu)

2024-10-15 11:04:18

2023-07-13 11:03:12

2022-05-10 00:03:48

業(yè)務(wù)存儲(chǔ)結(jié)構(gòu)方案

2015-10-29 17:55:32

存儲(chǔ)雙活宕機(jī)銀行

2015-03-02 11:31:34

雙活數(shù)據(jù)中心解決方案重慶大學(xué)華為

2022-05-11 12:52:25

框架實(shí)踐應(yīng)用

2013-05-27 09:52:26

虛擬化存儲(chǔ)虛擬化應(yīng)用

2022-07-07 07:51:00

數(shù)據(jù)中心存儲(chǔ)層腦裂

2024-12-02 12:23:25

2015-01-15 16:14:24

HDS/雙活GAD

2021-06-09 18:52:05

方案設(shè)計(jì)庫(kù)存數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)