首页
/ Azure Stack HCI性能测试实战:使用VMFleet进行集群性能评估

Azure Stack HCI性能测试实战:使用VMFleet进行集群性能评估

2025-06-04 14:41:51作者:姚月梅Lane

前言

在超融合基础设施(HCI)环境中,性能评估是验证系统设计合理性的关键环节。本文将详细介绍如何在Azure Stack HCI集群上使用VMFleet工具进行系统性能测试,帮助管理员和架构师全面了解集群的I/O处理能力。

技术背景

VMFleet是微软开发的一款专门用于测试Hyper-V集群性能的工具集,它通过创建大量虚拟机并运行DiskSpd基准测试工具,模拟真实工作负载,从而测量存储子系统的性能指标。在Azure Stack HCI环境中使用VMFleet可以:

  1. 评估集群的最大IOPS和吞吐量能力
  2. 验证存储空间直通(S2D)的性能表现
  3. 识别可能的性能瓶颈
  4. 为容量规划提供数据支持

环境准备

硬件要求

  • 已部署完成的Azure Stack HCI集群
  • 足够的存储空间用于测试(建议至少每个节点预留1TB空间)

软件要求

  • Windows Server 2022 ISO镜像文件
  • 三组关键PowerShell脚本:
    • CreateParentDisk.ps1(用于创建基础VHD)
    • Convert-WindowsImage.ps1(自动下载)
    • CreateVMFleetDisk.ps1(用于创建VMFleet专用镜像)

前置条件

执行测试的主机需要:

  • 启用Hyper-V角色
  • 安装Hyper-V PowerShell模块
  • 网络连通性良好

详细操作步骤

阶段一:创建基础虚拟机镜像

  1. 准备Windows Server 2022 Core VHD

    # 启用Hyper-V功能(如在虚拟机中操作)
    Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -Online -All -NoRestart
    

    使用CreateParentDisk.ps1脚本创建精简版VHD(推荐30GB而非默认127GB):

    • 选择Windows Server 2022 Datacenter Core版本
    • 跳过累积更新安装
    • 指定适当的VHD大小
  2. 生成VMFleet专用镜像

    运行CreateVMFleetDisk.ps1脚本:

    • 选择上一步创建的VHD文件
    • 设置管理员密码为P@ssw0rd
    • 脚本会自动完成镜像定制化处理

阶段二:配置测试环境

  1. 安装必要模块

    Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
    Install-Module -Name VMFleet -Force
    Install-Module -Name PrivateCloud.DiagnosticInfo -Force
    
  2. 创建测试卷

    # 为每个节点创建1TB的瘦供给卷
    foreach($Node in $Nodes){
        New-Volume -CimSession $Node -StoragePool $StoragePool -FileSystem CSVFS_ReFS -FriendlyName $Node -Size 1TB -ProvisioningType Thin
    }
    
    # 创建100GB的结果收集卷
    New-Volume -CimSession $CLusterName -StoragePool $StoragePool -FileSystem CSVFS_ReFS -FriendlyName Collect -Size 100GB -ProvisioningType Thin
    
  3. 部署VMFleet组件

    启用CredSSP后执行安装:

    Invoke-Command -ComputerName $Nodes[0] -Credential $Credentials -Authentication Credssp -ScriptBlock {
        Install-Fleet
    }
    

阶段三:执行性能测试

  1. 部署测试虚拟机

    New-Fleet -BaseVHD "c:\ClusterStorage\Collect\$VHDName" -AdminPass $VHDAdminPassword -Admin Administrator -ConnectUser $AdminUsername -ConnectPass $AdminPassword
    

    VMFleet会自动创建与集群核心数相同的虚拟机。

  2. 启动性能测试

    Measure-FleetCoreWorkload
    

    测试过程将持续数小时,期间可以使用Watch-FleetCluster命令实时监控进度。

  3. 分析测试结果

    测试完成后,结果文件将保存在\\<ClusterName>\ClusterStorage$\Collect\result\result.tsv。建议将文件复制到装有Excel的机器上进行可视化分析,重点关注:

    • IOPS(每秒输入/输出操作数)
    • 延迟(Latency)
    • 吞吐量(Throughput)

阶段四:清理测试环境

  1. 移除VMFleet

    Remove-Fleet
    
  2. 删除测试卷

    Get-VirtualDisk -CimSession $ClusterName | Remove-VirtualDisk -Confirm:$false
    

性能指标解读指南

测试结果中几个关键指标的含义:

  1. IOPS:反映存储系统处理随机读写请求的能力,数值越高性能越好
  2. 延迟:完成单个I/O操作所需时间,单位通常为毫秒(ms)
  3. 吞吐量:单位时间内传输的数据量,单位通常为MB/s

对于Azure Stack HCI环境,建议重点关注:

  • 4K随机读写的IOPS表现
  • 顺序读写的大块传输吞吐量
  • 不同队列深度下的延迟变化

常见问题排查

  1. CredSSP验证失败

    • 确保所有节点已启用CredSSP服务器端
    • 检查网络策略是否允许CredSSP通信
  2. 虚拟机创建失败

    • 验证存储空间是否充足
    • 检查集群共享卷(CSV)状态是否正常
  3. 测试结果异常

    • 确认没有其他工作负载干扰
    • 检查网络和存储硬件状态指示灯

最佳实践建议

  1. 测试环境隔离:在生产环境外建立独立的测试集群
  2. 基准测试:在业务变更前后执行相同测试以便对比
  3. 文档记录:详细记录硬件配置和测试参数
  4. 多次测试:进行至少3次测试取平均值
  5. 监控资源:测试期间监控CPU、内存和网络使用情况

通过本指南的系统性测试,您可以全面掌握Azure Stack HCI集群的性能特征,为业务系统部署和容量规划提供可靠的数据支撑。

登录后查看全文

项目优选

收起
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
51
14
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
289
802
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
110
194
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
481
387
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
56
138
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
688
86
CangjieMagicCangjieMagic
基于仓颉编程语言构建的 LLM Agent 开发框架,其主要特点包括:Agent DSL、支持 MCP 协议,支持模块化调用,支持任务智能规划。
Cangjie
576
41
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
96
250
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
355
279
MinerUMinerU
A high-quality tool for convert PDF to Markdown and JSON.一站式开源高质量数据提取工具,将PDF转换成Markdown和JSON格式。
Python
13
1