代码改变世界

xen,virt-manager简介

2012-01-19 10:22  onm  阅读(875)  评论(0编辑  收藏  举报

Xen

Xen到底是个啥,是个软件,还是个虚拟化技术,应该说Xen是个虚拟化解决方案吧。Xen的全称应该是Xen hypervisor,是一套开源的虚拟化解决方案,允许计算机硬件同时运行多个操作系统。应该都用过vmware, virtualbox之类的虚拟机软件,xen与它们的不同之处在于,“VMware ESX服务器的架构是建立在直接执行(直接在硬件上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上的。从根本上说,它把一个完整的X86平台导出到虚拟机上,ESX服务器可以使大多数能在X86上执行的操作系统都能在虚拟机上运行,而不需要进行任何修改。Xen的架构中使用了一种叫Para虚拟化技术 (Para virtualization) ,对虚拟出来的客户操作系统(Guest OS)进行修改,使它知道它是在虚拟环境下运行。 ”(引号部分摘自网络)。

使用Xen技术的有哪些,为人熟知的VPS提供商Linode就是用的Xen技术,这也应该是都知道的。(我曾经用过一次基于OpenVZ的VPS,据说基于OpenVZ的VPS没有基于Xen的VPS好,可以给Xen的技术的好提供一个佐证),另外Xen网站上写着Amazon的云服务AWS也是基于Xen的,还有Rackspace,这些东西有的玩票性质的玩过,有的耳闻目见过,都是不错的货。

Xen hypervisor包含三个部分,Xen Hypervisor,Domain 0(Dom0), DomainU(DomU)。Xen hypervisor直接跑在硬件上,是所有客户操作系统硬件请求的接口,位于硬件之上,客户操作系统之下。Domain-0是不同于DomainU拥有直接控制硬件特权的特权域,它是在系统启动时由Xen hypervisor启动的,它可以是除了Windows以外的任何系统,刚说了它有特权,所以它可以控制所有其他的客户域,比如开关,I/O请求等。客户域(DomU)由Dom0控制,可以是半虚拟化(Paravirtualization)运行修改过的操作系统,也可以是(Hardware Virtual Machine)运行未经修改过的操作系统。

安装Xen可以通过编译内核,或者apt-get,yum方式。我在Ubuntu下用apt-get方式安装过,但是Graphic Console不知道为什么是黑屏的,后来换了Fedora用yum装好,很方便。

一些资料:

virt-manager

virt-manager是用来管理虚拟机的可视化桌面应用,算是个通用的虚拟机管理软件,可以管理qemu,xen,kvm虚拟机,当然使用xen提供的xm工具也可以管理,virt-manager提供了一些更方便的工具和可视化的操作方式。

virt-manager是基于libvirt的python-binding写的软件(libvirt是一套用来和很多虚拟机交互的一套api),界面使用了了GTK+和Glade。

libvirt是重点,使用c语言写的,提供了很多语言的绑定,“Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。这些软件包括一个API库、一个daemon(libvirtd)和一个命令行工具(virsh)。Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和hypervisor。比如,命令行“virsh list -- all”可以列出所有任何支持的、基于hypervisor的虚拟机,这就避免学习、使用不同hypervisor的特定工具。使用libvirt,意味着使用virsh、virt-manager、virt-install等工具管理虚拟机,这些工具都是围绕着libvirt开发的。人们不再直接使用基于XEN的xm、或是qemu/qemu-kvm等二进制工具。”(引号部分摘自网络)

一些资料: