美文网首页
单台服务器搭建不了虚拟化/云平台集群?是时候开启KVM嵌套虚拟化

单台服务器搭建不了虚拟化/云平台集群?是时候开启KVM嵌套虚拟化

作者: 运维少年 | 来源:发表于2023-06-21 15:12 被阅读0次

    一、嵌套虚拟化

    嵌套虚拟化即让虚拟机支持虚拟化,也就是在虚拟机上再跑虚拟机,一般用于测试环境,当我们只有一台服务器,像模拟一个虚拟化集群、云平台的时候经常会使用到嵌套虚拟化。

    二、开启嵌套虚拟化

    本文以基于intel处理器为例,如果是AMD处理器,则讲本文的kvm_intel替换为kvm_amd即可。

    1.首先检查 KVM host(主机)上的kvm_intel/kvm_amd模块是否打开了嵌套虚拟机功能(默认是开启的)

    # ①先查看kvm_intel/kvm_amd模块是否已经加载
    # intel的处理器执行命令如下
    root@localhost~# modinfo kvm_intel | grep nested
    # 输出以下内容则表示已经加载
    parm: nested:bool

    # ②基于Intel的处理器运行以下命令查看是否开启嵌套虚拟化功能

    root@localhost~#cat /sys/module/kvm_intel/parameters/nested

    # 输出N为未开启,Y则代表已开启

    2.如果上面的显示结果不是Y的话需要开启nested



    注意:确保虚拟机已关机,否则我们会得到像"modprobe: FATAL:Module kvm_intel is in use”这样的错误信息。


    # 卸载kvm
    root@localhost.~# modprobe -r kvm_intel
    root@localhost.~# modprobe kvm_intel nested=1
    root@localhost:~# cat /sys/module/kvm_intel/parameters/nested
    Y

    3.然后创建虚拟机即可

    4.如需永久生效,可以通过以下方式设置


    1、ubuntu系统
    通过修改内核参数的方式:
    vi /etc/default/grub
    在kernel 那一行的末端加上 “kvm-intel.nested=1”(设置GRUB_CMDLINE_LINUX=“kvm-intel.nested=1”)
    grub-mkconfig -o /boot/grub/grub.cfg
    reboot

    2、centos系统
    卸载kvm内核模块之后
    echo ‘options kvm_intel nested=1’ >/etc/modprobe.d/kvm-nested.conf
    modprode kvm_intel
    cat /sys/module/kvm_intel/parameters/nested

    三、注意事项

    如加载模块失败,一般是没有在BIOS中启用vt-x导致

    pedprobe: ERROR: gould not insert 'kvm_intel': Operation not supported

    本文使用 文章同步助手 同步

    相关文章

      网友评论

          本文标题:单台服务器搭建不了虚拟化/云平台集群?是时候开启KVM嵌套虚拟化

          本文链接:https://www.haomeiwen.com/subject/vezuydtx.html