KVM巢狀虛擬化 在虛擬機器中建立虛擬機器

2021-08-21 06:57:47 字數 1104 閱讀 1334

一般情況下,我們是無法在kvm虛擬機器裡面再去建立虛擬機器的,因為我們的kvm虛擬機器的cpu預設情況下並不支援虛擬化功能,對於inter的cpu來說,如果要支援虛擬化功能,必須要有乙個叫vmx的特性,以下是乙個物理伺服器的cpu資訊:

在cpu特性(flags)中包含了vmx這個特性,說明這台伺服器是支援虛擬化功能的,也就是說我們可以在這台伺服器上建立虛擬機器。我們再看看以這台伺服器作為宿主機,建立的虛擬機器的cpu特性:

我們可以看到虛擬機器的cpu特性(flags)相比起宿主機來說要少很多,並且沒有vmx這個特性,所以我們是無法在這台虛擬機器上建立虛擬機器的。

那麼,我們如何讓建立出來的虛擬機器的cpu也帶有vmx特性呢?這就要用到所謂的巢狀虛擬化的功能了。當宿主機開啟巢狀虛擬化功能時,我們在該宿主機上建立的虛擬機器的cpu也可以獲得vmx特性,從而可以在該虛擬機器中再去建立虛擬機器:

檢查宿主機機是否開啟了巢狀虛擬化功能:

cat /sys/module/kvm_intel/parameters/nested結果為y時表示宿主機支援巢狀虛擬化,為n為不支援。如何開啟宿主機的巢狀虛擬化功能可參考這篇文章:

vm01

2096576

2hvm

destroy

restart

destroy

/usr/libexec/qemu-kvm

使用以下命令建立虛擬機器:

virsh define vm01.xml

virsh start vm01

進入虛擬機器,檢視cpu特性,可以看到此時虛擬機器的cpu已經支援vmx特性:

我們再參考上面的方式在這個虛擬機器中使用libvirt再建立一台虛擬機器:

可以看到虛擬機器成功建立出來了。

在虛擬機器中建立kvm

一 需求 1 一台虛擬機器 controller 2 centos映象檔案 二 建立步驟 mkdir opt centos 建立centos資料夾 mount dev sr0 opt centos 掛載映象到centos資料夾 rm rf etc yum.repo 清空yum資料夾 vi etc y...

KVM建立虛擬機器

常用命令 kvm建立虛擬機器出現cpu報錯 需要的檔案 demo.xml配置檔案 demo 3906250 3906250 2hvm destroy restart restart usr libexec qemu kvm 常用命令 virsh define demo.xml virsh start...

建立KVM虛擬機器

windows 1.分析映象 import guestfs g guestfs.guestfs g.add drive opts datapool w2k3.qcow2 g.launth root g.inspect os root dev vda1 type g.inspect get type ...