是騾子是馬是拉出來溜溜,通過《KVM虛擬化技術之使用Qemu-kvm創建和管理虛擬機》跑一遍,就會對KVM、QEMU-KVM有個大概的認識了。
qemu-kvm已經不單獨存在,qemu加上-enable-kvm可以實現同樣的功能。
關於不同CPU支持的硬件虛擬化技術,參考Processor_support。
Intel: VT-x,在/proc/cpuinfo中對應vmx標識。 AMD:AMD-V,在/proc/cpuinfo中對應svm標識。 ARM:ARMv7-A的A15、A7、A17和ARMv8-A。 |
查看x86系列CPU支持硬件虛擬化情況:
egrep '(vmx|svm)' /proc/cpuinfo |
Ubuntu下QEMU開發環境搭建
開始QEMU-KVM從QEMU fork一個分支開發qemu-kvm,后來都何如QEMU,並且fork的分支停止更新。官方WiKi。
git clone git://git.qemu-project.org/qemu.git 獲取qemu源文件由於此git存在問題,github.com有個QEMU mirror,其他相關bios文件亦可以在里面找到: git clone https://github.com/qemu/qemu.git |
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev 安裝編譯依賴文件 |
編譯安裝QEMU:
mkdir -p bin/debug/native cd bin/debug/native ../../../configure --enable-debug配置編譯環境 make -j4開始編譯 sudo make install安裝 |
創建磁盤文件:
qemu-img create -o preallocation=metadata -f qcow2 images/centos.qcow2 60G |
在虛擬機上安裝操作系統:
qemu-system-x86_64 -smp 2 -m 2048 -enable-kvm images/centos.qcow2 -cdrom images/CentOS-7-x86_64-DVD-1611.iso -vnc :1 |
使用2個CPU,2048M內存,使用KVM虛擬化技術安裝CentOS 7,開始安裝CentOS。
安裝gvncviewer,通過VNC查看界面:
gvncviewer 127.0.0.1:1 |
輸出如下:
Connected to server Remote desktop size changed to 640x480 Connection initialized Remote desktop size changed to 720x400 Remote desktop size changed to 1024x768 |
啟動虛擬機:
qemu-system-x86_64 -smp 2 -m 2048 -enable-kvm images/centos.qcow2 -vnc :1 |
一個簡單的啟動性能測試
背景:基於Host-Ubuntu Desktop 14.04啟動Guest-Ubuntu Server 16.04。
4CPU 1G:
2CPU 2G RAM:
1CPU 1G RAM:
粗看結果貌似RAM不是瓶頸,CPU影響相對比較大一點。這也和systemd的並行啟動特定吻合。