重拾kvm, 内核级虚拟机

发布: 2011-01-02 22:59

kvm虚拟机(Kernel-based Virtual Machine)是运行与linux上的内核级虚拟机实现,相比其他的内核级虚拟级,kvm有很大优势,内核级运行,相对简单轻量,是一种关虚拟机,理论上效率更高,完全GPL。当然也有不少缺点,宿主机当然只能是linux了,客户机无所谓,没有完善易用的管理工具,需要与其他内核模块一起使用,对宿主机CPU有要求,必须支持VT技术才行。

其他的虚拟机,包括老牌的vmware,企业级,个人桌面版本都比较完善,但越来越庞大,越来赶不上linux内核的发展,使用它被限制在某些特定的内核版本。virtualbox,桌面级应用非常简便,也还可以,不地以IT大颚Oracle收购,应该对企业级应用的支持变好,但桌面级应用就不知道了。这两个平台都是全虚拟化平台。还有别一个半虚拟化平台xen,这个本来很有希望的虚拟化实现,却由于对内核来说过于复杂,不有其他一些原因没能进入内核,听说也 是很强大的。

关于kvm,在一年多以前试用过一回,那时的管理工具更简陋,对像windows的图形化桌面支持不好,图形界面的效率特别差,虚拟磁盘性能也不太好,网络配置麻烦,由于这些问题才一直放着没用。最近终于有了点时间,又试了一把,这次的效率还真好了不少,管理工具上,借用了qemu项目中的工具,对图形界面的支持加强,对磁盘性能,虚拟网络性能和设置都有了长足的解决方案。经过这次试用,感觉无论是虚拟机管理,易用性,图形界面效率,都到了能接受的阶段,所以把这些试用经验记录下来,以备后用。

宿主机软硬件环境:

Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz

memory ddr3 4G

intel 1000M网卡,

gentoo linux 2.6.36-x66_64

qemu-kvm-0.13.0

客户机,

window xp sp3 32位中文版,

windows xp sp2 64位英文版,

freebsd 7.3 32位,

ubuntu 8.10 32位

*) 宿主机内核的配置,

内核模块,

kvm虚拟机核心模块,kvm, kvm-intel或者kvm-amd

磁盘,网络加速模块,vhost-net,virtio* http://www.linux-kvm.org/page/Virtio

内核网桥模块,bridge stp tun

modprobe kvm kvm-intel

modprobe vhost-net virtio

modprobe bridge stp tun

这些命令需要root权限,如果缺少哪个模块,需要重新编译内核,以模块方式把这些模块编译加入到内核中,重启动进入新内核系统。内核编译参考其他文档。

对于vhost-net virtio模块,这是为提高效率,改进性能时用到,默认情况也可以不使用

对于bridge tun模块,是选择桥接模式网络才用到,默认情况网络模式也可以不使用

*) qemu-kvm虚拟管理命令工具介绍,

qemu-img 管理虚拟机磁盘的工具,创建,改变虚拟磁盘大小,虚拟磁盘格式等

qemu-kvm 用于启动虚拟机,这个命令参数非常多,并且同时支持新旧两套参数,使用时要注意。下文中都尽量使用的新参数格式,同时对旧参数做了些说明。

*) 网桥工具

brctl 网桥管理工具

localhost ~ # brctl -h

Usage: brctl [commands]

commands:

addbr add bridge

delbr delete bridge

addif add interface to bridge

delif delete interface from bridge

setageing


原文: http://qtchina.tk/?q=node/542

Powered by zexport