使用HCIBench工具对vSAN超融合进行性能测试
1. 使用HCIBench工具对vSAN超融合进行性能测试
2. 1 前言
在当前AIGC背景下,存力、运力都是和算力同等重要的新算力因素,如何对新算力存储进行性能测试是对POC、UAT阶段进行方案验证、产品选型、架构优化的有效方法
超融合基础架构 (HCI) 是软件定义的统一系统,兼具传统数据中心的所有要素:存储、计算、网络
在HCI架构中,软件定义存储(SDS)是有别于传统虚拟化平台核心的关键要素,软件定义存储(SDS)采用将存储软件与硬件分隔开的存储架构,仅需要标准x86服务器的可扩展体系架构来降低资本性支出(CAPEX),无需专门构建的昂贵网络连接,此外HCI还具有良好的扩展性,可在不造成中断和超额置备的情况下进行扩展,从而降低基础架构成本
VMware vSAN是一款软件定的企业存储解决方案,支持超融合基础架构系统,vSAN与VMware vSphere完全集成在一起,作为ESXi Hypervisor内的分布式软件层
如何对vSAN进行性能测试重要意义包括:
1、加速客户POC的性能测试
2、在UAT环境中进行HCI性能验证
3、针对不同服务器硬件配置、驱动程序(包括ESXi自带或者VMD驱动)、交换机参数配置(是否开启PFC)等进行性能比较,用于最终方案的选择
2.1 1.1 HCIBench介绍
官方推荐HCIBench作为vSAN的性能测试工具,其本质是对开源的性能测试工具Vdbench 和Fio以Photon guest VM为基础镜像进行重新打包
PhotonOS是VMware专为ESXi定制的容器操作系统
然后虚拟机模版部署在vSphere平台上,利用RVC/GOVC控制vCenter通过自动化脚本向vSphere平台部署用于基准性能测试的虚拟机,用于产生测试工作负载
在各工作负载的虚拟机内,利用FIO/VDBench开源工具进行基线测试,HCIBench控制虚拟机(Control VM)会不断收集相关信息,同时新添加的Grafana工具,以容器化部署的方式在Control VM中对外以可视化的形式提供服务
FIO
FIO(Flexible I/O Tester)是一个用于测试磁盘、文件系统、块设备和网络设备性能的工具。它可以模拟不同类型的I/O负载,包括随机或顺序读写、混合读写、随机或顺序访问等
FIO提供了丰富的选项和参数,可以对测试进行高度定制化配置,以满足各种应用场景和需求。FIO是开源软件,可在Linux、Unix、Windows等多种平台上运行
VDBench
VDBench是一款基于Java编写的性能基准测试工具。它可以测试不同类型的存储设备,如磁盘,网络文件系统(NFS),网络附加存储(NAS)和存储区域网络(SAN)等
VDBench的设计目标是测试存储系统的性能特征,如带宽和IOPS(每秒输入/输出操作数)
2.2 1.2 HCIBench架构
HCIBench专为针对vSphere中的共享或本地数据存储运行性能测试而设计,它使用Vdbench或Fio生成测试工作负载
注意:
实际上HCIBench并没有包括Vdbench的二进制程序,如果需要以Vdbench的方式提供测试,在测试阶段会从Oracle网站进行在线下载
HCIBench以开放虚拟化设备(OVA格式)的形式提供,用于安装在vSphere上,具体架构如下图所示

