In questo articolo descriverò la procedura necessaria per creare un nodo di calcolo Xen con CentOS 5.5 compatibile con OpenNebula e MooseFS.
In fase di installazione di CentOS 5.5, scegliamo di installare i tools per la virtualizzazione: così facendo verrà automaticamente installato XEN 3.1.2 e il kernel 2.6.18 con le estensioni per Xen.
A questo punto installiamo il pacchetto necessario per montare il filesystem MooseFS. In CentOS è piuttosto semplice in quanto è già presente nel repository RPMforge:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm yum install mfs-client ruby mkdir -p /srv/vms
Per montare il filesystem ho scelto di creare il mountpoint in /etc/fstab con l’opzione noauto e di montarlo all’avvio tramite rc.local in modo di essere certo che il montaggio avvenga al termine del caricamento degli altri servizi.
Modificiamo il file /etc/fstab aggiungerndo:
mfsmount /srv/vms fuse mfsmaster=172.16.0.200,mfsport=9421,noauto 0 0
Quindi modifichiamo il file /etc/rc.local aggiungendo:
mount /srv/vms
Ora creiamo l’utente per OpenNebula:
groupadd --gid 1002 cloud useradd --uid 1002 -g cloud -d /srv/vms/one -s /bin/bash oneadmin
Ora bisogna editare il file /etc/sudoers aggiungendo:
%cloud ALL=(ALL) NOPASSWD: /usr/sbin/xm * %cloud ALL=(ALL) NOPASSWD: /usr/sbin/xentop *
inoltre, sempre in questo file, bisogna commentare la riga:
#Defaults requiretty
La configurazione di XEN deve essere modificata aggiornando il file /etc/xen/xend-config.sxp:
(xend-relocation-server yes) (xend-relocation-port 8002) (xend-relocation-address '') (xend-relocation-hosts-allow '')
Infine, sul cloud controller, aggingiamo il nuovo server al pool:
onehost create compute-01 im_xen vmm_xen tm_moosefs