Machine virtuel Debian sur un cloud Opennebula

J'essaie de monter un cloud avec le logiciel libre Opennebula, en suite lancer un serveur virtuel Debian 6 sur ce cloud. Je choisis à utiliser KVM comme logiciel de virtualisation.

Matériel

Il faut préparer au moins 2 machines:

- Front-End: Opennebula serveur. Sur cette machine on manipule les actions sur les machines virtuels. Sur mon cas son IP est 192.168.104.120

- VMHost: Opennebula virtuel host. Sur cette machine les serveurs virtuels marchent. Sur mon cas son IP est 192.168.104.166

On peut y avoir plusieurs VMHost qui connectent à un Front-End

Les VMHost doivent avoir la possibilité de supporter la virtulisation dans ses CPU. Elles doivent avoir le flag vmx dans cpuinfo

#cat /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl '''vmx''' est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority

Installation le cloud

Heuresement il existe déjà des paquets de Debian.

il faut ajouter cette ligne dans /etc/apt/sources.list

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

Sur le Front-End lance

aptitude install opennebula

Sur VMHost lance

aptitude install opennebula-node

Et voila. C'est tout pour l'installation

Configuration

Quand on installe opennebula, il crée un spécial utilisateur oneadmin. Il faut utiliser cet utilisateur pour manipuler le cloud

Sur la Front-End

Ajouter le VMHost au cloud

#su - oneadmin
oneadmin@brochet:~$ onehost add 192.168.104.166 im_kvm vmm_kvm tm_ssh

oneadmin@brochet:~$ onehost list
  ID NAME              CLUSTER  RVM   TCPU   FCPU   ACPU    TMEM    FMEM STAT
  11 192.168.104.166   default    2    200    192    140    2.9G    2.3G   on

sur la VMHost

Il faut que user oneadmin sur le Front-End puisse faire un ssh sur le VMHost sans avoir besoin de taper mdp. Donc ajouter la clé public de user oneadmin de Front-End dans .ssh/authorized-keys de oneadmin sur VMHost

editer /etc/default/libvirt-bin

# Start libvirtd to handle qemu/kvm:
start_libvirtd="yes"

# options passed to libvirtd, add "-l" to listen on tcp
libvirtd_opts="-d"

/etc/init.d/libvirt-bin restart

https://help.ubuntu.com/community/OpenNebula

...