是骡子是马是拉出来溜溜,通过《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的并行启动特定吻合。