美文网首页
2020-03-03 VMwarevSAN双活(延伸集群)站点间

2020-03-03 VMwarevSAN双活(延伸集群)站点间

作者: 麦兜的刀 | 来源:发表于2020-03-03 11:14 被阅读0次

    原文地址:
    https://www.tinymind.net.cn/articles/98e64d56d38a52

    笔者之前也分享过vSAN延伸集群的一些资料。在双活的设计中,站点之间带宽预估、脑列处理等问题,都是需要重点考虑的。本次向大家分享一下vSAN带宽带宽的设计原则。建议读者参照此前我分享过的《VMware的灾备与双活----我在vForum 2015分会场的分享(2)》一起进行阅读,这篇文章中已经包含的内容,本文将不再进行赘述。

    一. 总体架构

    vSAN延伸集群整体架构如下:一个有三个故障域,两个数据站点分别是一个故障域,仲裁站点是一个故障域。需要注意的是,vSAN延伸的三个故障域都属于是一个vSAN集群,而不是三个。

    image.png

    二.常规建议

    两个数据站点之间的带宽很大程度上取决于vSAN承担的负载、总体数据量、可能的故障场景。

    通常的建议参考如下:


    image.png

    (1)vSAN的数据站点之间,或者数据站点和仲裁站点之间的网络,二层和三层网络都可以支持,这降低了对大二层的要求。但是,我们推荐在数据站点之间使用二层网络。

    (2)数据站点站点之间小于5ms之间的延迟(RTT)。数据站点与仲裁站点之间200的延迟不能超过200ms。

    (3)数据站点和仲裁站点之间的带宽最不小于50-100Mbps.

    (4)网络划分

    管理网络:连接三个站点。二层或者三层网络

    vSAN网络:连接三个站点。数据中心之间建议二层网络,与仲裁站点之间使用三层网络。

    VM network:连接数据中心。建议二层网络,这样当虚拟机从一个数据站点vMotion或HA到另外一个数据站点时,IP地址不变。

    vMotion网络:连接数据中心。二层,三层网络都可以。

    三.数据站点之间的带宽需求

    1.计算公式

    在真实的业务场景中,全读或者全写的情况很少。更多的时候,用读写比率来衡量业务I/O特性是比较格式。以VDI场景的负载举例子。在负载峰值的情况下,读写比率通常是3:7。

    例如:业务需要求IOPS的总量是10万,读写比率为3:7。由于vsan延伸集群本地读的特性,读操作不需要跨站点,因此考虑数据站点之间带宽只考虑跨站点写即可。

    数据站点带宽计算公式是:

    B=Wbmdmr

    B:Bandwidth。数据站点之间的带宽。

    WB:Write Bandwidth数据站点之间的写带宽。

    MD: Data Multiplier:数据乘数

    MR:Resynchronization multiplier 再同步乘数

    其中,数据乘数由vSAN元数据跨站点写开销等相关的操作组成的(除了数据意外,元数据也需要跨站点写)。VMware建议将这个数值设置为1.4。

    再同步乘数指的是数据站点之间同步事件(例如vSAN组件的状态信息)的所需要的总开销。这是数值VMware建议设置为1.25。再同步乘数和数据乘数其实都是跨站点写数据的额外开销。这两个数值使用vSAN推荐值即可。

    2.案例分析

    案例1.

    vSAN运行一个IOPS为1万的全写负载业务。写的block为4KB。这需要消耗40MB/s的数据站点间的带宽(4KB*10000),也就是320Mbps。

    按照上一小节的计算公式:

    B=320Mbps1.41.25=560Mbps

    因此,在这个负载情况下,vSAN数据站点之间需要的带宽至少应为560Mbps。

    案例2.

    vSAN运行负载为3万全写IOPS,4KB block size,这需要120MB/s(960Mbps)跨站点写数据吞吐量。

    按照公式:

    B=960Mbps1.41.25=1680Mbps约等于1.7Gbps.

    因此,在这个案例中,数据站点之间的带宽至少应为1.7Gbps.

    四.数据站点与仲裁站点之间的带宽需求

    1.计算公式

    数据站点并不存放虚拟机的数据,只是用于投票使用,因此数据站点与仲裁站点之间的带宽计算公式与上面的不一样。

    我在之前的文章提到过,vSAN是基于策略驱动的分布式存储。数据是以对象的方式存储在vSAN中的,一个VM在vSAN存储中的数据由一个或者多个组件组成,组件有如下类型:

    VM Folder
    VMware swap file
    VMDK
    快照
    在vSAN中,当一个对象的大小大于255GB的时候,就会被自动划分成多个组件。仲裁站点与数据站点之间的计算公式如下:

    1138B*NumComp/5seconds

    其中,1138B这个数字是:当主站点down,备站点接管所有组件所需要的时间。我们想象一下,当主站点down,备站点将成为master。仲裁站点将会向新的master发送确认信息,确认master的角色已经发生了变更。从本质上讲,1138B是当主站点down以后,仲裁站点需要从元数据信息中获取主站点上所有组件已经failed并且随后由备站点take ownership的状态信息更新开销。当主站点down以后,仲裁站点与数据站点之间的带宽应足以让集群中所有部件的master ownership变更在5秒内发变更完成。

    2.案例分析

    案例1:

    虚拟机由如下内容组成:

    三个对象:

    VM namespace
    VMKD(小于255GB)
    VM Swap file
    FTT=1
    Stripe width=1
    以上配置的虚拟机数量是166个,那么仲裁站点就需要获取到996个组件信息。996=321*166.

    我们用1000进行计算:B=1138B81000/5s=1820800bps=1.82Mbps

    VMware推荐预留10%的额外带宽用于信息双向传输:1.82*1.1=2Mbps。因此,在这个场景下,数据站点与仲裁站点的带宽应为2Mbps。
    案例2:
    虚拟机由如下内容组成:
    三个对象:
    VM namespace
    VMDK(小于255GB)
    VM Swapfile
    此外:
    FTT=1
    Stripe width=2

    如果具有以上配置的虚拟机数量为1500,那么仲裁站点将会维持18000个组件的状态信息。32211500=18000
    按照案例1中的算法:
    B=1138B818000/5s=32.78Mbps
    B*1.2=36.05Mbps

    因此,在这个场景下,数据站点与仲裁站点之间的带宽需要36.06Bbps。

    根据上面的算法,可以提炼一个简单的公式用于在日常的评估,那就是2Mbps带宽可以维系1000个组件的状态信息。因此,在这个场景下,维系18000个组件,所需要的带宽是:18000/1000*2Mbps=36Mbps。

    七.2-Node vSAN配置仲裁站点的带宽
    在vSAN6.1中,支持2节点的vSAN集群。也就是我在< VMware的灾备与双活----我在vForum 2015分会场的分享(2)>中提到的vSAN延伸集群最小1+1+1,最大15+15+1的配置。


    image.png

    案例1:
    2-Node配置中的虚拟机特性如下:虚拟机数量:25;VMDK/VM:1TB;FTT=1;Stripe width=1
    上面我们提到过,vSAN中,一个vmdk组件最大为255G,因此每个VMDK由4个组件组成,此外由于FTT=1,在包含副本的情况下,每个vmdk由8个组件组成。加上VM namespace和swap文件(有副本),那么一个虚拟机的组件总数为12=42+22。25个虚拟机组件总量为300=2512。
    使用通用公式:300/1000
    2Mbps=600Kbps。因此,在这种场景下,数据站点与仲裁站点之间的带宽应为600Kbps。
    案例2:
    在2-Node配置中,每个主机上有100个虚拟机,每个虚拟机有1TB的VMDK,FTT和stripe width均为1。 那么,组件的总量为:(1000/255+1+1)2100(VMs)2(Hosts)=2400
    按照通用公式,2400个组件,需要的带宽为2400/1000
    2Mbps=4.8Mbps。因此在这个场景中,仲裁站点到数据站点之间的带宽需要4.8Mbps。
    需要注意的是,如果一套vSAN延伸集群承担多个类型的业务负载,那么需要把这些业务负载先单独计算其需要的带宽,然后将其累加在一起。

    相关文章

      网友评论

          本文标题:2020-03-03 VMwarevSAN双活(延伸集群)站点间

          本文链接:https://www.haomeiwen.com/subject/ojkqlhtx.html