原文地址:
https://www.tinymind.net.cn/articles/98e64d56d38a52
筆者之前也分享過vSAN延伸集群的一些資料。在雙活的設(shè)計(jì)中鼻忠,站點(diǎn)之間帶寬預(yù)估肌似、腦列處理等問題开缎,都是需要重點(diǎn)考慮的裸卫。本次向大家分享一下vSAN帶寬帶寬的設(shè)計(jì)原則哗蜈。建議讀者參照此前我分享過的《VMware的災(zāi)備與雙活----我在vForum 2015分會(huì)場(chǎng)的分享(2)》一起進(jìn)行閱讀协怒,這篇文章中已經(jīng)包含的內(nèi)容涝焙,本文將不再進(jìn)行贅述。
一. 總體架構(gòu)
vSAN延伸集群整體架構(gòu)如下:一個(gè)有三個(gè)故障域孕暇,兩個(gè)數(shù)據(jù)站點(diǎn)分別是一個(gè)故障域仑撞,仲裁站點(diǎn)是一個(gè)故障域。需要注意的是妖滔,vSAN延伸的三個(gè)故障域都屬于是一個(gè)vSAN集群隧哮,而不是三個(gè)。
二.常規(guī)建議
兩個(gè)數(shù)據(jù)站點(diǎn)之間的帶寬很大程度上取決于vSAN承擔(dān)的負(fù)載座舍、總體數(shù)據(jù)量近迁、可能的故障場(chǎng)景。
通常的建議參考如下:
(1)vSAN的數(shù)據(jù)站點(diǎn)之間簸州,或者數(shù)據(jù)站點(diǎn)和仲裁站點(diǎn)之間的網(wǎng)絡(luò)鉴竭,二層和三層網(wǎng)絡(luò)都可以支持,這降低了對(duì)大二層的要求岸浑。但是搏存,我們推薦在數(shù)據(jù)站點(diǎn)之間使用二層網(wǎng)絡(luò)。
(2)數(shù)據(jù)站點(diǎn)站點(diǎn)之間小于5ms之間的延遲(RTT)矢洲。數(shù)據(jù)站點(diǎn)與仲裁站點(diǎn)之間200的延遲不能超過200ms璧眠。
(3)數(shù)據(jù)站點(diǎn)和仲裁站點(diǎn)之間的帶寬最不小于50-100Mbps.
(4)網(wǎng)絡(luò)劃分
管理網(wǎng)絡(luò):連接三個(gè)站點(diǎn)。二層或者三層網(wǎng)絡(luò)
vSAN網(wǎng)絡(luò):連接三個(gè)站點(diǎn)读虏。數(shù)據(jù)中心之間建議二層網(wǎng)絡(luò)责静,與仲裁站點(diǎn)之間使用三層網(wǎng)絡(luò)。
VM network:連接數(shù)據(jù)中心盖桥。建議二層網(wǎng)絡(luò)灾螃,這樣當(dāng)虛擬機(jī)從一個(gè)數(shù)據(jù)站點(diǎn)vMotion或HA到另外一個(gè)數(shù)據(jù)站點(diǎn)時(shí),IP地址不變揩徊。
vMotion網(wǎng)絡(luò):連接數(shù)據(jù)中心腰鬼。二層嵌赠,三層網(wǎng)絡(luò)都可以。
三.?dāng)?shù)據(jù)站點(diǎn)之間的帶寬需求
1.計(jì)算公式
在真實(shí)的業(yè)務(wù)場(chǎng)景中熄赡,全讀或者全寫的情況很少姜挺。更多的時(shí)候,用讀寫比率來衡量業(yè)務(wù)I/O特性是比較格式彼硫。以VDI場(chǎng)景的負(fù)載舉例子炊豪。在負(fù)載峰值的情況下,讀寫比率通常是3:7拧篮。
例如:業(yè)務(wù)需要求IOPS的總量是10萬词渤,讀寫比率為3:7。由于vsan延伸集群本地讀的特性他托,讀操作不需要跨站點(diǎn)掖肋,因此考慮數(shù)據(jù)站點(diǎn)之間帶寬只考慮跨站點(diǎn)寫即可。
數(shù)據(jù)站點(diǎn)帶寬計(jì)算公式是:
B=Wbmdmr
B:Bandwidth赏参。數(shù)據(jù)站點(diǎn)之間的帶寬志笼。
WB:Write Bandwidth數(shù)據(jù)站點(diǎn)之間的寫帶寬。
MD: Data Multiplier:數(shù)據(jù)乘數(shù)
MR:Resynchronization multiplier 再同步乘數(shù)
其中把篓,數(shù)據(jù)乘數(shù)由vSAN元數(shù)據(jù)跨站點(diǎn)寫開銷等相關(guān)的操作組成的(除了數(shù)據(jù)意外纫溃,元數(shù)據(jù)也需要跨站點(diǎn)寫)。VMware建議將這個(gè)數(shù)值設(shè)置為1.4韧掩。
再同步乘數(shù)指的是數(shù)據(jù)站點(diǎn)之間同步事件(例如vSAN組件的狀態(tài)信息)的所需要的總開銷紊浩。這是數(shù)值VMware建議設(shè)置為1.25。再同步乘數(shù)和數(shù)據(jù)乘數(shù)其實(shí)都是跨站點(diǎn)寫數(shù)據(jù)的額外開銷疗锐。這兩個(gè)數(shù)值使用vSAN推薦值即可坊谁。
2.案例分析
案例1.
vSAN運(yùn)行一個(gè)IOPS為1萬的全寫負(fù)載業(yè)務(wù)。寫的block為4KB滑臊。這需要消耗40MB/s的數(shù)據(jù)站點(diǎn)間的帶寬(4KB*10000)口芍,也就是320Mbps。
按照上一小節(jié)的計(jì)算公式:
B=320Mbps1.41.25=560Mbps
因此雇卷,在這個(gè)負(fù)載情況下鬓椭,vSAN數(shù)據(jù)站點(diǎn)之間需要的帶寬至少應(yīng)為560Mbps。
案例2.
vSAN運(yùn)行負(fù)載為3萬全寫IOPS关划,4KB block size小染,這需要120MB/s(960Mbps)跨站點(diǎn)寫數(shù)據(jù)吞吐量。
按照公式:
B=960Mbps1.41.25=1680Mbps約等于1.7Gbps.
因此贮折,在這個(gè)案例中裤翩,數(shù)據(jù)站點(diǎn)之間的帶寬至少應(yīng)為1.7Gbps.
四.?dāng)?shù)據(jù)站點(diǎn)與仲裁站點(diǎn)之間的帶寬需求
1.計(jì)算公式
數(shù)據(jù)站點(diǎn)并不存放虛擬機(jī)的數(shù)據(jù),只是用于投票使用脱货,因此數(shù)據(jù)站點(diǎn)與仲裁站點(diǎn)之間的帶寬計(jì)算公式與上面的不一樣岛都。
我在之前的文章提到過律姨,vSAN是基于策略驅(qū)動(dòng)的分布式存儲(chǔ)振峻。數(shù)據(jù)是以對(duì)象的方式存儲(chǔ)在vSAN中的臼疫,一個(gè)VM在vSAN存儲(chǔ)中的數(shù)據(jù)由一個(gè)或者多個(gè)組件組成,組件有如下類型:
VM Folder
VMware swap file
VMDK
快照
在vSAN中扣孟,當(dāng)一個(gè)對(duì)象的大小大于255GB的時(shí)候烫堤,就會(huì)被自動(dòng)劃分成多個(gè)組件。仲裁站點(diǎn)與數(shù)據(jù)站點(diǎn)之間的計(jì)算公式如下:
1138B*NumComp/5seconds
其中凤价,1138B這個(gè)數(shù)字是:當(dāng)主站點(diǎn)down鸽斟,備站點(diǎn)接管所有組件所需要的時(shí)間。我們想象一下利诺,當(dāng)主站點(diǎn)down富蓄,備站點(diǎn)將成為master。仲裁站點(diǎn)將會(huì)向新的master發(fā)送確認(rèn)信息慢逾,確認(rèn)master的角色已經(jīng)發(fā)生了變更立倍。從本質(zhì)上講,1138B是當(dāng)主站點(diǎn)down以后侣滩,仲裁站點(diǎn)需要從元數(shù)據(jù)信息中獲取主站點(diǎn)上所有組件已經(jīng)failed并且隨后由備站點(diǎn)take ownership的狀態(tài)信息更新開銷口注。當(dāng)主站點(diǎn)down以后,仲裁站點(diǎn)與數(shù)據(jù)站點(diǎn)之間的帶寬應(yīng)足以讓集群中所有部件的master ownership變更在5秒內(nèi)發(fā)變更完成君珠。
2.案例分析
案例1:
虛擬機(jī)由如下內(nèi)容組成:
三個(gè)對(duì)象:
VM namespace
VMKD(小于255GB)
VM Swap file
FTT=1
Stripe width=1
以上配置的虛擬機(jī)數(shù)量是166個(gè)寝志,那么仲裁站點(diǎn)就需要獲取到996個(gè)組件信息。996=321*166.
我們用1000進(jìn)行計(jì)算:B=1138B81000/5s=1820800bps=1.82Mbps
VMware推薦預(yù)留10%的額外帶寬用于信息雙向傳輸:1.82*1.1=2Mbps策添。因此材部,在這個(gè)場(chǎng)景下,數(shù)據(jù)站點(diǎn)與仲裁站點(diǎn)的帶寬應(yīng)為2Mbps唯竹。
案例2:
虛擬機(jī)由如下內(nèi)容組成:
三個(gè)對(duì)象:
VM namespace
VMDK(小于255GB)
VM Swapfile
此外:
FTT=1
Stripe width=2
如果具有以上配置的虛擬機(jī)數(shù)量為1500乐导,那么仲裁站點(diǎn)將會(huì)維持18000個(gè)組件的狀態(tài)信息。32211500=18000
按照案例1中的算法:
B=1138B818000/5s=32.78Mbps
B*1.2=36.05Mbps
因此摩窃,在這個(gè)場(chǎng)景下兽叮,數(shù)據(jù)站點(diǎn)與仲裁站點(diǎn)之間的帶寬需要36.06Bbps。
根據(jù)上面的算法猾愿,可以提煉一個(gè)簡(jiǎn)單的公式用于在日常的評(píng)估鹦聪,那就是2Mbps帶寬可以維系1000個(gè)組件的狀態(tài)信息。因此蒂秘,在這個(gè)場(chǎng)景下泽本,維系18000個(gè)組件,所需要的帶寬是:18000/1000*2Mbps=36Mbps姻僧。
七.2-Node vSAN配置仲裁站點(diǎn)的帶寬
在vSAN6.1中规丽,支持2節(jié)點(diǎn)的vSAN集群蒲牧。也就是我在< VMware的災(zāi)備與雙活----我在vForum 2015分會(huì)場(chǎng)的分享(2)>中提到的vSAN延伸集群最小1+1+1,最大15+15+1的配置赌莺。
案例1:
2-Node配置中的虛擬機(jī)特性如下:虛擬機(jī)數(shù)量:25冰抢;VMDK/VM:1TB;FTT=1艘狭;Stripe width=1
上面我們提到過挎扰,vSAN中,一個(gè)vmdk組件最大為255G巢音,因此每個(gè)VMDK由4個(gè)組件組成遵倦,此外由于FTT=1,在包含副本的情況下官撼,每個(gè)vmdk由8個(gè)組件組成梧躺。加上VM namespace和swap文件(有副本),那么一個(gè)虛擬機(jī)的組件總數(shù)為12=42+22傲绣。25個(gè)虛擬機(jī)組件總量為300=2512掠哥。
使用通用公式:300/10002Mbps=600Kbps。因此斜筐,在這種場(chǎng)景下龙致,數(shù)據(jù)站點(diǎn)與仲裁站點(diǎn)之間的帶寬應(yīng)為600Kbps。
案例2:
在2-Node配置中顷链,每個(gè)主機(jī)上有100個(gè)虛擬機(jī)目代,每個(gè)虛擬機(jī)有1TB的VMDK,F(xiàn)TT和stripe width均為1嗤练。 那么榛了,組件的總量為:(1000/255+1+1)2100(VMs)2(Hosts)=2400
按照通用公式,2400個(gè)組件煞抬,需要的帶寬為2400/10002Mbps=4.8Mbps霜大。因此在這個(gè)場(chǎng)景中,仲裁站點(diǎn)到數(shù)據(jù)站點(diǎn)之間的帶寬需要4.8Mbps革答。
需要注意的是战坤,如果一套vSAN延伸集群承擔(dān)多個(gè)類型的業(yè)務(wù)負(fù)載,那么需要把這些業(yè)務(wù)負(fù)載先單獨(dú)計(jì)算其需要的帶寬残拐,然后將其累加在一起途茫。