巢狀虛擬化---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的虛擬機器)
目錄結構:
- 建立並啟動虛擬機器
- 問題與收穫
- 猜想
參考資料:
一、建立並啟動虛擬機器
下邊是兩種方式(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其實是可以單獨執行的,只是速度比較慢??