使用图形界面在Xen上安装AS5作为新的domain运行
在Xen内,几乎所有的Linux发行版都可以作为domain运行。为了演示的方便并易于理解,这里还使用AS5来作为新的domain运行了。创建并安装一个新的domain有两种方式:使用字符界面,使用图形界面。首先讲述使用图形界面来创建新的domain。这种操作方式是和EMC VMware、微软 Virtual Server等其他虚拟化软件最相近的,因此先介绍这种方式。
安装向导
首先打开virt-manager管理器,点击下方的New按钮。
启动创建新domain的向导程序。点击Forward按钮继续。
输入要创建的domain的名字,例如domain1,这个名字可以任意选择。
半虚拟化与全虚拟化
选择虚拟化的类型:Para-Virtualized VS Full Virtualized,即半虚拟化与全虚拟化。
所谓半虚拟化的意思是,被虚拟的系统(又称为Guest OS,在Xen中就是用户的domain)必须是经过修改的特殊系统,使用特别的内核来运行。而如果想让被虚拟的domain使用标准内核来运行,则必须选择Full-Virtualized 。这是Xen和VMware等虚拟机技术的主要区别,即domain在半虚拟化场景下,必须安装修改过内核的特别造作系统。
Full-Virtualized全虚拟化支持,可以允许domain使用一个标准的未经任何修改的系统来至今引导,甚至包括在Linux上去引导一个Windows系统起来。这个功能需要依赖于CPU指令集的支持,Intel CPU提供VT指令集,AMD CPU提供Pacific指令集支持。如果正在使用的服务器CPU不支持虚拟化指令集,则Full-Virtualized这个选项是灰色的,即不能启用。也就意味着,在当前节点上,只能在虚拟domain中运行经过修改的linux系统,而不能运行Windows系统了。
接下来继续操作,创建domain向导提示选择安装源。
制作安装源
Xen中安装domain的方式比较特别,必须将安装文件放在NFS文件服务或HTTP文件服务器上来安装,安装过程可以是无人值守(调用kickstart)或者是人工安装。这点和VMware等有很大的区别。EMC VMware和微软Virtual Server都提供了图形工具用于虚拟机的安装,安装时候可以用ISO光盘镜像文件作为安装源来引导系统,也可以直接调用物理光驱来安装,为虚拟机安装操作系统就像给普通PC机安装系统一样简单。而Xen在domain中安装系统就很复杂,必须通过网络安装,安装源文件要调用NFS或者HTTP镜像来实现。
应该说,在AS5上已经对有关domain安装已经做出了很大的改进,以往的Xen版本,都只能通过命令行配合复制文件的方式来安装,domain中只能安装Gentoo、Slackware等纯字符下配置的linux。对于domain安装支持,AS5已经做的很不错了。现在我们就来制作一个HTTP安装镜像。
首先将AS5的安装光盘的ISO文件复制到/root/目录下,例如如下的样子:
[root@localhost "]# ls cd1.iso cd2.iso cd3.iso cd4.iso cd5.iso [root@localhost "]# |
将cd1.iso挂载到/mnt/cdrom目录,读取里边的内容:
[root@localhost "]# mkdir /mnt/cdrom [root@localhost "]# mount –o loop cd1.iso /mnt/cdrom |
为了制作HTTP安装镜像,需要假设一个HTTP服务器。这里就不在详细讲述apache的配置了。假设apache已经安装好,并使用系统默认的/var/www/html作为web服务的根目录。
复制cd1.iso中的三个目录image、isolinux、Server到/var/www/html目录下。复制过程中由于Server目录包含了数百MB的RPM文件,复制过程可能稍慢。
[root@localhost "]# cp –r /mnt/cdrom/images /var/www/html [root@localhost "]# cp –r /mnt/cdrom/isolinux /var/www/html [root@localhost "]# cp –r /mnt/cdrom/Server /var/www/html |
复制cd1.iso的内容完成后,现在更换到cd2.iso文件。
[root@localhost "]# umount /mnt/cdrom [root@localhost "]# mount –o loop cd2.iso /mnt/cdrom |
挂载cd2.iso完成后,复制cd2.iso上的Server目录里边的文件到/var/www/html/Server目录。从第二张CD到第五张CD,只要复制Server目录下的所有文件即可。不用复制其他内容了。
[root@localhost "]# cp –r /mnt/cdrom/Server/* /var/www/html/Server |
同理,将cd3.iso、cd4.iso、cd5.iso的Server目录中的文件都复制到/var/www/html/Server目录。复制完成后,安装镜像就做好了。请确认一下这个HTTP镜像可以被从其他位置访问,比如防火墙打开了响应端口,文件和目录具有正确的权限等。
使用Kickstart无人值守脚本自动安装系统
在刚才的选择安装位置的选项界面,还能看到一个kickstart URL的选项。这个选项是做什么用的呢?
可以看到kickstart的配置选项框。
Kickstart是Redhat Linux所提供的无人值守自动安装功能。众所周知,在安装Linux过程中要选择大量选项,例如时区、键盘、IP地址、安装软件包、分区等几十个选项,共几大类。为了加快安装过程,免去复杂的参数输入,可以预先写好一个kickstart脚本,脚本内定义了安装过程中每个选项预先输入的参数,即可进行无人值守自动安装。
Kickstart脚本通常需要人工编辑。但是如果不熟悉kickstart的原理,如何制作kickstart脚本?AS5也提供了图形工具用于简单快速生成一个kickstart脚本。点击AS5的菜单,可以从“System Tools”下边找到相关的工具。
打开Kickstart的图形编辑工具后,里边的选项看起来是不是非常熟悉?是的,这些选项都是安装Linux时候必须人工选择的那几十个选项。如果事先用Kickstart工具定义好了脚本,就可以无人值守安装了。
本文中的重点是Xen,所以关于Kickstart不在过多讲述。为了简单起见,这里不使用kickstart,而是用传统方式人工安装。
现在回到前文的输入安装源和Kickstart脚本的界面,在安装源的位置输入“http://192.168.7.100/” 这个地址是我们刚才建立好的安装镜像。配置Kickstart的位置留空,不填写任何参数。完成后点击“Forward”按钮进入下一步。
配置domain资源参数
接下来配置domain的资源参数。这些参数主要包括磁盘、内存、网络等。
Xen对磁盘的调用有两种方式:常规物理分区与单个虚拟磁盘文件。如果选择了常规物理分区方式,则需要提供一个干净的分区或者设备给xen,如/dev/hdc2 。但是往往服务器上只有一块硬盘,或者没有空闲的分区,那么可以选择“Simple File”方式,即单个虚拟磁盘文件的方式。在这种方式下,一个domain的所有文件系统都将被存在在一个文件内,就好像一张光盘内的数十个目录被压缩到一个iso文件内,当读写的时候,xen会挂载这个虚拟磁盘读写里边的数据。在这个domain以外的底层系统看来,整个磁盘就是一个普通文件。
本文中选择了使用单个虚拟磁盘文件的方式。手工输入“/xen/test”,即创建文件/xen/test来作为虚拟磁盘。为了让domain很好的运行AS5,我们将磁盘空间设置的大一些,例如8GB空间。
注意这里还有一个“allocat entire virtual disk now”的选项,这个选项的作用是,在创建domain的时候,虽然domain内部是空白的,但是直接划分一个8GB的空文件留给domain。如果不选择这个选项,磁盘不会预先分配8GB的空间,而是随着空间使用的增加而逐渐增大,用满8GB则不在占用。选择预先分配的好处是domain工作的性能比较好,缺点也很明显,domain里边可能就几百MB的文件,但也占用了8GB空间。选择不预先分配的方式,好处就在于在domain内文件很少的时候,非常节约磁盘空间。本文中没有选择预先分配。
接下来设置内存和CPU的分配。
内存分配有两个选项:最大内存和初始化内存。本中的测试机配置不高,因此我们只分配最大160MB的内存给这个domain。并且设置“startup memory”为128MB。即刚启动时候只占用128MB内存,最大占用160MB内存。
下边的CPU选项,选择只分配一个CPU给domain(本文中测试机只有1个CPU)。
设置完成,检查以下刚才的参数,按“Finish”按键就可以开始安装了。
安装程序开始检查参数是否正确,安装源能否被调用到,磁盘空间是否足够,内存是否足够,并启动domain的控制台。
自动打开domain1的控制台,并进行linux系统的引导。
从图中可以看出,现在打开的是domain console控制台。这个控制台和VMware、Virtual Server的控制台是非常相似的,也具有运行、暂停等功能。
例如按下“Pause”按钮,会暂停domain的运行。
现在进行对domain的安装。在domain中装系统,和物理机上操作一样。
下边就是标准的redhat linux 安装过程,本文这里略过AS5图形模式具体安装过程。
安装完成之后,选择重启的按钮。这是domain console的控制台窗口就会自动关闭,domain的安装也随之完成。
启动domain
刚才安装好系统的domain,默认不是启动的状态的,而是停止状态,现在需要手工去启动它。执行xm create来启动它。
[root@localhost "]# xm create test1 Using config file "/etc/xen/test1". Going to boot Red Hat Enterprise Linux Server (2.6.18-8.el5xen) kernel: /vmlinuz-2.6.18-8.el5xen initrd: /initrd-2.6.18-8.el5xen.img Started domain test1 [root@localhost "]# |
启动完成后,可以使用 xm list 命令看到。
[root@localhost "]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 334 1 r----- 114.9 test1 1 159 1 -b---- 58.0 [root@localhost "]# |
在图形界面上,使用Virtual Machine Manager 也能看出来。