桉树的部署依赖于虚拟机,桉树可以支持Xen和KVM两种虚拟机。比较稳定的虚拟机随Linux发行版本发布,建议在Linux发行版上部署桉树平台。如果在RHEL5.5/CentOS5.5上部署桉树,建议使用Xen虚拟机管理软件。

        为了更好的管理虚拟机,桉树使用了libvirt API。选择那一种虚拟机要取决与计算机的硬件(有些支持Xen较好,有些支持KVM较好)和个人爱好。

        另外还要考虑桉树对虚拟机的支持。桉树有些功能在某些组合下无法完成预期的效果。其中我们常见的问题有:在某些内核下出现”WARN_ON”消息,KVM无法指定设备,EBS无法正常工作(如:Debian "squeeze"2.6.30-2-amd64 kernel 和 KVM v88)。

B.1 RHEL5.5/CentOS5.5上安装Xen

        请先确定”yum”是可用的,如果是RHEL,还要确保已经获得了序列号:

[root@node1]# yum install xenkernel-xen libvirt

        安装Xen工具,Xen内核,libvirt管理层。下一步配置Xen守护进程。

B.1.1 配置Xen

        安装完Xen和Xen内核之后,需要配置从Xen启动:

        打开/etc/grub.conf文件,修改默认启动内核为xen,修改如下所示:

default=1timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu

title CentOS (2.6.18-164.11.1.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-164.11.1.el5ro

root=/dev/VolGroup00/LogVol00

initrd /initrd-2.6.18-164.11.1.el5.img

title CentOS (2.6.18-164.11.1.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-164.11.1.el5

module /vmlinuz-2.6.18-164.11.1.el5xenro

root=/dev/VolGroup00/LogVol00

module /initrd-2.6.18-164.11.1.el5xen.img


在本例中default为1时表示使用xen内核,否则为普通内核,下一步是设置xen。

打开/etc/xen/xend-config.sxp文件,设置如下:

(xend-http-server yes) (xend-unix-server yes)

(xend-unix-path /var/lib/xend/xend-socket) (xend-address localhost)

(network-scriptnetwork-bridge) (vif-script vif-bridge)

(dom0-min-mem 196) (dom0-cpus 0)(vncpasswd '')

在RHEL5.5和CentOS5.5上默认xend-http-server是no,所以必须修改为yes,并且重启。


B.1.2 使用Xen工具运行一个测试虚拟机

        安装完Xen之后,最好使用命令行运行一下虚拟机,测试一下环境。如果命令行下无法运行虚拟机,那么在桉树平台下就更无法运行虚拟机。创建和运行虚拟机的命令为”xm create”。

B.2 RHEL5.5/CentOS5.5上安装KVM

      首先确保yum可用,如果是RHEL还要获取许可权。此外还要从BIOS中确认硬件支持虚拟技术,并且要设置为可用状态,然后安装如下软件包:

[root@node1]# yum install kvmkmod-kvm kvm-qemu-img kvm-tools libvirt

[root@node1]# ln –s /usr/libexec/qemu-kvm/usr/bin/kvm

B.2.1 在KVM上运行一个测试虚拟机

       运行KVM虚拟机使用kvm命令,命令支持较多参数,详细使用方法可以参考Linux发行版本中的文档说明。

B.3 配置libvirt

        在Xen和KVM环境下,桉树是通过libvirt来管理虚拟机的,所以要正确配置libvirt的配置文件:

/etc/libvirt/libvirtd.conf

删除如下几行内容前面的注释符(#):

unix_sock_group = “libvirt”

unix_sock_ro_perms = “0777”

unix_sock_rw_perms = “0770”

注意,如果修改了libvirtd.conf配置文件,必须重启libvirtd守护进程。

 

B.3.1 使用virsh测试libvirt配置

首先,确认libvirtd守护进程是否运行:

[root@node1]#/etc/init.d/libvirtd start

然后,确认”eucalyptus”用户可以使用virsh list命令:

[root@node1]# su –c “virsh list” eucalyptus

Id Name                 State

--------------------------------

0 Domain-0

[root@node1]#

       如果”virsh list”运行成功(提示:Domain-0说明成功),说明已经准备好,可以继续后面的操作。