zoukankan      html  css  js  c++  java
  • ovirt kvm嵌套虚拟化

    嵌 套式虚拟nested是一个可通过内核参数来启用的功能。它能够使一台虚拟机具有物理机CPU特性,支持vmx或者svm(AMD)硬件虚拟化。关于 nested的具体介绍,可以看这里 。该特性需要内核升级到Linux 3.X版本 ,所以在centos6下是需要先升级内核的,而在centos7下已默认支持该特性,不过默认是不开启的,需要通过修改参数支持。

    1、确认主机是否支持nested
    通找到如下文件或在模块特性中能grep到该特性值 ,证明当前内核支持nested,如下是查到支持但未开启:

    #查看当前系统是否支持nested

    systool -m kvm_intel -v  | grep -i nested
    nested              = "N"


    #或者这样查看

    cat /sys/module/kvm_intel/parameters/nested
    N


    2、开机启动该nested
    有两种方法可以开机自启动该特性:

    在 kernel 那一行的末端加上 "kvm-intel.nested=1"


    # echo "options kvm-intel nested=1" >> /etc/modprobe.d/kvm-intel.conf


    不重启主机也可以通过重新加载模块支持:

    # rmmod kvm_intel
    # modprobe kvm-intel nested=1
    # cat /sys/module/kvm_intel/parameters/nested



    3、建议VMX支持虚拟机
    通过virsh 指定xml 文件启动虚拟机时,可以在xml 中通过如下三种方法支持

     <cpu mode='custom' match='exact'>
        <model fallback='allow'>core2duo</model>
        <feature policy='require' name='vmx'/>
     </cpu>


    #这种方式为虚拟机定义需要模拟的CPU类型"core2duo",并且为虚拟机添加"vmx"特性
    #也可以使用这种

    <cpu mode='host-model'>
      <model fallback='allow'/>
    </cpu>


    #或者这样

    <cpu mode='host-passthrough'>
        <topology sockets='2' cores='2' threads='2'/>
    </cpu>


    #CPU穿透,在虚拟机中看到的vcpu将会与物理机的CPU同样配置,这种方式缺点在于如果要对虚拟机迁移,迁移的目的服务器硬件配置必须与当前物理机一样
    通过qemu-kvm 命令启动时,可以通过如下参数支持:

    -enable-kvm -cpu qemu64,+vmx


    4、成功运行rhce虚拟机
    以下才是本篇嵌套虚拟机的重点

    通过如下方法启动虚拟机:

    /usr/libexec/qemu-kvm -m 8096 -cpu qemu64,+vmx -smp 4,sockets=4,cores=1,threads=1 -drive file=jiaoshiji.qcow2 -vnc 0.0.0.0:20 VNC连接后,

    通过cat /proc/cpuinfo查看支持VMX特性:

    egrep '(vmx|svm)' /proc/cpuinfo


    5、如果用virtmanager管理,cpu属性选择Copy host CPU configure

  • 相关阅读:
    jQuery实现图片前进后退
    jQuery写日历
    python列表模拟栈
    python 列表去重
    Linux的文件系统
    新建vss数据库
    关于业务用例和系统用例
    从零开始使用Linux命令
    svn的安装与配置
    数塔 动态规划
  • 原文地址:https://www.cnblogs.com/zhongguiyao/p/8075810.html
Copyright © 2011-2022 走看看