找回密码
 立即注册
搜索
热搜: SDN 云计算 H3C
查看: 2729|回复: 0

[CentOS] 如何在 KVM 虚拟机上运行 KVM实现虚拟机内创建虚拟机

[复制链接]

57

主题

13

精华

8

回帖

管理员

体力
314 卡
贡献
161 个
金币
256 枚
注册时间
2018-8-25
最后登录
2025-3-1

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老最佳新人

发表于 2018-10-17 13:21:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
上次讨论了如何在 VMware ESXi 虚拟机上运行 KVM 问题,前不久有读者想 “在 kvm 上面创建个虚拟机安装 rackspace 的 openstack” 问到 “如何开启虚拟机上的 CPU VT 功能以便在 KVM 上运行 KVM”,又是一个嵌套应用虚拟机的问题:在 KVM 虚拟机上运行 KVM 虚拟机。以下步骤在 Ubuntu Server 12.04 LTS 64 bit 上测试通过。  
首先检查 KVM host(母机)上是否打开了嵌套虚拟机功能(默认是开启的):  
# modinfo kvm_intel | grep nested  
parm: nested:bool  

# cat /sys/module/kvm_intel/parameters/nested  
Y  

如果上面的显示结果不是 Y 的话需要开启 nested:  
# modprobe -r kvm-intel  
# modprobe kvm-intel nested=1  
# cat /sys/module/kvm_intel/parameters/nested  
Y  

--------------------------------------------------------
执行“modprobe -r kvm-intel ”命令时提示“kvm-intel”正在使用 问题解决办法:
1. 首先将所有的VM关机,尝试是否解决。
--------------------------------------------------------

然后在 KVM guest(虚拟机)的 xml 配置文件中加入 vmx 选项,并启动虚拟机(这里用的是 Ubuntu 官方发布的 Ubuntu KVM 镜像 ubuntu-12.04-server-cloudimg-amd64-disk1.img):  
# vi nestedvm.xml  
...  
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model>
    <feature policy='require' name='vmx'/>
  </cpu>
#这种方式为虚拟机定义需要模拟的CPU类型"core2duo",并且为虚拟机添加"vmx"特性

# virsh create nestedvm.xml  

启动虚拟机后登陆并安装 KVM,执行 kvm-ok 和 modinfo 均出现错误:  
# apt-get install ubuntu-virt-server  

# kvm-ok  
INFO: /dev/kvm does not exist  
HINT: sudo modprobe kvm_intel  
INFO: Your CPU supports KVM extensions  
KVM acceleration can be used  

# modinfo kvm_intel  
ERROR: modinfo: could not find module kvm_intel  

这是因为我们使用的是 ubuntu-12.04-server-cloudimg-amd64-disk1.img 这个官方虚拟机镜像,这个镜像使用的是 linux 3.2.0-23-virtual 内核,缺少 KVM 模块(kvm-intel.ko),所以我们需要改为 generic 内核:  
# uname -a  
Linux test 3.2.0-23-virtual #36-Ubuntu SMP Tue Apr 10 22:29:03 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux  

# apt-get install linux-generic  

重启后进入虚拟机执行 kvm-ok 和 modinfo 均成功:  
# kvm-ok  
INFO: /dev/kvm exists  
KVM acceleration can be used  

# modinfo kvm_intel  
filename: /lib/modules/3.2.0-30-generic/kernel/arch/x86/kvm/kvm-intel.ko  
license: GPL  
author: Qumranet  
srcversion: 3BAF54F96ECD4B02292CAA0  
depends: kvm  
intree: Y  
vermagic: 3.2.0-30-generic SMP mod_unload modversions  
parm: vpid:bool  
parm: flexpriority:bool  
parm: ept:bool  
parm: unrestricted_guest:bool  
parm: emulate_invalid_guest_state:bool  
parm: vmm_exclusive:bool  
parm: yield_on_hlt:bool  
parm: fasteoi:bool  
parm: nested:bool  
parm: ple_gap:int  
parm: ple_window:int  

现在应该可以在这个虚拟机上创建另一个虚拟机了

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表