本文为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

检查如果内核参数中嵌套虚拟化是启用的

  1. cat /sys/module/kvm_intel/parameters/nested
  2. N

暂时移除Intel中KVM模块,然后永久开启嵌套虚拟化并重启,重启之后将KVM模块加回内核当中。

  1. sudo rmmod kvm-intel
  2. sudo sh -c "echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf"
  3. sudo modprobe kvm-intel

确保在处于Intel架构处理器的主机系统已经允许使用嵌套虚拟化模块

  1. cat /sys/module/kvm_intel/parameters/nested
  2. Y
  3. modinfo kvm_intel | grep nested
  4. parm: nested:bool

开启你的虚拟机,现在你的虚机因该具有了KVM能力–你可以通过查看/dev/kvm字节设备来验证是否开启。

  1. cat /sys/module/kvm_amd/parameters/nested
  2. 0

1.2 配置基于AMD架构的嵌套虚拟化

对于AMD架构处理器可用以下方法开启嵌套虚拟化。

  1. sudo rmmod kvm-amd
  2. sudo sh -c "echo 'options amd nested=1' >> /etc/modprobe.d/dist.conf"
  3. sudo modprobe kvm-amd

确保在处于AMD架构处理器的主机系统已经允许使用嵌套虚拟化模块。

  1. cat /sys/module/kvm_amd/parameters/nested
  2. 1
  3. modinfo kvm_amd | grep -i nested
  4. parm: nested:in

再重启的时候确保以上值被永久设定,需在/etc/modprobe.d/dist.conf文件中加入以下参数:

  1. cat /etc/modprobe.d/dist.conf
  2. options kvm-amd nested=y

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

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

  1. sudo virsh edit devstack-vm

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

  1. <cpu mode='host-passthrough'>
  2. </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文件中。

  1. LIBVIRT_TYPE=kvm

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

  1. ps -ef | grep -i qemu
  2. 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虚拟化的更多相关文章

  1. ESXi 嵌套KVM虚拟化 配置

    VMware ESXi5.x默认不支持嵌套虚拟化,需要修改相关配置才能支持   1.ESXi5.1主机开通ssh,修改VMware ESXi配置文件使之嵌套虚拟化. 在配置文件后面加入如下配置:vhv ...

  2. 基于ubuntu 14.04 kvm虚拟化部署

    1. 宿主机环境(dell备份服务器) Ubuntu 14.04 LTS 64位 内存:16G 硬盘:2T 2. 确认CPU是否支持硬件虚拟化 root@shwilling:~# egrep -o ' ...

  3. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  4. Linux中安装配置KVM虚拟化

    KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...

  5. 一文告诉你Linux如何配置KVM虚拟化--安装篇

    KVM全称"Kernel-based Virtual Machine",即基于内核的虚拟机,在linux内启用kvm需要硬件,内核和软件(qemu)支持,这篇文章教你如何配置并安装 ...

  6. 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用

    基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...

  7. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课

    centos vmware centos6.6 64位 kvm虚拟化安装配置     第四十二节课 上半节课 下半节课 f

  8. KVM基于X86硬件辅助的虚拟化技术实现机制【转】

    内存虚拟化 Shadow Paging 作者 Shawn 在其中文博客中很详尽地介绍了 KVM 在只支持一级分页的 x86 平台上用 “Shadow Paging”进行 MMU 虚拟化的实现,由于目前 ...

  9. kvm虚拟化之kvm虚拟机vnc配置

    本文是通过vnc方式访问虚拟主机上的KVM虚拟机.    这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来说 ...

随机推荐

  1. git ,报403错误,完美解决方案

    首先命令行操作结果如下: root@zhiren-PowerEdge-T110-II:/zrun# git clone https://git.coding.net/xxxxxxxx/xxxx.git ...

  2. 完爆 Best Fit,看阿里如何优化 Sigma 在线调度策略节约亿级成本

    摘要:2018 年“双 11”的交易额又达到了一个历史新高度 2135 亿.相比十年前,我们的交易额增长了 360 多倍,而交易峰值增长了 1200 多倍.相对应的,系统数呈现爆发式增长.系统在支撑“ ...

  3. 微信小程序利用canvas生成海报分享图片

    一 . 效果 这是借用女神照生成的分享的海报,图片来自网络. 新增了poster组件和更新图片自适应 二 . 准备 准备两张图片连接,最好是自己开发账号验证的https图片链接. 三 . 实现思路 其 ...

  4. 一些基本LINUX命令以及测试环境的搭建

    LINUX操作系统平时用的不多,资深测试与开发同学们用的比较多,像我这样的一个人,只喜欢WINDOWS操作系统.但LINUX操作系统也用过一段时间, 知道一些基本命令,如果不记得的话,就百度一下,拿来 ...

  5. json path espressions的语法学习

    json path espressions的语法学习 $:跟对象\元素 @:当前对象\元素 ?():应用过滤器(脚本)表达式 如: { "store": {    "bo ...

  6. 戏说 .NET GDI+系列学习教程(三、Graphics类的应用_打印收银小票)

    #region 打印 /// <summary> /// 打印字符串内容 /// </summary> /// <returns></returns> ...

  7. 20. Jmeter抓包之APP请求

    APP测试过程中我们经常需要抓包,通常我们使用fiddler或者Charles.但是jmeter也可以抓包,而且非常好用,闲话不多说,下面进入正题. 步骤: 1.选择测试计划,添加线程组 2.选择工作 ...

  8. CTF杂项思路工具分享————2019/5/30

    分享碰到的一些奇奇怪怪的杂项解题方式: 键盘坐标密码: 题目给出一段字符串:11 21 31 18 27 33 34 对照上面的表格,就可以很清晰的看出来密文为:QAZIJCV 猪圈码: 题目为: 一 ...

  9. html select美化模拟jquery插件select2.js

    代码展示:http://www.51xuediannao.com/demo.php 代码说明: select2.js是一个html select美化模拟类jquery插件,但是select2.js又远 ...

  10. MFS分布式文件系统【4】客户端的挂载MFS存储空间

    挂载基于MooseFS 分布式文件,客户端主机必须安装FUSE软件包(FUSE版本号至少2.6,推荐版本号大于2.7的fuse) [root@master ~]# rpm -qa|grep fuse ...