RedHat 的下一代旗舰产品 RedHat Enterprise Linux 6 将只包含 KVM,这一点 RedHat 官方已经在很久以前、在不同场合都确认过,也可以从RHEL 6 Beta 版本中得到证实。KVM 发展很快,稳定性有了很大提高,随着 RHEL 6 的正式到来,KVM 应用到生产环境的日子应该不远了。VPSee 曾经测试过 KVM,也看过一些 KVM 的学术论文,在网络性能、扩展、稳定性方面KVM 不如 Xen,这些因素是做 VPS 的关键,所以现在很少看到KVM VPS, 不知道 RHEL 6 以后会不会多起来,目前 KVM 应用比较少的还有一个原因就是对硬件要求高(CPU 需要 Intel VT 或 AMD SVM 的支持),硬件发展速度很快,以后应该不会有这个问题。由于 KVM 支持全虚拟,所以可以在上面安装各类操作系统,和 Xen HVM 一样。在 VPSee 看来,KVM 更适合做桌面一些,Xen 更适合做数据中心解决方案。以下操作在 SUN Fire X2100 服务器和 CentOS 5.5 上完成:检查 CPU和 Xen 不同,KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持:
# egrep 'vmx|svm' /proc/cpuinfo
flags                : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt
rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm
extapic cr8_legacy
flags                : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt
rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm
extapic cr8_legacy
安装 KVM安装 KVM 所需要的软件包:
# yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager \
libvirt libvirt-python python-virtinst
或者
# yum groupinstall KVM
安装完后确认一下是否安装成功:
# lsmod | grep kvm
kvm_amd                69416  0
kvm                   226208  1 kvm_amd

# ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 Jun 25 15:56 /dev/kvm
安装虚拟机用 virt-install 安装,这里以安装 FreeBSD 8.0 为例,os-variant 可以选择 freebsd7:
# virt-install \
--name freebsd \
--ram 512 \
--vcpus=1 \
--disk path=/home/vpsee/freebsd.img,size=4 \
--network network:default \
--os-variant=freebsd7 \
--accelerate \
--cdrom /home/vpsee/8.0-RELEASE-i386-disc1.iso \
--vnc
如果需要获得 virt-install 命令的更多选项和参数,可以查看在线帮助:
# man virt-install
用 virt-viewer 打开控制台连上 FreeBSD 的安装界面:
# virt-viewer freebsd
也可以直接用 virt-manager 图形化安装,安装过程很简单,KVM 中没有 Xen dom0, domU 的概念,更容易理解和使用,任何用过 VMware 和 VirtualBox 的人都会很容易上手,启动 virt-manager 图形界面创建一个虚拟机,创建硬盘、配置内存网络、指定安装光盘 iso 等,一步一步傻瓜操作:
# virt-manager
Tips安装完 KVM 和上面的 FreeBSD 以后,以后就可以通过 virsh 命令行工具来启动、关闭、重启、进入控制台的工具来操作虚拟机了,就在 Xen 里使用 xm 一样:
# virsh --connect qemu:///system
start freebsd
console freebsd
quit
如果你在客户端使用 Mac 或者 Linux 的话,而且没有 vnc viewer 之类的工具的话,可以直接用 ssh 和 X 连接到正在安装 FreeBSD 的那个控制台上:
# ssh -X -C
root@172.16.20.1
# virt-viewer freebsd