配置基于Devstack的嵌套KVM虚拟化

简介: 本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihouJmilkFan:minxihou的技术博文方向是 算法&Openstack自动化 ,写得很好,值得推荐。

本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou

JmilkFan:minxihou的技术博文方向是 算法&Openstack自动化 ,写得很好,值得推荐。 : )

目录

本文为博主翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou
当使用类似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

1.3 在Devstack虚机中拓展虚拟化功能

通过virsh小节来配置虚拟机libvirt XML配置项。

sudo virsh edit devstack-vm

添加以下代码片来使虚机的CPU支持这个功能。

<cpu mode='host-passthrough'>
</cpu>

1.4 确认Devstack配置的虚机使用了KVM

之前调用了stack.sh来部署Devstack的时候配置了一个虚机实例,如何确保实例开启了KVM。可以在你虚机中通过查看/dev/kvm文件来确认虚拟是否开启了KVM。Devstack将会在nova.conf配置文件中引用virt_type=kvm作为默认配置选项,否则的话Devstack会滚到默认参数virt_type=qemu即qemu仿真模式。

可以可选的显示地调用设置虚拟化类型,通过在nova中设置libvirt驱动来调用KVM。一下配置项适用于Devstack的local.conf文件中。

LIBVIRT_TYPE=kvm

一旦Devstack配置成功之后,验证Nova实例是否是启用了KVM,注意在Nova中使用accel=kvm参数将会调用QEMU的命令行。

ps -ef | grep -i qemu
root     29773     1  0 11:24 ?        00:00:00 /usr/bin/qemu-system-x86_64 -machine accel=kvm [. . .]

原文地址:http://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html

相关文章
|
10月前
|
存储 监控 网络安全
【KVM虚拟化】· 虚拟机的冷迁移和热迁移
【KVM虚拟化】· 虚拟机的冷迁移和热迁移
848 0
|
10月前
|
KVM 虚拟化 Windows
【KVM虚拟化】· KVM中的网络
【KVM虚拟化】· KVM中的网络
196 0
|
10月前
|
存储 KVM 文件存储
【KVM虚拟化】· 存储池、存储卷
【KVM虚拟化】· 存储池、存储卷
377 0
|
10月前
|
存储 监控 安全
【KVM虚拟化】· virsh文件管理
【KVM虚拟化】· virsh文件管理
318 0
|
10月前
|
XML Shell API
【KVM虚拟化】· virsh管理命令
【KVM虚拟化】· virsh管理命令
242 0
|
10月前
|
XML 存储 安全
【KVM虚拟化】· 命令行KVM安装linux
【KVM虚拟化】· 命令行KVM安装linux
126 0
|
10月前
|
存储 安全 Linux
【KVM虚拟化】· 图形化KVM安装linux
【KVM虚拟化】· 图形化KVM安装linux
195 0
|
10月前
|
存储 XML Linux
部署KVM虚拟化平台
部署KVM虚拟化平台
313 0
|
10月前
|
存储 Shell KVM
KVM虚拟化进阶学习
命令安装KVM
164 0
|
10月前
|
存储 Linux 调度
Linux部署KVM虚拟化平台
Linux部署KVM虚拟化平台
266 0

相关课程

更多