虚拟硬件调整

时间:2024-04-14 20:54:57

1.CPU架构

可见链接:glance

修改虚拟机CPU的架构,以满足特殊要求

目的:修改虚拟机CPU架构

方法:创建虚拟机之前,编辑虚拟机使用的Image

glance image-update IMG-UUID --property hw_architecture=ppc64

可以设置的架构可参考QEMU支持的架构类型

2.磁盘总线类型

OpenStack默认使用virtio的磁盘总线类型,但对于部分较老的操作系统版本可能无法安装和使用virtio的驱动,所以可能无法在virtio的总线模式下正常工作,此时使用其它模式的磁盘总线就有必要了

目的:修改虚拟机所使用的磁盘总线类型

方法:创建虚拟机之前,编辑虚拟机使用的Image

glance image-update IMG-UUID --property hw_disk_bus=scsi

可以设置的总线类型有scsi, virtio, uml, xen, ide, usb

3.网卡类型

OpenStack默认使用virtio的网卡,但对于部分较老的操作系统版本可能无法安装和使用virtio的驱动,所以可能无法在virtio的网卡下正常工作,此时使用其它的网卡型号就有必要了

目的:修改虚拟机所使用的网卡型号

方法:创建虚拟机之前,编辑虚拟机使用的Image

glance image-update IMG-UUID --property hw_vif_model=e1000

可以使用的网卡型号根据不同的虚拟化类型不同

  • KVM 和 QEMU: e1000, ne2k_pci, pcnet, rtl8139, virtio
  • VMware: e1000, e1000e, VirtualE1000, VirtualE1000e, VirtualPCNet32, VirtualSriovEthernetCard, VirtualVmxnet
  • Xen: e1000, netfront, ne2k_pci, pcnet, rtl8139

4.虚拟显卡类型

虚拟机可以使用不同的虚拟显卡类型,Windows建议使用qxl类型的虚拟显卡

目的:修改虚拟机所使用的虚拟显卡类型

方法:创建虚拟机之前,编辑虚拟机使用的Image

glance image-update IMG-UUID --property hw_video_model=qxl

5.嵌套虚拟化

基于KVM的虚拟机默认没有开启嵌套虚拟化功能,如果需要虚拟机支持硬件虚拟化功能,则需要在底层KVM宿主机上开启嵌套虚拟化功能

目的:让虚拟机支持硬件虚拟化功能

方法:创建虚拟机之前,修改宿主机的配置

1)检查是否支持嵌套虚拟化
cat /sys/module/kvm_intel/parameters/nested
N                                                           #N表示不支持
 
(2)修改KVM模块的参数
/etc/modprobe.d/kvm.conf
options kvm_intel nested=1                                  #Intel CPU使用此行
options kvm_amd nested=1                                    #AMD CPU使用此行
 
(3)重新加载模块
modprobe -r kvm-intel         #确认没有虚拟机在运行,否则无法卸载模块
modprobe kvm-intel
 
(4)确保参数已生效
cat /sys/module/kvm_intel/parameters/nested
Y