XenServer 开启 嵌套虚拟化(二次虚拟化)
XenServer代码
在Xen的虚拟机中运行另外一个虚拟机,说白了,就是Xen的嵌套虚拟化技术。
在XenServer中一行代码搞定:
xe vm-param-set uuid= platform:exp-nested-hvm=true
原理分析
其实在当前最新的Xen的版本中,这个功能是默认就开启的,具体的参看:https://wiki.xenproject.org/wiki/Nested_Virtualization_in_Xen
- 在一般的嵌套虚拟化中,整个架构是这样子的:
- 其中,L1是第一层虚拟机,在这个虚拟机中会再运行一个hypervisor,里面运行嵌套的那个虚拟机,被称为L2层。由于我们在L1和L2层运行的都是Xen hypervisor,所以整个架构看起来是这样子的:
- 当然,在这种情况下,还可以分成4个子情况:
L1运行PV Xen,L2运行PV Xen
L1运行PV Xen,L2运行HVM Xen
L1运行HVM Xen,L2运行PV Xen
L1运行HVM Xen,L2运行HVM Xen -
L1运行HVM Xen,L2运行PV Xen
按照之前“全虚拟化启动虚拟机”的步骤做下来,在启动虚拟机的时候加两个选项hap=1和nestedhvm=1: kernel = "hvmloader" builder="hvm" name = "l1-guest" memory = 1024 vcpus = 2 disk = [ 'file:/path/to/vm.img,xvda,rw' ] # boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d) boot="cd" hap=1 nestedhvm=1
版权声明:
作者:三炮不吃鱼
链接:https://www.keke.moe/archives/980.html
文章版权归作者所有,未经允许请勿转载。
THE END