如何在CentOS 7 / RHEL 7上的KVM中启用嵌套虚拟化

如何在CentOS 7 / RHEL 7上的KVM中启用嵌套虚拟化

Pradeep Kumar ·发布 2017年12月12日 · 更新 2018年3月31日

嵌套虚拟化意味着在虚拟机内部配置虚拟化环境。换句话说,我们可以说嵌套虚拟化是虚拟机管理程序中的一项功能,它允许我们通过虚拟机管理程序(主机)的硬件加速在虚拟服务器中安装和运行虚拟机。

在本文中,我们将讨论如何在CentOS 7 / RHEL 7的KVM中启用嵌套虚拟化。我假设您已经配置了KVM虚拟机管理程序。如果您不熟悉如何安装和配置KVM虚拟机管理程序,请参考以下文章

在CentOS 7.x和RHEL 7.x上安装KVM Hypervisor

让我们跳入管理程序,并验证是否在KVM主机上启用了嵌套虚拟化

对于基于Intel的处理器,请运行以下命令:

[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested

N

[root@kvm-hypervisor ~]#

对于基于AMD的处理器,请运行以下命令:

[root@kvm-hypervisor ~]# cat /sys/module/kvm_amd/parameters/nested

N

[root@kvm-hypervisor ~]#

在上面的命令输出中,“ 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命令添加相同的模块。在卸下模块之前,请确保VM已关闭,否则我们将收到错误消息,例如“ modprobe:FATAL:模块kvm_intel正在使用中 ”

[root@kvm-hypervisor ~]# modprobe -r kvm_intel

[root@kvm-hypervisor ~]# modprobe -a kvm_intel

[root@kvm-hypervisor ~]#

现在,验证是否启用了嵌套虚拟化功能。

[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested

Y

[root@kvm-hypervisor ~]#

对于基于AMD的系统,请运行以下命令,

[root@kvm-hypervisor ~]# rmmod kvm-amd

[root@kvm-hypervisor ~]# echo 'options kvm-amd nested=1' >> /etc/modprobe.d/dist.conf

[root@kvm-hypervisor ~]# modprobe kvm-amd

测试嵌套虚拟化

假设我们在KVM虚拟机管理程序上有一台名为“ director”的虚拟机,在该虚拟机上启用了嵌套虚拟化。在测试之前,请确保VM的CPU模式为“ host-model ”或“ host-passthrough ”,以使用Virt-Manager GUI或virsh edit命令检查虚拟机的cpu模式。

现在登录到Director VM并运行lscpu和lsmod命令

[root@kvm-hypervisor ~]# ssh 192.168.126.1 -l root

root@192.168.126.1'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 ~]#

[root@director ~]# lscpu

让我们尝试从虚拟管理器GUI或director vm内的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 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

………………………………………………

这证实了嵌套虚拟化已成功启用,因为我们能够在虚拟机内部创建虚拟机。

总结本文,请分享您的反馈和评论。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上进行KVM虚拟化部署,可以按照以下步骤进行操作: 1. 首先,部署KVM环境。这可以通过安装libvirt、virt和qemu-kvm等软件包来实现。 2. 将CentOS 7的ISO镜像拉入宿主机。这可以通过将ISO镜像文件复制到宿主机上的任意位置来完成。 3. 使用VMM GUI或命令行工具(如virt-install)创建KVM虚拟机。在创建虚拟机时,需要指定虚拟机的名称、内存大小、CPU数量和磁盘路径等参数。 4. 确保虚拟机的网络使用桥接模式,这样虚拟机可以与宿主机和其他虚拟机进行通信。 5. 可以在虚拟机关机状态下创建快照,以便在需要时可以恢复到该状态。这可以通过VMM GUI或命令行工具来完成。 需要注意的是,虚拟机的定义文件通常存储在`/etc/libvirt/qemu/`目录。如果需要克隆虚拟机,可以复制定义文件并进行相应的修改。 总结起来,CentOS 7 KVM虚拟化部署的步骤包括:部署KVM环境、拉入ISO镜像、创建虚拟机、配置网络和创建快照。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [CentOS部署kvm虚拟化机器](https://blog.csdn.net/weixin_45052781/article/details/125988357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Centos7 安装KVM](https://blog.csdn.net/justlpf/article/details/126720554)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值