Xen

Network Install (Recommended)

Follow this steps to to install a Xen Cloud Node (hypervisor host) ready to be used by Abiquo Server. Use this installation method if you have internet access in your cloud nodes.

Perform a CentOS/RHEL 5 x86_64 Core Install

Minimal install. No graphical environment needed.

Refer to the official RedHat/CentOS documentation if you need assistance with the installation process:

http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Installation_Guide-en-US/index.html

IMPORTANT!!!
  • Only x86_64 architecture is supported. i386 will NOT work.
  • SELinux and Firewall must be disabled. See Disabling SELinux.
  • IPv6 can be disabled during the install process

Add the Abiquo yum repository config

Install the Abiquo YUM repository package:

rpm -Uvh http://packages.abiquolabs.com/abiquo-repo-0.1-2.x86_64.rpm

 

You can also get the sample repo config file from http://packages.abiquolabs.com/abiquo.repo and add it to /etc/yum.repos.d directory

Install the abiquo-xen package

yum install abiquo-xen --nogpgcheck
 

Configure and mount the NFS repository

Add the following line to /etc/fstab to have the NFS client mount the FS after rebooting the server:

your-nfs-server-ip:/opt/vm_repository	/opt/vm_repository	nfs	defaults	0 0
 

'your-nfs-server-ip' should be the IP address of your NFS server.

Configure Openwsman

/etc/openwsman/openwsman.conf
 

In particular, make sure you have the right libvirt_uri (comment out other libvirt_uri settings):

libvirt_uri = xen+unix:///
 

And change the NFS repository IP address:

remoteRepository = nfs-server:/opt/vm_repository

remoteRepository = your-nfs-server:/opt/vm_repository
 

There are sample config files in /usr/share/doc/abiquo-xen

Configure xend

Edit /etc/xen/xend-config.sxp and make sure the network-script and xend-unix-server settings are configured like this:

(xend-unix-server yes)
(network-script 'network-bridge netdev=eth0 bridge=br0')

instead of

(xend-unix-server no)
(network-script network-bridge)

(xend-unix-server yes)
(network-script 'network-bridge netdev=eth0 bridge=br0')
 

netdev value should be the name of the interface connected to the service network, where the DHCP server is located.
bridge name MUST be br0.

Make sure the Xen Kernel is the default kernel when booting

Check /boot/grub/menu.lst Grub config file. The default parameter should point to the right kernel section. i.e.

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

title CentOS (2.6.18-164.15.1.el5xen)
root (hd0,0)
kernel /xen.gz-3.4.2
module /vmlinuz-2.6.18-164.15.1.el5xen ro root=/dev/systemvg/rootlv rhgb quiet
module /initrd-2.6.18-164.15.1.el5xen.img

title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/systemvg/rootlv rhgb quiet
initrd /initrd-2.6.18-164.el5.img
 

Now you are ready to restart the system.

Check

To check that the all services are 'ok' to use the node in Abiquo, follow the next steps:

cd /usr/local/bin/
wget http://download.abiquo.com/support/scripts/abiquoNodeCheckState.sh
chmod +x abiquoNodeCheckState.sh
 

And run the script:

# /usr/local/bin/abiquoNodeCheckState.sh xen
Checking openwsmand...  OK (pid 19657, listening at 8889)
Checking libvirtd...    OK (pid 18640, listening at 16509)
Checking bridge...      OK (br0 attached to peth0)
Checking firewall...
 Firewall status:       DISABLED, active rules found!
 Runlevel config:       current = 3, default = 3
 Firewall activation:   0:off 1:off 2:off 3:off 4:off 5:off
 SELinux status:        DISABLED
Checking AIM... 
 Remote repository...           OK (at nfs-server:/opt/vm_repository)
 Destination repository...      OK (at /var/lib/virt)
Checking XEN configuration...
 Checking vagent...     OK (libvirt_uri = xen+unix:///)
 Checking emulator...   OK (/usr/lib64/xen/bin/qemu-dm)
 Checking loader...     OK (/usr/lib/xen/boot/hvmloader)
 
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.