如何在CentOS 7/RHEL 7的KVM上启用嵌套虚拟化
嵌套虚拟化意味着在虚拟机内配置虚拟化环境。换句话说,我们可以说嵌套虚拟化是虚拟机管理程序的一个特性,它允许我们通过虚拟化管理程序(宿主机)的硬件加速在虚拟服务器内安装和运行虚拟机。
在这篇文章中,我们将讨论如何在 CentOS 7 / RHEL 7 的 KVM 上启用嵌套虚拟化。我假定您已经配置过 KVM 管理程序。如果您不熟悉如何安装和配置 KVM 管理程序,请参考以下文章。
在 CentOS 7.x 和 RHEL 7.x 安装 KVM 管理程序
让我们进入虚拟化管理程序,验证您的 KVM 宿主机是否启用了嵌套虚拟化。
基于 Intel 的处理器运行以下命令:
[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
N
基于 AMD 的处理器运行以下命令:
[root@kvm-hypervisor ~]# cat /sys/module/kvm_amd/parameters/nested
N
上述命令输出 N 表示嵌套虚拟化是禁用的。如果我们得到的输出是 Y 则表示在您的宿主机已启用嵌套虚拟化。
现在启用嵌套虚拟化,使用以下内容创建一个文件名为 /etc/modprobe.d/kvm-nested.conf 的文件:
[root@kvm-hypervisor ~]# vi /etc/modprobe.d/kvm-nested.conf
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
保存并退出文件。
现在移除 kvm_intel 模块然后通过 modprobe 命令添加同样的模块。在移除模块之前,确保虚拟机已关机,否则我们会得到像 “modprobe: FATAL: Module kvm_intel is in use” 这样的错误信息。
[root@kvm-hypervisor ~]# modprobe -r kvm_intel
[root@kvm-hypervisor ~]# modprobe -a kvm_intel
现在验证嵌套虚拟化功能是否启用。
[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
Y
测试嵌套虚拟化
假设我们在 KVM 管理程序上有一台已经启用了嵌套虚拟化的名为 “director” 的虚拟机。在测试之前,确保 CPU 模式为 “host-modle” 或 “host-passthrough” ,使用 Virt-Manager 或 virtsh 编辑命令检查虚拟机的 CPU 模式。
现在登录 director 这台虚拟机并运行 lscpu 和 lsmod 命令。
[root@kvm-hypervisor ~]# ssh 192.168.126.1 -l root
[email protected]'s password:
Last login: Sun Dec 10 07:05:59 2017 from 192.168.126.254
[root@director ~]# lsmod | grep kvm
kvm_intel 170200 0
kvm 566604 1 kvm_intel
irqbypass 13503 1 kvm
[root@director ~]# lscpu
让我们试着在 director 这台虚拟机的虚拟管理器 GUI 或 virt-install 命令创建一台虚拟机,在我的情况下我使用 virt-install 命令。
[root@director ~]# virt-install -n Nested-VM --description "Test Nested VM" --os-type=Linux --os-variant=rhel7 --ram=2048 --vcpus=2 --disk path=/var/lib/libvirt/images/nestedvm.img,bus=virtio,size=10 --graphics none --location /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1511.iso --extra-args console=ttyS0
Starting install...
Retrieving file .treeinfo... | 1.1 kB 00:00:00
Retrieving file vmlinuz... | 4.9 MB 00:00:00
Retrieving file initrd.img... | 37 MB 00:00:00
Allocating 'nestedvm.img' | 10 GB 00:00:00
Connected to domain Nested-VM
Escape character is ^]
[0.000000] Initializing cgroup subsys cpuset
[0.000000] Initializing cgroup subsys cpu
[0.000000] Initializing cgroup subsys cpuacct
[0.000000] Linux version 3.10.0-327.el7.x86_64 ([email protected]) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015
………………………………………………
这证实了嵌套虚拟化已成功启用,因为我们能在虚拟机内创建虚拟机。
相关热词: CentOS 7
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/xt/linux/7366.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
Linux 运维需要掌握的 17 个
时间:2020-12-28
-
这里有好用又好看的Linu
时间:2020-12-28
-
使用Meld在Linux中以图形方
时间:2020-12-28
-
Linux kernel swear counts
时间:2020-12-25
-
linux 防御SYN攻击步骤详解
时间:2020-12-23
-
谈谈Linux运维人员是否需要
时间:2020-12-23
-
linux的mount(挂载)命令详
时间:2020-12-23
-
Zotero:一款帮助你收集和
时间:2020-12-23
热门文章
-
Anki:让记忆更轻松的开源神器
时间:2020-12-22
-
如何在Linux启动时自动启动LXD容器
时间:2020-12-22
-
使用Vi/Vim编辑器:基础篇
时间:2020-12-22
-
使用parallel利用起你的所有CPU资源
时间:2020-12-22
-
Zsync:一个仅下载文件新的部分的传输工
时间:2020-12-22
-
linux 防御SYN攻击步骤详解
时间:2020-12-23
-
Vim普通模式的一般性规律性总结
时间:2020-12-22
-
TLP帮助我们的Linux机器节能省电
时间:2020-12-22
-
用户操作系统Unix的前世今生
时间:2020-12-23
-
谈谈Linux里10个最危险的命令
时间:2020-12-23
