vagrant-vagrant Provisionier上的多核
我正在使用vagrant实现vmware中机器的自动化 到目前为止,我已经创造了两个CPU的机器,它工作得很好 现在,我需要创建一台具有8个内核的机器,并收到以下失败消息:vagrant-vagrant Provisionier上的多核,vagrant,vagrant-provision,Vagrant,Vagrant Provision,我正在使用vagrant实现vmware中机器的自动化 到目前为止,我已经创造了两个CPU的机器,它工作得很好 现在,我需要创建一台具有8个内核的机器,并收到以下失败消息: GenericVmConfigFault: The virtual machine cannot be powered on because the number of virtual CPUs is not a multiple of the number of cores per socket configured in
GenericVmConfigFault: The virtual machine cannot be powered on because the number of virtual CPUs is not a multiple of the number of cores per socket configured in the virtual machine.
我知道速率应该是每个插槽2个CPU,但是如何配置插槽的数量
这是代码示例:
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
end
谢谢在VMWare中,为每个套接字配置核心是一种VMX配置。假设在Vagrant.configure()块中的Vagrant中正确安装了VMWare provider,则可以将VMX配置作为哈希集传入框中。在其中配置您的设置。您感兴趣的两个关键点是:
cpuid.coresPerSocket
numvCPU
在VMWare的GUI中,有“处理器数量”和“每个处理器的内核数量”。两者相乘得到“numvcpus”,因此“numvcpus/cpuid.coresPerSocker”必须是一个整数,这就是您得到的错误。让您的生活更轻松,只需将VMX值设置为1:)
编辑以添加示例:
config.vm.provider "vmware_desktop" do |v|
v.vmx["cpuid.coresPerSocket"] = "1"
v.vmx["numvcpus"] = "4"
end
这将创建一个充当4核CPU(每个插槽1核)的VMWare机箱。请注意,根据Vagrant的文档,VMX配置是流程中的最后一步,因此如果设置NUMVCPU,它将覆盖Vagrant的CPU配置,即使在同一个Vagrant文件中也是如此。coresPerSocket也会这样做,因此如果您遇到问题,您应该使用它,而不是vagrant的CPU命令
注意:根据VMWare的文档,VMX配置明显不向后兼容。他们没有证件。如果上述文档不适用于您,确定所需设置的最佳方法是使用您正在使用的VMWare版本手工制作一个框,然后打开创建的VMX文件并找到您输入的值。VMX文件中的所有值都是键值,可以使用上述模式插入/修改。如果要删除某个值,请将该值设置为“nil”(不带引号) 这对我不起作用。你能用一个例子说明更多吗?是的,当然。我将把这个例子添加到主要答案中,供稍后找到它的其他人参考:)