welcome: please sign in
location: QemuKvmHowto

qemu-kvm 配置攻略

qemu 是一个轻量级的虚拟机/模拟器12。使用 Linux 内核虚拟机 (Kernel Virtual Machine, KVM) 作后端的 qemu 叫做 qemu-kvm。qemu-kvm 的客户机可以达到接近宿主机的性能。

这篇文章讲述的是 qemu-kvm,但其中大多数信息也适用于无 kvm 的 qemu。目前(2011),qemu和kvm两个项目之间呈现一种较强的融合趋势。

  1. 客户机和宿主机的 CPU 架构相同或类似的是虚拟机。不同则是模拟器。例如 VirtualBox 是纯虚拟机(只支持在 x86/x86_64 宿主机上模拟 x86/x86_64),而各种游戏终端模拟器则是模拟器。典型的 Android 模拟器(x86/x86_64 宿主机上跑 ARM 客户机)也是模拟器。 (1)

  2. comments from yuexin. qemu是完全的软件虚拟,而xen、kvm、virtualbox都是硬件虚拟,从而速度有提高。xen是有自己的内核,学名为type-I hypervisor,不同guest之间的进程调度由xen完成。kvm和virtualbox没有自己的内核,type-II hypervisor,因此必须有host OS,不同guest之间的调度通过linux kernel完成,因此轻量,并且两者都使用了qemu的代码用于完成IO虚拟化。virtualbox可以认为是kvm+virt-manager,在运行前都需要加载内核模块,只是由于非完全开源,virtualbox具有一定的速度瓶颈。 (2)

序曲之 KVM

硬件要求

KVM 需要 CPU 支持硬件虚拟化。以下命令如果无输出,说明硬件不支持。(vmx for intel,svm for amd)

$ egrep "vmx|svm" /proc/cpuinfo

硬件虚拟化还需要在bios中enable,某些厂商会默认禁用,相关设置可以在BIOS 里面找到。

加载kvm module

# modprobe kvm
# modprobe kvm-intel

主线剧情

super quick start

a disk less, single core machine, boot from livecd

$ qemu-kvm -m 1024 -cdrom livecd-path

虚拟磁盘

不像 VirtualBox,qemu 并不使用配置文件:虚拟机的参数都在命令行指定,qemu 虚拟机需要的文件只有虚拟磁盘文件。创建虚拟机第一步,建立虚拟磁盘:

% qemu-img create -f qcow2 debian.qcow 20G

上述命令应该是自明的。其中的 -f 代表 format;而 qcow2 是 qemu 当前推荐的虚拟磁盘格式,qemu 某些高级的特性会需要它。cowCopy-on-write

安装系统

然后我们就可以开始安装系统了。各种硬件配置都先用默认的。挂载光驱和硬盘,启动 qemu-kvm:

% qemu-kvm -m 1024 -smp 4 -hda ./debian.qcow -cdrom iso/debian-6.0.2.1-i386-xfce+lxde-CD-1.iso -boot d

几点解释:

使用 qemu

参见 {wiki:http://en.wikibooks.org/wiki/QEMU/Monitor}


CategoryHowto

QemuKvmHowto (2011-10-27 15:05:05由yuexin编辑)