包含以下组件
1、Ruby vSphere Console (RVC)
RVC是基于Ruby的一个vSphere命令行工具,他可以管理ESXi或者vCenter
2、GOVC
GOVC是基于 VMware 官方govmomi库的一个 vSphere 命令行工具,使用它可以通过命令或脚本,实现对 VMware vSphere 系统的管理
注意:
从HCIBench2.6开始GOVC开始添加到Control VM中,HCIBench的核心引擎最终将从RVC转移到GOVC
3、Docker
3.1 Graphite Container: 1.1.5-10
3.2 Grafana Container: 8.3.11
3.3 InfluxDB Container: 1.8.1-alpine
4、vSAN Observer
5、Automation bundle
6、Configuration files
7、Fio binary: 3.30
8、Photon guest VM template: 3.0
其中Photon guest VM template用于部署Guest VM产生工作负载
3. 2 部署步骤
3.1 2.1 部署环境
当前环境是三节点ESXi,组成vSphere
ESXi版本为8.0,vSphere为8.0
其中各ESXi节点的硬件配置为:DELL PowerEdge R740,Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz,512G内存,全闪硬盘(1.92TB SSD SATA)

3.2 2.2 安装
3.2.1 2.2.1 下载OVA文件
访问https://flings.vmware.com/hcibench

选择下载HCIBench-2.8.2.ova
3.2.2 2.2.2 部署OVF模版
部署OVF模板

选择OVF模版

选择名称和文件夹

选择计算资源【如果当前集群配置了DRS,则会自动进行分配】

查看详细信息

选择接收许可

选择存储,存储选择vSAN或者本地存储,对测试无影响

配置网络【这部分很重要,错误的配置将导致后续测试无法完成】,最简单的配置就是将两套网络都选择默认的VM Network
VM Network也是和vCenter及ESXi主机的管理网络是一致的

自定义模版,这里是对网络的IP地址进行最终参数配置,以及配置日后登录凭证

3.2.3 2.2.3 HCIBench网络地址修改
如果在安装阶段并未配置静态IP地址,且部署环境内并没有配置DHCP服务器,导致工作站无法访问HCIBench的管理界面,此时需要通过vCenter提供的管理界面进行控制台登录,手动修改地址
修改/etc/systemd/network/eth0.network
1234567 | cat > /etc/systemd/network/eth0.network EOF[Match]Name=eth0[Network]Address=192.168.100.111/24EOF |
重启network服务
1 | service network restart |
测试与VCenter的网络连通性
123456789 | ping -c 3 192.168.100.100PING 192.168.100.100 (192.168.100.100) 56(84) bytes of data.64 bytes from 192.168.100.100: icmp_seq=1 ttl=64 time=0.105 ms64 bytes from 192.168.100.100: icmp_seq=2 ttl=64 time=0.097 ms64 bytes from 192.168.100.100: icmp_seq=3 ttl=64 time=0.090 ms--- 192.168.100.100 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 28msrtt min/avg/max/mdev = 0.090/0.097/0.105/0.010 ms |
重新检查HCIBench虚拟机的网络配置

3.3 2.3 登录测试
正常完毕后,登录到https://ip:8443可以正常访问HCIBench控制台界面
注意:
务必采用https方式打开界面
登录的用户名和密码是在安装OVF模版过程中填入的用户名和密码
Root Credential,而非vCenter或者ESXi的用户名和密码
登录的具体界面如下

4. 3 配置测试参数
4.1 3.1 配置vSphere环境信息
4.1.1 3.1.1 配置必选项
未标记OPTIONAL均为必选项,具体包括:
1、vCenter Hostname/IP:vCenter的主机名或者IP地址
2、Datacenter Name:数据中心的名称
3、Cluster Name:集群的名称
Datacenter Name和Cluster Name需要和VCenter中的相关信息保持一致

vCenter Username:vCenter控制页面的登录用户名
vCenter Password:vCenter控制页面的密码
Datastore(s) Name:这里选择vSAN部署的具体名称
Datastore(s) Name需要和VCenter中的相关信息保持一致

4.1.2 3.1.2 配置非必选项
其他显示OPTIONAL为非必选项,例如

