当使用类似KVM虚拟化技术时,有个我们可以利用的优势就是嵌套虚拟化。(例如在KVM上再跑一台KVM),在云环境中运行KVM的效率会比在QEMU环境中更快。 Linux发行版中的内核默认没有开启这个嵌套虚拟化。本指南概括讲述如何在基于KVM虚拟化环境中配置启用嵌套虚拟化,如何利用嵌套虚拟化的优势在虚机中配置devstack(搭建一个云环境) 1 嵌套虚拟化配置1.1 配置基于Intel架构的嵌套虚拟化如何查看基于lntel架构处理器上能否使用嵌套KVM 检查如果内核参数中嵌套虚拟化是启用的 cat /sys/module/kvm_intel/parameters/nested N 暂时移除Intel中KVM模块,然后永久开启嵌套虚拟化并重启,重启之后将KVM模块加回内核当中。 sudo rmmod kvm-intel sudo sh -c "echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf" sudo modprobe kvm-intel 确保在处于Intel架构处理器的主机系统已经允许使用嵌套虚拟化模块 cat /sys/module/kvm_intel/parameters/nested Y modinfo kvm_intel | grep nested parm: nested:bool 开启你的虚拟机,现在你的虚机因该具有了KVM能力–你可以通过查看/dev/kvm字节设备来验证是否开启。 cat /sys/module/kvm_amd/parameters/nested 0 1.2 配置基于AMD架构的嵌套虚拟化对于AMD架构处理器可用以下方法开启嵌套虚拟化。 sudo rmmod kvm-amd sudo sh -c "echo 'options amd nested=1' >> /etc/modprobe.d/dist.conf" sudo modprobe kvm-amd 确保在处于AMD架构处理器的主机系统已经允许使用嵌套虚拟化模块。 cat /sys/module/kvm_amd/parameters/nested 1 modinfo kvm_amd | grep -i nested parm: nested:in 再重启的时候确保以上值被永久设定,需在/etc/modprobe.d/dist.conf文件中加入以下参数: cat /etc/modprobe.d/dist.conf options kvm-amd nested=y
|