Vagrant配置vSphere虚拟机8核CPU报错,如何设置CPU插槽数?
解决Vagrant vSphere Provider中虚拟机CPU配置报错问题
这个报错的原因很清晰:VMware要求虚拟机的总虚拟CPU数量必须是每插槽核心数的整数倍,也就是总vCPU数 = CPU插槽数 × 每插槽核心数。你需要配置每插槽2核,总CPU是8核,对应的插槽数就是4(8÷2),只要在Vagrant的vSphere配置里加上每插槽核心数的参数就能解决问题。
直接修改你的代码,添加cpu_cores_per_socket参数即可:
mach.vm.provider :vsphere do |vsphere| vsphere.host = 'lab6' vsphere.compute_resource_name = 'lab6' vsphere.template_name = 'RH74-Template' vsphere.name = 'serv4' vsphere.user = 'xxxxxxxx' vsphere.password = 'xxxxxxxx' vsphere.insecure = true vsphere.memory_mb = 51200 vsphere.cpu_count = 8 # 指定每插槽核心数为2,自动计算出插槽数为4(8/2) vsphere.cpu_cores_per_socket = 2 end
添加这个参数后,总vCPU数8刚好是每插槽2核的4倍,完全符合VMware的配置要求,虚拟机就能正常启动了。
另外要注意,这个参数是Vagrant vSphere Provider支持的标准配置项,只要你的vSphere环境和模板支持多核插槽配置就没问题——既然你之前2核的虚拟机运行正常,这个配置肯定是兼容的。
内容的提问来源于stack exchange,提问作者eran meiri