Storage Policy用于提供部署工作负载的所采用的vSAN的存储策略
如果选择Clear Read/Write Cache Before Each Test Case和vSAN调试模式都必须提供ESXi主机的凭据,包括访问IP地址、用户名、密码,而且必须开启目标ESXi的SSH服务
Specify Hosts to Deploy用于指定部署工作负载虚拟机的目标ESXi主机的相关地址
4.1.3 3.1.3 关于工作负载VM网络
实际上配置界面提供了关于工作负载虚拟机网络的配置
可以使用DHCP或者静态的方式,也可以指定开始IP地址,相关子网掩码等设置
建议可以不部署DHCP服务器,也不对工作负载虚拟机的IP地址进行静态指定。各工作负载的虚拟机会通过IPV6方式与Control VM进行通讯

4.2 3.2 配置基准测试工具
Benchmarking Tool是基准测试工具
性能测试工具默认选择FIO工具,如果选择VDBENCH则会从Oracle网站进行下载,而FIO二进制已经内置在HCIBench内

可以选择Easy Run选项,则默认选择以下几种测试方案

可以看出,Workloads包括
1、4K block 70%顺序读 100%随机读
2、4K block 100%顺序读 100%随机读
3、8K block 50%顺序读 100%随机读
4、256K 100%顺序写和顺序读
配置结束后选择SAVE CONFIG进行保存配置

选择VALIDATE CONFIG开始正式测试

此时登录到vCenter,查看部署的Guest VM进度,可以看到Easy Run选项,Control VM已部署了6个工作负载的虚拟机在vSphere平台上

开始测试时,界面可以查看当前部署进度

5. 4 结果查看
5.1 4.1 测试过程中查看
可以在测试显示窗口中点击HERE TO MONITOR FIO PERFORMANCE跳转到Grafana界面进行查看

或者直接登录到https://ip:3000可以实时查看当前状态

查看vSAN的状态

测试过程中,也可以通过vCenter提供的性能监控数值进行比较,基本是一致的

实际上HCIBench在测试过程中,是根据Workload分阶段查看实时状态

可以通过Grafana查看测试过程中的实时数据

5.2 4.2 最终结果查看
登录https://ip:8443/results/查看最终测试结果

| Blocksize | IOPS | Throughput(MB) | Read Latency(ms) | Write Latency(ms) | Read Percentage | CPU.USAGE | CPU.UTILIZATION | MEM.USAGE |
|---|---|---|---|---|---|---|---|---|
| 256K | 2215.57 | 553 | 0 | 21.62 | 0% | DellR740: 9.02%; | DellR740: 4.01%; | DellR740: 12.14%; |
| 4K | 330206.5 | 1289 | 0.58 | 0 | 100% | DellR740: 42.79%; | DellR740: 21.52%; | DellR740: 12.16%; |
| 4K | 68775.18 | 268 | 3.48 | 1.18 | 70% | DellR740: 17.04%; | DellR740: 7.75%; | DellR740: 12.21%; |
| 8K | 59733.23 | 466 | 2.33 | 4.1 | 50% | DellR740: 20.96%; | DellR740: 9.59%; | DellR740: 12.24%; |
也可以查看各项workload的详细性能测试结果

