1. 程式人生 > >巢狀虛擬化---VMware+QEMU/KVM

巢狀虛擬化---VMware+QEMU/KVM

巢狀虛擬化—VMware+QEMU/KVM

最近突然對巢狀虛擬化產生興趣,並且想了解KVM和QEMU之間的關係,於是在本機的VMware中的Ubuntu嘗試使用KVM和QEMU分別在Ubuntu虛擬機器中再裝Ubuntu。實現巢狀虛擬化的同時,在安裝過程中瞭解KVM和QEMU的關係。

本文主要記錄在VMware中使用兩種方式實現巢狀虛擬化的過程。

qemu-system-x86_64
kvm

實驗環境:win10主機系統 + VmwareWorkstation14 + Ubuntu16.04(相對於Qemu的宿主機) + Ubuntu16.04(相對於Qemu的虛擬機器)

目錄結構:

  1. 建立並啟動虛擬機器
  2. 問題與收穫
  3. 猜想

參考資料:

一、建立並啟動虛擬機器

下邊是兩種方式(qemu-system-x86_64 && kvm)的比較

1.1建立img:

qemu-img create -f qcow2 ubuntu16-64.img 10G

1.2建立虛擬機器:

一定要-enable-kvm嗎??

qemu-system-x86_64 -m 2048 -enable-kvm -hda ubuntu16-64.img -cdrom  ./ubuntu-16.04.1-desktop-amd64.iso -boot d	#okokokok
kvm -m 2048 -smp 4 -hda ubuntu-non-kvm.img -cdrom ./ubuntu-16.04.1-desktop-amd64.iso -boot dc	#okokokok

1.3啟動建立好的虛擬機器:

qemu-system-x86_64 -m 2048 -enable-kvm -hda ubuntu16-64.img
kvm -m 2048 -smp 4 -hda ubuntu-non-kvm.img	#okokokok

一些現象:

使用qemu-system-x86_64命令但是不加-enable-kvm選項時現象:

建立時:

qemu-system-x86_64 -m 2048 -hda ubuntu-no-kvm.img -cdrom  ./ubuntu-16.04.1-desktop-amd64.iso -boot d
warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
main-loop: WARNING: I/O thread spun for 1000 iterations

正在安裝過程中ing…

啟動時:

qemu-system-x86_64 -m 204 -hda ubuntu16-64.img
warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
main-loop: WARNING: I/O thread spun for 1000 iterations

能啟動,但是很慢,看到登陸介面;但是無法(是因為太慢了?)輸入使用者名稱的密碼。

二、問題與收穫

2.1 pc:ram cannot allocate memeory

原因:記憶體不足;宿主機的記憶體小於希望分配給虛擬機器的記憶體

解決:於是在vmware中對宿主機(Ubuntu16.04分配更大的處理器記憶體)

2.2宿主機中使用Qemu的時候,再裝虛擬機器的時候不能斷網。。。?

原因:kill之後再安裝還是會出現問題;;;如果格式化可能就會好?

解決:我是新建了一個.img然後再重新安裝 ;之前的資料應該是有殘留的。

2.3究竟是用qemu-kvm還是qemu-system-x86

在老版本中有單獨的qemu-kvm模組存在,結合qemu一起做虛擬機器工作。在後續新版本中,已經將qemu-kvm模組完全合併到qemu中去。因此當需要使用kvm特性時候,只需要qemu-system-x86_64 啟動命令中增加引數 –enable-kvm引數使能即可

三、猜想

所以QEMU其實是可以單獨執行的,只是速度比較慢??