13、设计VSAN群集

(1)容量限制

  • 每个群集最大32台主机
  • 每台主机最多100个虚拟机
  • 每个群集最多3200台虚拟机
  • VSAN数据存储上受vSPhere HA保护的虚拟机数量最多2048台
  • 最多5个磁盘组
  • 每个磁盘组最多7块磁盘
  • 每个磁盘组最多一盒闪存设备
  • 每台主机最多3000个组建

需要注意的:
vSPhere HA有自己的“开机列表“以及有此带来的HA内在的运作方式。这个列表会跟踪所有虚拟机及其开机状态,它具有2048个空位来登记虚拟机。当所有的空位都被占用时,额外开启的虚拟机就无法被登记在案,因此无法被vSPhere HA保护。

(2)如果把集群的中的主机数量从16台提升到32台,需要到每台ESXi主机的高级设置中去进行额外的设置。扩展到32台主机的这个选项默认是不启用的,因为开启后VSAN会要求每台主机额外多使用150M内存。注意这个选项在设定后,需要重启才能生效。更多的信息可以参考KB2073930。
命令设定如下:

esxcli system settings advanced list -o /CMMDS/goto11

(3)组建的最大限制数量。VSAN1.0中组建的最大数量是每台主机3000个。不同类型的对象在VSAN数据存储中可能会含有一个或多个组建:

  • 虚拟机名字空间
  • 虚拟机的交换文件
  • 虚拟机磁盘
  • 虚拟机磁盘快照

(4)允许的故障数为1且条带宽度为1
这意味着每个虚拟机的最小组建数量为6.不过如果虚拟机配置了2个磁盘,那么总组件数量将增加到8.如果对改虚拟机拍了一个快照,将会因每个磁盘而增加2个组建,最终的组建数量将达到12。

  • 1个虚拟机名字空间对象=2个组建(因为弹性的要求)
  • 1个虚拟机交换文件对象=2个组建(因为弹性的要求)
  • 2个虚拟机磁盘对象=4个组建(因为弹性的要求)
  • 每个磁盘2个虚拟机快照文件对象=4个组建(因为弹性的要求)
    正如我们所演示的那样,组建的数量会快速增长,如果在一台主机上运行100个虚拟机,每台虚拟机都有5个磁盘和5个虚拟机快照,那么在使用标准策略(允许的故障数量为1)情况下,组建数计算如下:
  • 100 虚拟机名字空间对象 = 100 2组建 =200
  • 100 虚拟机交换文件对象 = 100 2组建 = 200
  • 100 5个虚拟机磁盘对象= 500 2个组建= 1000
  • 100 5个虚拟机磁盘对象每个都有5个快照对象 = 5 500 * 2 =5000
    可以看出,“仅仅”在5个磁盘和5个快照的情况下就导致组建数量超过6000。

(5)闪存磁盘比
VSAN Beta中,从容量的角度VMware建议闪存磁盘比为10%。这个建议随着时间的推移到今天被修改成下面的版本:
在考虑允许的故障数之前,一般建议将Virtual SAN的闪存容量配置成预期消耗存储空间的10%。
假设我们的环境如下:

  • 100台虚拟机
  • 每个虚拟机50GB
  • 预计对vmdk中有50%的空间被消耗

根据老建议,这意味着我们建议的配置为10%100VM50GB2(FTT=1)=1000GB的闪存容量。注意,消耗掉多少存储没有被考虑进来,只是计算了包括镜像对象在内的总存储容量。而根据新的建议,这意味着我们的建议是10%100VM(50%50GB)=250GB的闪存容量。

假设我们使用的主机数量是最低要求3台。这意味着在老的场景中我们需要给每台主机配置的闪存容量是330GB(1000GB/3台主机)。而通过新公式只需要在3台主机的群集中每台主机配置85GB的闪存(250GB/3台主机)。读缓冲和写缓存之间70/30的分配比。

(6)性能设计
控制器的队列深度:对于VSAN来说建议保证磁盘控制器的队列深度至少要达到256。现在磁盘控制器只是公式的一部分,因为设备队列占据了另一部分。我们曾经研究过各种不同的控制器和设备,下面是一些典型的标准:

mpt2sas_raid_queue_depth:int
Max RAID Device Queue Depth (default=128)
mpt2sas_sata_queue_depth:int
Max SATA Device Queue Depth (default=32)
mpt2sas_sas_queue_depth:int
Max SAS Device Queue Depth (default=254)

使用以下命令查看控制器的队列深度:

esxcfg-info -s  | grep "==+SCSI Interface" -A 18

也可以使用VSAN兼容性指南中勒出的产品以及产品推荐使用的驱动程序。

(7)VSAN的性能

在VSAN发布之后,VMware公布了多个性能测试的数据:http://blogs.vmware.com/vsphere/2014/03/supercharge-virtual-san-cluster-2-million-iops.html

这些理论测试不需要(而且大多数情况下也不可能)和你环境中的I/O模式是相同的(因此结论也会不同)。虽然如此,我们觉得以下数据还是值得分享的:

  • 16主机群集:4K数据块随机读写IOPS可达920 000
  • 16主机群集:4K数据块随机混合IOPS可达320 000(70%读,30%写)
  • 32主机群集:4K数据块随机读写IOPS可达2 000 000
  • 32主机群集:4K数据块随机混合IOPS可达640 000(70%读,30%写)

我们证明了VSAN有能力提供高性能的环境,然而成本也很重要。达到上述数字的系统配置如下:

  • DELL R720
  • 2个Intel E5 2650 v2 2.6GHz 8核心处理器
  • 128GB 内存
  • 1个Intel S3700 400G SSD
  • 7个10K RPM 1.1TB SAS磁盘
  • LSI 9207-8i阵列卡
  • Inel 82599EB 10GB网卡

我们对主机配置进行了如下微调,以对要进行海量I/O的大型工作负载进行优化并扩展到32主机:

  • 允许VSAN构建32主机群集(advanced setting:/adv/CMMDS/goto11)
  • vSPhere网络堆栈大小增加到512MB(advanced setting:/adv/Net/TcpipHeapMax)
  • VMware Paravirtual SCSI(PVSCSI)开启时间参数最好支高I/O大规模的工作负载:"vmw_pvscsi.cmd_per_lun=254 vmw_pvscsi.ring_pages=32" (PVSCSI适配器是虚拟的高性能存储适配器,可以带来极高的吞吐量和较低的CPU利用率)。
  • 禁用所有电源管理特性
  • 每台主机使用单个VSAN VMkernel端口并具有万兆以太网上行链路

注意所有这些VMware公开提供的性能测试和参考架构都是基于万兆以太网络的。



最后修改:2021 年 03 月 10 日
如果觉得我的文章对你有用,请随意赞赏