一键登录 更安全快捷
邮箱登录
我已阅读并接受 用户协议 隐私政策

VCF9.0/9.1 AMD Zen4/5熵池缓慢导致NSX Manager高CPU完整优化方案

William Lam官方技术速报解析AMD第四/五代锐龙架构底层熵(随机数)生成速度缺陷:Zen4/Zen5处理器RDSEED硬件随机指令生成效率比Zen3低50倍,NSX Manager大量加密、证书、隧道业务持续消耗熵资源,引发虚拟机CPU负载长期居高不下;给出**ESXi主机内核参数+NSX虚拟机高级配置**双层修复方案,实测优化后NSX负载均值降至5以内,适配VCF 9.0/9.1全套私有云环境,同时区分哪些VCF组件可复用该优化。

有VMware全系列产品官方资源和定制版资源需求的可以移步:

AMD Zen4/Zen5硬件随机数生成速率极低,NSX-T控制器频繁申请熵资源造成CPU满载;完整优化分两步:

1、ESXi宿主机修改entropySources内核参数切换熵来源;

2、NSX Manager虚拟机开启宿主机熵通道isolation.tools.getEntropy.disable=FALSE;仅大量加密/证书业务组件(NSX)收益明显,VCFMS、自动化组件无显著改善;全套配置修改后需重启宿主机与虚拟机生效,实测负载大幅回落。

一、故障底层根本成因

1、AMD架构硬件缺陷

AMD Zen4、Zen5平台RDSEED/RDRAND硬件随机指令生成速度相比Zen3慢约50倍,高并发加密场景下系统熵池快速耗尽,内核持续占用CPU循环等待随机数据,拉高整机负载。VMkernel日志频繁打印`NRandomHwrng: Out of entropy, refreshing`熵耗尽告警。

2、NSX Manager业务特征放大问题

NSX-T负责东西向隧道加密、TLS证书签发、防火墙加密校验、身份令牌生成,每秒高频请求高质量随机熵;在AMD物理服务器虚拟化部署时,虚拟机内部熵池供给跟不上业务消耗,持续产生CPU自旋等待,负载长期高于10甚至20。

3、其他VC组件差异

VCFMS、SDDC Manager、vCenter等组件熵请求频次远低于NSX,同AMD硬件不会出现明显高负载,该优化仅针对NSX等高加密负载虚拟机有效。

二、双层标准化优化操作步骤(必须同时配置)

步骤1:ESXi宿主机全局熵源优化(底层基础,缺一不可)

1、SSH登录每台承载NSX虚拟机的AMD ESXi主机; 2、执行ESXCLI切换熵来源,关闭低效硬件RDSEED,优先使用中断混合熵池:

# 关闭硬件随机源禁用开关
esxcli system settings kernel set -s disableHwrng -v FALSE
# entropySources=1:仅使用系统中断熵,避开AMD低效RDSEED
esxcli system settings kernel set -s entropySources -v 0
# 或推荐参数1(纯中断熵,Zen4/5最优)
esxcli system settings kernel set -s entropySources -v 1

3、参数写入内核启动项,**重启ESXi主机**才能永久生效; 4、验证配置:`esxcli system settings kernel list | grep entropySources`。

步骤2:修改NSX Manager虚拟机高级参数(打通宿主机熵通道)

1、vCenter找到对应NSX Manager虚拟机,执行关机; 2、右键「编辑设置」→「虚拟机选项」→「高级」→「编辑配置」; 3、新增参数: 参数名:isolation.tools.getEntropy.disable 参数值:FALSE 含义:允许客户操作系统直接读取ESXi宿主机预生成的充足熵池,不再依赖虚拟机内部缓慢硬件随机源; 4、保存配置,开机启动NSX虚拟机。

三、优化前后负载对比(William实测数据)

优化前:NSX Manager平均负载持续>10,多核CPU长期高占用,页面加载、策略下发卡顿;

优化后:稳定降至5以内,加密业务、证书生成无CPU自旋等待,策略同步响应速度提升;

前置要求:仅同时完成ESXi主机内核配置+虚拟机高级参数,才能达到该优化效果,只改其中一项无明显改善。

四、适用与不适用VCF组件区分

可受益组件(高加密、高频熵请求)

NSX-T Manager、NSX Edge网关(大量IPsec/Geneve隧道加密)

无明显改善组件

VCFMS管理服务、SDDC Manager、vCenter Server、VCF Automation、vSAN控制器 作者补充:仅NSX在其实验室环境出现显著CPU异常,其余组件熵消耗低,无需部署该优化。

五、PowerCLI批量配置脚本(多AMD宿主机批量执行)

# 连接vCenter
Connect-VIServer vc01.vcf.lab
# 筛选所有AMD CPU ESXi主机
$amdHosts = Get-VMHost | Where {$ProcessorType -match "AMD"}
foreach ($host in $amdHosts){
    $esxcli = Get-EsxCli -VMHost $host -V2
    # 设置熵源参数
    $arg1 = $esxcli.system.settings.kernel.createargs()
    $arg1.setting = "entropySources"
    $arg1.value = "1"
    $esxcli.system.settings.kernel.invoke($arg1)
    Write-Host "已配置主机 $host 熵参数,需重启生效"
}
# 批量修改所有NSX虚拟机高级配置
$nsxVms = Get-VM | Where {$Name -match "nsx-manager"}
foreach ($vm in $nsxVms){
    if($vm.PowerState -ne "PoweredOff"){
        Stop-VM $vm -Confirm:$false
    }
    New-AdvancedSetting -Entity $vm -Name isolation.tools.getEntropy.disable -Value FALSE -Confirm:$false
    Start-VM $vm
}

六、生产环境落地注意事项

  1. 变更有重启依赖:ESXi主机需要重启,建议维护窗口操作;

  2. 多集群场景:所有承载NSX Edge/Manager的AMD物理主机统一配置,不可漏配;

  3. Intel服务器不受该缺陷影响,无需执行熵源修改;

  4. 升级VCF 9.1后配置永久保留,无需重复操作;

  5. 若部署外部HSM硬件熵源,ESXi 8U1+可搭配entropyd服务进一步提升熵供给。

七、用户常见问答


Q1:只改虚拟机isolation.tools.getEntropy.disable=FALSE,不修改ESXi主机参数有用吗? A:几乎无效果,宿主机本身RDSEED生成缓慢,必须底层切换熵池来源。

Q2:VCF自动化/VCFMS高CPU能否套用这套优化? A:作者实测无收益,仅NSX加密业务熵消耗巨大,其余组件不触发该瓶颈。

Q3:Zen3 AMD服务器需要配置吗? A:Zen3 RDSEED速度正常,不会出现熵耗尽CPU高负载,无需修改。

Q4:修改后是否影响FIPS加密合规? A:entropySources=1使用系统中断熵,符合vSphere安全规范,不破坏FIPS基线。

全文总结

AMD Zen4/Zen5处理器硬件随机数生成效率存在原生短板,部署NSX-T Manager时频繁熵耗尽会导致虚拟机CPU负载居高不下;VCF9.0/9.1环境完整优化分为ESXi宿主机内核切换熵池、NSX虚拟机开启宿主机熵读取通道两步,两者缺一不可。实测优化后NSX负载显著回落,该方案仅对NSX加密类组件生效,vCenter、VCFMS等无优化价值,支持PowerCLI批量自动化配置,建议在维护窗口统一修改并重启宿主机完成落地。

用户留言 User Comments