简介 php
Xen是一个基于虚拟硬件监控器技术的虚拟化软件。Xen运行在一个宿主linux系统上,提供同时引导启动多个linux实例的能力。每一个由Xen生成的虚拟机,被称为domain。新建立的domain须要为其安装一个操做系统,方可引导并使用。如下是几种虚拟化软件的对比: python
项目 linux |
Virtual Machine 服务器 |
Para Virtualized 架构 |
OS Virtualized app |
虚拟层面 dom |
硬件虚拟机 工具 |
准虚拟化 性能 |
操做系统虚拟化 ui |
虚拟原理 |
虚拟硬件监控层 模拟多个虚拟机运行 |
并行虚拟化 同时启动多个虚拟的子系统 |
将操做系统划分为多个容器构成虚拟环境 |
表明产品 |
EMC VMware 微软Virtual Server |
Xen |
SWsoft Virtuozzo SUN Container |
运行的系统内核实例 |
底层物理系统运行一个内核,每一个虚拟机各自运行运行一个标准内核 |
底层系统使用一个修改过的内核,全部虚拟机运行通过修改的特别内核(如过CPU支持虚拟指令集,则虚拟机可以使用标准内核 |
全部虚拟环境一个内核,由底层系统提供 |
性能 |
低 |
通常 |
高 |
虚拟机间隔离 |
隔离 |
隔离 |
隔离 |
物理节点和虚拟机间隔离 |
隔离 |
隔离 |
隔离 |
资源分配颗粒度 |
粗 |
粗 |
很是细 |
软件可管理性 |
高 |
通常 |
很是高 |
安装
Redhat Enterprise Linux 自5.0版本(如下简称AS5)起,内核版本提高到了2.6.18系列,正式提供了对Xen虚拟化技术的支持。在以往的Linux版本中,安装Xen须要编译内核(Domain0/DomainU等)等,并进行有关配置,安装过程比较复杂。而在Xen上安装新的虚拟机操做系统(即建立新Domain)更是让新手无从下手。从AS5起,系统级集成让这一切有了明显改善,更加简单易用。
首先用默认安装方式安好一个干净的AS5系统,推荐安装X图形环境,通常使用GNOME便可。AS5提供了基于图形的Xen管理工具,因此安装X图形环境会让使用Xen更加简便。固然,若是对Xen很熟悉,能够不安装或者安装可是不启动X图形环境,所有在命令行下边操做Xen。
使用默认安装方式安装操做系统完毕后,从操做系统的光盘中寻找以下RPM并上传到服务器上,用于Xen的安装:
光盘Server目录 |
kernel-xen xen-lib gnome-python2-gnomekeyring |
光盘VT目录 |
gnome-applet-vm-0.1.2-1.el5.i386.rpm libvirt-0.1.8-15.el5.i386.rpm libvirt-devel-0.1.8-15.el5.i386.rpm libvirt-python-0.1.8-15.el5.i386.rpm python-virtinst-0.99.0-2.el5.noarch.rpm virt-manager-0.2.6-7.el5.i386.rpm Virtualization-en-US-5.0.0-7.noarch.rpm Virtualization-zh-CN-5.0.0-7.noarch.rpm xen-3.0.3-25.el5.i386.rpm xen-devel-3.0.3-25.el5.i386.rpm |
在第五张安装光盘的VT目录中还有许多其余文件,主要是Xen图形管理工具的语言包文件,能够不用都安装上。上边列出的只是主要的RPM包,若是在安装过程当中报告还须要其余的RPM,则从光盘中寻找并安装便可。
首先安装Kernel的RPM包,使用rpm -ivh 命令安装。
[root@localhost "]# rpm -ivh kernel-xen-2.6.18-8.el5.i686.rpm warning: kernel-xen-2.6.18-8.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:kernel-xen ########################################### [100%] [root@localhost "]# rpm -ivh xen-libs-3.0.3-25.el5.i386.rpm warning: xen-libs-3.0.3-25.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:xen-libs ########################################### [100%] [root@localhost "]# |
接下来修改默认的Kernel启动顺序。编辑/etc/grub.conf,找到“default=1”这行,把数字改为“0” 。“0”表示启动第一个内核,即Xen内核。“1”表示启动第二个内核,即操做系统AS5原来的普通内核。以下图中红色的标记。
[root@localhost "]# vi /etc/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/hda default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux Server (2.6.18-8.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-8.el5 module /vmlinuz-2.6.18-8.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet module /initrd-2.6.18-8.el5xen.img title Red Hat Enterprise Linux Server (2.6.18-8.el5) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.18-8.el5.img |
修改完毕后从新启动系统。重启系统完成后,再安装其余的RPM。
[root@localhost "/xen]# rpm -ivh *.rpm warning: gnome-applet-vm-0.1.2-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:Virtualization-en-US ########################################### [ 9%] 2:gnome-python2-gnomekeyr########################################### [ 18%] 3:Virtualization-zh-CN ########################################### [ 27%] 4:xen-devel ########################################### [ 36%] 5:libvirt ########################################### [ 45%] 6:xen ########################################### [ 55%] 7:python-virtinst ########################################### [ 64%] 8:libvirt-python ########################################### [ 73%] 9:virt-manager ########################################### [ 82%] 10:gnome-applet-vm ########################################### [ 91%] 11:libvirt-devel ########################################### [100%] [root@localhost "/xen]# |
安装完成。这里能够不重启系统。当且仅当更新内核的时候,才须要重启。而安装Xen的其余组件和管理工具是不须要重启的。这里也能够看出Linux系统架构设计的优点——绝大部分状况下都不用重启系统。如今启动Xen本身的后台服务“Xend”并将其设置为随机自动启动。
[root@localhost "/xen]# /etc/init.d/xend start Starting xend: [ OK ] [root@localhost "/xen]# chkconfig --add xend [root@localhost "/xen]# chkconfig --level 345 xend on [root@localhost "/xen]# |
配置
Xen能够经过图形方式配置,也能够经过字符方式配置。字符方式使用命令xm,能够直接键入xm查看输出的命令参数信息。
[root@localhost "/xen]# xm Usage: xm [args] Control, list, and manipulate Xen guest instances. Common 'xm' commands: console Attach to 's console. create Create a domain based on . destroy Terminate a domain immediately. dump-core Dump core for a specific domain. help Display this message. list List information about all/some domains. mem-set Set the current memory usage for a domain. migrate Migrate a domain to another machine. pause Pause execution of a domain. reboot Reboot a domain. restore Restore a domain from a saved state. save Save a domain state to restore later. shutdown Shutdown a domain. top Monitor a host and the domains in real time. unpause Unpause a paused domain. uptime Print uptime for a domain. vcpu-set Set the number of active VCPUs for allowed for the domain. can either be the Domain Name or Id. For more help on 'xm' see the xm(1) man page. For more help on 'xm create' see the xmdomain.cfg(5) man page. For a complete list of subcommands run 'xm help'. [root@localhost "/xen]# |
经过执行vm命令输出的这里能够看到,xm命令行工具可执行的操做包括登陆、启动、中止、暂停、备份、恢复、重启、迁移、内存设置、CPU设置等。具体的操做会在后边的章节中提到。
AS5对Xen提供的集成中包含了图形工具,能够从菜单进入,如图。
如今执行virt-manager启动管理工具。首选提示要管理的Xen节点是什么。Virt-manager管理工具支持管理本机Xen,还能够管理其余服务器上的Xen程序。这样就提供了一种远程应用的场景,即运行Xen的服务器能够彻底不启动X图形环境,而是在远程运行客户端管理Xen。
本例中因为是本地安装的Xen并在服务器的本地终端上启动了X图形环境,所以选择Local Xen host便可。
进入到virt-manager的界面,默认会显示一个ID为0的节点,又叫作Domain0,当前状态是Running。这个节点就是安装了AS5的物理服务器,经过管理界面能够看到物理节点拥有的CPU和内存数量。
在管理界面的下方还有“New” 、“Details” 、“Open”等几个按钮,点击其中的New便可来安装新的domain了