专栏首页大魏分享(微信公众号:david-share)VMware vSAN双活(延伸集群)站点间带宽设计

VMware vSAN双活(延伸集群)站点间带宽设计

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

一. 总体架构

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

二.常规建议

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

通常的建议参考如下:

(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=Wb*md*mr

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=320Mbps*1.4*1.25=560Mbps

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

案例2.

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

按照公式:

B=960Mbps*1.4*1.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=3*2*1*166.

我们用1000进行计算:B=1138B*8*1000/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个组件的状态信息。3*2*2*1*1500=18000

按照案例1中的算法:

B=1138B*8*18000/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的配置。

案例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=4*2+2*2。25个虚拟机组件总量为300=25*12。

使用通用公式:300/1000*2Mbps=600Kbps。因此,在这种场景下,数据站点与仲裁站点之间的带宽应为600Kbps。

案例2:

在2-Node配置中,每个主机上有100个虚拟机,每个虚拟机有1TB的VMDK,FTT和stripe width均为1。 那么,组件的总量为:(1000/255+1+1)*2*100(VMs)*2(Hosts)=2400

按照通用公式,2400个组件,需要的带宽为2400/1000*2Mbps=4.8Mbps。因此在这个场景中,仲裁站点到数据站点之间的带宽需要4.8Mbps。

需要注意的是,如果一套vSAN延伸集群承担多个类型的业务负载,那么需要把这些业务负载先单独计算其需要的带宽,然后将其累加在一起。

本文分享自微信公众号 - 大魏分享(david-share),作者:魏新宇

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-01-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 隆重介绍!CI/CD手下的开源界六大金刚

    Jenkins 2 image based on Red Hat Enterprise Linux的镜像

    魏新宇
  • 原生KVM虚拟化方案"管理平台"配置步骤(RHV-M Appliance)

    浅谈2016年的虚拟化市场 本文正式开始之前,先阐述一个观点,即RHV/RHEV是基于KVM原生的虚拟化解决方案, 为什么这么说呢? 首先,KVM严格意义上讲不...

    魏新宇
  • VMware的灾备与双活----我在vForum 2015分会场的分享(2)

    摘要:vSAN延伸集群的出现,不仅使VMware有了自己的存储双活技术,从成本角度来看,更使存储双活这项技术,从“天上”来到了“民间”。 通过vSAN延伸集群加...

    魏新宇
  • 【源代码--站间距计算】

    实现功能:计算区域A中的站点在区域B中的最近站点,比如计算LTE站点所有站点最近的GSM站点,稍微修改则可计算最近TOPN站点:

    用户6184845
  • 使用OA系统构建数据中心的解决方案

    日常办公、业务开展时,都会有很多数据需求。例如,很多公司会让下属企业或部门进行数据的填报,由于很多部门对数据的展现形式要求不一样,需要重复填写,还涉及到数据汇总...

    泛微移动办公
  • beego利用casbin进行权限管理——第四节 策略更新

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

    hotqin888
  • 瓜子二手车市场分析(Scrapy+Tableau)

    本文对瓜子网杭州二手车进行了爬取和简单分析,一方面是为了进一步熟练使用Python的Scrapy爬虫框架,另一方面是为了熟悉Tableau强大的数据可视化功能。

    luanhz
  • Q4OS Linux发行版使用Debonaire新桌面主题

    Q4OS团队宣布他们在基于Debian的GNU/Linux发行版中使用Trinity Desktop Environment的新桌面主题。Q4OS是基于最新De...

    Debian社区
  • 由浅入深表达式树(一)创建表达式树

      为什么要学习表达式树?表达式树是将我们原来可以直接由代码编写的逻辑以表达式的方式存储在树状的结构里,从而可以在运行时去解析这个树,然后执行,实现动态的编辑和...

    用户1153966
  • OEA 中的多国语言实现

        本篇博客主要描述在 OEA 框架中的多国语言框架的原理及应用。 多国语言常见实现及原理分析     管理软件平台,一般来说,都应该支持多国语言,以支持应...

    用户1172223

作者介绍

精选专题

活动推荐

扫码关注云+社区

领取腾讯云代金券