配置基于Devstack的嵌套KVM虚拟化
本文为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
配置基于Devstack的嵌套KVM虚拟化的更多相关文章
- ESXi 嵌套KVM虚拟化 配置
VMware ESXi5.x默认不支持嵌套虚拟化,需要修改相关配置才能支持 1.ESXi5.1主机开通ssh,修改VMware ESXi配置文件使之嵌套虚拟化. 在配置文件后面加入如下配置:vhv ...
- 基于ubuntu 14.04 kvm虚拟化部署
1. 宿主机环境(dell备份服务器) Ubuntu 14.04 LTS 64位 内存:16G 硬盘:2T 2. 确认CPU是否支持硬件虚拟化 root@shwilling:~# egrep -o ' ...
- kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- Linux中安装配置KVM虚拟化
KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...
- 一文告诉你Linux如何配置KVM虚拟化--安装篇
KVM全称"Kernel-based Virtual Machine",即基于内核的虚拟机,在linux内启用kvm需要硬件,内核和软件(qemu)支持,这篇文章教你如何配置并安装 ...
- 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用
基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课 上半节课 下半节课 f
- KVM基于X86硬件辅助的虚拟化技术实现机制【转】
内存虚拟化 Shadow Paging 作者 Shawn 在其中文博客中很详尽地介绍了 KVM 在只支持一级分页的 x86 平台上用 “Shadow Paging”进行 MMU 虚拟化的实现,由于目前 ...
- kvm虚拟化之kvm虚拟机vnc配置
本文是通过vnc方式访问虚拟主机上的KVM虚拟机. 这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来说 ...
随机推荐
- go静态类型
go静态类型 静态类型语言意味着变量必须指定一个类型,例如整型.字符串.布尔型和数组等.可以在声明变量时指定变量类型.大多数情况下,让编译器自动去推断变量类型(我们将看到一些简单的例子). 关于静态类 ...
- element not visible的解决方法
抛出异常主题为element not visible主要有一下三个方面的原因. 元素之间存在逻辑关系,比如你要选择地址时,中国选择完毕之后,才能选择北京.如果想直接一步到位,则会出现element n ...
- makefile.new(7117) : error U1087: cannot have : and :: dependents for same target
makefile.new(7117) : fatal error U1087: cannot have : and :: dependents for same target(2012-05-21 2 ...
- date和string转换用joda包
import org.joda.time.DateTime;import org.joda.time.format.DateTimeFormat;import org.joda.time.format ...
- ajax 重复提交
1.一次点击事件触发两次请求,找到的原因是重复引用了同一个.js文件,后台返回来的数据是个页面,在这个页面里面又引用了.js,所以导致一次点击多次请求
- 2、Android自动测试之Monkey工具
Android自动测试之Monkey工具 APP测试工作中经常会听到领导说,APP压力测试做了吗?刚入行时,不知道什么是 APP压力测试,找了半天没找到自己想要的.过了几年,回头想这个问题,发现牵扯了 ...
- 使用uc进行手机页面调试
最近使用uc浏览器的时候发现了,一个有趣的现象,就是uc会处理h5web app为全屏,并屏蔽一些手机上的操作,这样就会使web app更加接近本地应用.所以就研究 了一下uc的手机调试. 1.准备工 ...
- 20140613 Opencv重新编译 word小技巧
1.OPENCVGPU重新编译+自己的文件 注意点: 1.生成OPENCV.sln解决方案后,在ALL_build的属性中,添加相应目录: ALL_BUILD中的Debug和Release上的Micr ...
- Java类初始化顺序,大神3个示例带你躺坑。。
最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量.成员变量.静态代码块.非静态代码块.构造器,及继承父类时,它们的初始化顺序都是怎样的,下面我通过例子来说明这个情况,以免被人误导. 示例 ...
- 3-Windows-CMD启动mysql服务-连接本地mysql服务-连接远程mysql服务
转自: https://jingyan.baidu.com/article/84b4f565b77a5660f6da32d4.html 备注: 如果在连接远程mysql服务,无法连接时,可能是远程my ...