例如查看fio-8vmdk-100ws-4k-70rdpct-100randompct-4threads-50compress-50dedupe-1693497804-res.txt
123456789101112131415161718192021222324252627 | Datastore = vsanDatastore=============================JOB_NAME = job0VMs = 6IOPS = 68775.18 IO/STHROUGHPUT = 268.00 MB/sR_LATENCY = 3.48 msW_LATENCY = 1.18 ms95%tile_R_LAT = 8.00 ms95%tile_W_LAT = 1.00 ms=============================Resource Usage:+----------------+------------+------------------+------------+| Resource Utilization |+----------------+------------+------------------+------------+| DellR740 | cpu.usage% | cpu.utilization% | mem.usage% |+----------------+------------+------------------+------------+| 192.168.100.50 | 20.6 | 9.36 | 15.18 || 192.168.100.51 | 19.87 | 9.13 | 12.0 || 192.168.100.52 | 10.65 | 4.76 | 9.45 |+----------------+------------+------------------+------------+| Average | 17.04 | 7.75 | 12.21 |+----------------+------------+------------------+------------+cpu.usage - Provides statistics for logical CPUs. This is based on CPU Hyperthreading.cpu.utilization - Provides statistics for physical CPUs. |
6. 5 故障排查
如果发现测试工作启动,往往问题出现在第一阶段:部署工作负载虚拟机,根据提示点击查看log日志
故障一:日志显示vSAN Is Not Enabled in Cluster,具体如下:
123 | 2023-08-31 11:49:28 +0000: ------------------------------------------------------------------------------2023-08-31 11:49:28 +0000: vSAN Is Not Enabled in Cluster DellR740!2023-08-31 11:49:28 +0000: ------------------------------------------------------------------------------ |
故障定位在于vSphere环境信息配置错误,Datacenter Name和Cluster Name没有和VCenter中的相关信息保持一致,更新后重新测试
故障二:日志显示vSAN Datastore not specified,具体如下:
123 | 2023-08-31 11:51:29 +0000: ------------------------------------------------------------------------------2023-08-31 11:51:29 +0000: vSAN Datastore not specified!2023-08-31 11:51:29 +0000: ------------------------------------------------------------------------------ |
故障定位在于Datastore(s) Name需要和VCenter中的相关信息保持一致,更新后重新测试
提示:在享受本文内容的同时,请注意版权归属 徐州鑫坤机电设备有限公司https://www.xzxkjd.com如果您觉得有价值欢迎分享,但请务必注明出处,感谢您的理解,谢谢!
以下部分内容需要登录查看 立即登录
相关内容
- 使用HCIBench工具对vSAN超融合进行性能测试
- 供需裂口持续扩大:2025年铜价暴涨,产业链如何应对?
- 铜,新时代的“石油”?2025年价格狂飙背后的战略博弈
- 从能源革命到智能时代:2025铜价暴涨背后的全球新逻辑
- 铜价创历史新高!绿色转型与供需失衡背后的财富浪潮
- 2025铜价为何一飞冲天?三大核心驱动力深度解析
- 上海非急救出租服务全解析
- 深耕中考复读赛道 深圳深才教育为复读生搭建升学桥梁
- 阳光下的童年:那些被温暖照亮的纯真时光
- 群晖DSM7.0-7.21监控套件Surveillance Station 9.20-11289开心版60个许可证设置教程(无重启、无断流、无卡死、史上最完美)
- 云服务器+SD-WAN组网和域名DNS解析
- 在云主机上安装iKuai OS,实现SD-WAN组网,利用云主机80;443端口搭建企业网站。个人博客。让云主机当做你的堡垒机,实现数据本地化。
简体中文
繁體中文
English
Nederlands
Français
Русский язык
Polski
日本語
ภาษาไทย
Deutsch
Português
español
Italiano
한어
Suomalainen
Gaeilge
dansk
Tiếng Việt
Pilipino
Ελληνικά
Maori
tongan
ᐃᓄᒃᑎᑐᑦ
ଓଡିଆ
Malagasy
Norge
bosanski
नेपालीName
čeština
فارسی
हिंदी
Kiswahili
ÍslandName
ગુજરાતી
Slovenská
היברית
ಕನ್ನಡ್Name
Magyar
தாமில்
بالعربية
বাংলা
Azərbaycan
lifiava
IndonesiaName
Lietuva
Malti
català
latviešu
УкраїнськаName
Cymraeg
ກະຣຸນາ
తెలుగుQFontDatabase
Română
Kreyòl ayisyen
Svenska
հայերեն
ဗာရမ်
پښتوName
Kurdî
Türkçe
български
Malay
मराठीName
eesti keel
മലമാലം
slovenščina
اوردو
አማርኛ
ਪੰਜਾਬੀName
albanian
Hrvatski
Suid-Afrikaanse Dutch taal
ខ្មែរKCharselect unicode block name




