虚拟机服务器上的虚拟机操作系统以两种模式运行:全虚拟化或半虚拟化。
全虚拟化:是一种完全模拟所有硬件设备的虚拟化模式。由于VMM(虚拟机监控系统)模拟了所有的计算机设备使得操作系统好像独自占用了所有计算机的资源,所以尽管需要特定的计算机硬件,大多数操作系统都可以以全虚拟化模式运行。完全模拟计算机硬件需要消耗虚拟机服务器更多地CPU资源。所以全虚拟化模式操作系统运行速度会比较慢。
半虚拟化:是一种选择性的模拟硬件设备的虚拟化模式。以半虚拟化模式运行的半虚拟化操作系统并不需要完全模拟硬件,因此只需付出更少的管理代价。例如,VM-aware系统运行时不需要模拟显卡,因此虚拟机服务器就不用模拟视频数据了。所以,以半虚拟化模式运行的操作系统消耗更少的CPU资源并且执行地更好。它也并不需要特定的计算机硬件。
虚拟机监控系统虚拟机监控系统(VMM)在服务器硬件和SUSE Linux系统内核之间运行。计算机启动时会首先加载VMM,然后以特权模式启动虚拟机服务器。特权模式指的是虚拟机服务器可以创建并控制虚拟机,而且还可对计算机硬件进行直接存取。 你需要设置虚拟机服务器与本地设备驱动程序来匹配实际的计算机设备。例如,如果计算机有一个物理网卡e1000,就要设置虚拟机服务器去加载运行e1000的SUSE Linux驱动程序。
Xen开源社区开发和维护着涉及软件层的虚拟机监控程序(VMM) 和 hypervisor,同时它也提供功能性的虚拟机服务器。
定义一个虚拟机服务器(Defining a VM)
你可以在存放虚拟机镜像的虚拟机服务器上定义一个虚拟机,在配置文件/etc/xen/vm/vm_name里面去定义。配置文件里面定义了虚拟资源,比如在虚拟机上安装和启动操作系统时你所看到的CPU、内存、网卡及块设备。
虚拟机设备驱动
在全虚拟化和半虚拟化两种模式下,虚拟机操作系统都是通过设备驱动与VMM相结合。在全虚拟化模式下,操作系统通过本地标准模拟设备的设备驱动来实现,例如AMD PCNet或者NE2000网卡,IDE磁盘驱动器和VGA显卡。在半虚拟化模式下,含有专有设备驱动(叫Xen驱动)的VM-aware操作系统通过VMM和VM服务器与计算机的物理设备通信。
比如说,如果一个以全虚拟化模式运行的虚拟机操作系统想要保存一个文件到它的20G虚拟磁盘上,操作系统就要通过设备驱动给VMM传送请求。VMM知道了它的500G物理磁盘的哪部分可以给虚拟机进行存取以后,它就会给虚拟机服务器下达指令。虚拟机服务器回去访问磁盘启动器并把文件写入预先确定好的磁盘区域里。 只要有足够的计算能力和可用的计算机资源,你可以再一台虚拟机服务器上创建并同时运行任意多个虚拟机。每一个虚拟机都相互独立地通过VMM和虚拟机服务器平台去使用虚拟或模拟的CPU、内存、块设备和网络资源。
你可以通过虚拟机服务器桌面去浏览和管理虚拟机。