分类: LINUX
2008-04-26 18:24:12
性能调整
但是,这个项目在快速地发展,按照Avi Kivity所说的,KVM已经在某些方面超过了Xen,将来在其他方面也将赶上Xen。
虚拟化如何工作
台虚拟化是一个旧技术了,但是,最近几年,硬件和操作系统都很成熟了,有望实现真正的虚拟化,大多数虚拟化基础部分是管理程序,管理程序在虚拟客户操作系统和真实硬件之间充当一个中间层,有时候,管理程序就是操作系统,如Xen,其他时候,它是用户层软件,如VMware,虚拟客户操作系统或虚拟实例是一个隔离的操作系统,但是,实际上是管理程序提供了这种幻觉。
支持虚拟化的处理器
由于虚拟技术的复活,微处理器厂商已经更新了它们的处理器,天生就支持虚拟化了。允许处理器直接支持管理程序,使得开发管理程序的任务更简单了,处理器为宿主操作系统和客户操作系统管理处理器的状态,还以虚拟操作系统的名义管理I/O和中断。
安装KVM
KVM已经被添加到许多发行版中了,包括OpenSUSE/SUSE,Fedora 7(内置了KVM),Debian和Ubuntu(Feisty)。
对于其他发行版而言,你需要下载2.6.20及以上的内核版本,在自定义编译内核时,在进行内核配置时选择DeviceVirtualization,启用support for hardware-based virtualization【支持基于硬件的虚拟化】,你还可以随KVM模块一起从获取用户空间工具。
我已经安装了OpenSUSE软件包,因此,在本文中例子中的文件名可能与你的发行版不一样。
创建客户操作系统
使用编译好的支持虚拟化技术的内核,下一步工作是为客户操作系统创建一个磁盘映像,你可以用qemu-img命令来完成,下面有展示,注意映像的大小是6GB,但是使用QEMU的写时复制格式(qcow)时,文件将按需增大,而不是一次性占用6GB空间。
#qemu-img create -f qcow image.img 6G
在目前的KVM版本下I/O是由QEMU处理的,因此让我们查看一些重要的QEMU参数:
-m:按兆字节(MB)显示的内存
-cdrom:理论上是一个ISO镜像文件,充当虚拟机的一个cd-rom驱动器,如果不指定cdrom参数,ide1主驱动器将充当cd-rom。
-hda:指向一个QEMU写时复制镜像文件,要指定多个磁盘,我们可以这样:
#qemu-kvm -m 384 -hda vmdisk1.img -hdb vmdisk2.img -hdc vmdisk3.img
-boot:允许我们自定义启动选项;-d参数指定从cd-rom启动。
默认命令从一个子窗口启动客户操作系统,但是你可以通过下面的参数以全屏模式启动:
-fulle-screen
另外,KVM允许在虚拟环境中进行低级硬件控制,你可以通过特殊的参数重定向串口、并口和USB端口到指定的设备。声音在虚拟机中也是支持的,你可以通过-soundhw参数在虚拟机中启用你的声卡。
下面是一些快捷键:
Ctrl-Alt-F:固定为全屏幕
Ctrl-Alt-N:切换到虚拟控制台N
Ctrl-Alt:固定鼠标和键盘
结论
随着Linux内核引入KVM,将来的Linux发行版将内置支持虚拟化技术,将不再需要任何双启动安装,因为所有你需要的所有应用程序都能直接从Linux桌面运行,KVM只是众多开源管理程序的其中一员,再一次肯定了开源已经成为虚拟技术的前进方向。