kvm创建win7虚拟机默认只识别2个cpu解决方法

现在人在部署OpenStack之后会发现按照配额运行Linux的虚拟机没有问题,但是运行windows的虚拟机会发现如果配置2个以上的核则无法识别,windows server也最多支持到4个核。无法满足很多业务的需求,但到底是什么原因造成了这样的现象呢?本文将解释这种现象,并且说明解决的办法。

socket,core和thread的概念

在理解这个概念之前,我们需要首先了解下CPU架构的概念。以物理服务器为例,现在的服务器都成为多路服务器,一般可以有多个CPU插槽,而每个CPU又有多个核,每个核可以超线程运行。所以socket即代表服务器的插槽数,core代表每个CPU的核数,thread代表每个核的线程数。

Windows对于socket的支持

Windows系统对于socket的支持各不相同。一般,桌面版的如win7这些最大支持两路CPU,也就是socket为2。而服务器最大支持四路CPU,即socket为4。

libvirt,KVM对于CPU架构的定义

所以对于Windows桌面版,对于一个8核的配置,在libvirt的XML配置文件中,可以在CPU中加入下面的配置,就可以使用。其他的以此类推。

<cpu>
<topology sockets='2' cores='4' threads='1'/>
</cpu>

  参考:https://www.cnblogs.com/billowsand/p/4523130.html

转载于:https://www.cnblogs.com/caidingyu/p/10867773.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KVM 宿主机下创建虚拟机,可以使用桥接模式、NAT 模式或者直接连接宿主机物理网卡的模式来进行网络配置。以下是在 Linux KVM 宿主机下创建虚拟机的网络配置方法: 1. 桥接模式 桥接模式可以使虚拟机直接通过宿主机的物理网卡连接到网络,可以使虚拟机获得独立的 IP 地址。具体步骤如下: 1. 在宿主机上创建一个虚拟网桥,使用以下命令: ``` brctl addbr br0 ifconfig br0 up ``` 2. 将宿主机的物理网卡连接到虚拟网桥,使用以下命令: ``` brctl addif br0 eth0 ``` 其中,`eth0` 是宿主机的物理网卡名称。 3. 在虚拟机中,指定网络接口为桥接模式,使用以下命令: ``` virsh edit <vm-name> ``` 在 XML 配置文件中添加以下内容: ``` <interface type='bridge'> <mac address='52:54:00:xx:xx:xx'/> <source bridge='br0'/> <model type='virtio'/> </interface> ``` 其中,`<mac address='52:54:00:xx:xx:xx'/>` 是虚拟机的 MAC 地址,`<source bridge='br0'/>` 是连接到虚拟网桥 `br0`。 4. 在虚拟机中配置 IP 地址和网关,使用以下命令: ``` sudo ip addr add <ip-address>/<netmask> dev eth0 sudo ip route add default via <gateway-ip-address> ``` 其中,`<ip-address>` 是虚拟机的 IP 地址,`<netmask>` 是虚拟机的子网掩码,`<gateway-ip-address>` 是宿主机的 IP 地址。 2. NAT 模式 NAT 模式可以使虚拟机通过宿主机的 IP 地址访问网络,但无法直接从外部访问虚拟机。具体步骤如下: 1. 在虚拟机中,指定网络接口为 NAT 模式,使用以下命令: ``` virsh edit <vm-name> ``` 在 XML 配置文件中添加以下内容: ``` <interface type='network'> <mac address='52:54:00:xx:xx:xx'/> <source network='default'/> <model type='virtio'/> </interface> ``` 其中,`<mac address='52:54:00:xx:xx:xx'/>` 是虚拟机的 MAC 地址。 2. 在虚拟机中配置 IP 地址和网关,使用以下命令: ``` sudo ip addr add <ip-address>/<netmask> dev eth0 sudo ip route add default via <gateway-ip-address> ``` 其中,`<ip-address>` 是虚拟机的 IP 地址,`<netmask>` 是虚拟机的子网掩码,`<gateway-ip-address>` 是宿主机的 IP 地址。 3. 直接连接物理网卡模式 直接连接物理网卡模式可以使虚拟机通过宿主机的物理网卡访问网络,但需要在虚拟机中手动配置 IP 地址和网关。具体步骤如下: 1. 在虚拟机中,指定网络接口为直接连接物理网卡模式,使用以下命令: ``` virsh edit <vm-name> ``` 在 XML 配置文件中添加以下内容: ``` <interface type='direct'> <mac address='52:54:00:xx:xx:xx'/> <source dev='eth0'/> <model type='virtio'/> </interface> ``` 其中,`<mac address='52:54:00:xx:xx:xx'/>` 是虚拟机的 MAC 地址,`<source dev='eth0'/>` 是连接到宿主机的物理网卡。 2. 在虚拟机中手动配置 IP 地址和网关,使用以下命令: ``` sudo ip addr add <ip-address>/<netmask> dev eth0 sudo ip route add default via <gateway-ip-address> ``` 其中,`<ip-address>` 是虚拟机的 IP 地址,`<netmask>` 是虚拟机的子网掩码,`<gateway-ip-address>` 是宿主机的 IP 地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值