Ceci est une ancienne révision du document !
Installation d'un hôte sous CentOS 5 pour héberger des machines virtuelles
Configuration des dépôts
Configurer les dépôts RPMForge, EPEL, ATRpms, fws (voir cette page)
Installation des outils de base
Certains outils sont indispensables
yum --enablerepo=rpmforge install htop screen strace
Installation des outils de virtualisation
yum --enablerepo=epel --enablerepo=fws install virt-stack
Pour avoir les dernières versions:
yum --enablerepo=epel --enablerepo=fws --enablerepo=fws-testing install virt-stack
Configuration de l'interface "interne" en mode bridge
Pour pouvoir connecter les VM sur le réseau local (ou les réseau locaux à l'hôte physique, il peut s'agir de DMZ, ou n'importe quel sous-réseau connecté à l'hôte physique), il faut que ces interfaces fassent partie d'un bridge (=switch virtuel)
cd /etc/sysconfig/network-scripts cat <<EOF > ifcfg-eth0 DEVICE=eth0 HWADDR=00:16:76:D6:C9:45 ONBOOT=yes BRIDGE=br0 EOF
En adaptant l'adresse mac (ici 00:16:76:D6:C9:45)
- Pour un bridge configuré via DHCP:
cat <<EOF > ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 EOF
- Pour une configuration en IP fixe
cat <<EOF > ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.7.2 NETMASK=255.255.255.0 BROADCAST=192.168.7.255 NETWORK=192.168.7.0 ONBOOT=yes DELAY=0 EOF
Configuration de libvirt
Déplacez le fichier de configuration par défaut. Il est conseillé de le conserver car il est très commenté
cd /etc/libvirt mv libvirtd.conf libvirtd.conf.default cat <<EOF > libvirtd.conf listen_tls = 0 unix_sock_group = "libvirt" unix_sock_rw_perms = "0770" log_level = 1 log_filters="2:libvirt 1:qemu 2:util" log_outputs="2:file:/var/log/libvirt/daemon.log" EOF mv qemu.conf qemu.conf.default cat <<EOF > qemu.conf user = "qemu" group = "kvm" save_image_format = "lzop" EOF
Connexion distante à libvirt
Le plus simple est d'utiliser un tunnel SSH. Pour cela, nous allons utiliser un compte avec des privilèges réduits:
Création d'un utilisateur aux privilèges réduits
groupadd libvirt useradd -c 'Firewall Services' -m -d /home/fws -s /bin/bash fws usermod -a -G libvirt fws
Mettre en place une authentification SSH par clef (sans mot de passe)
su - fws cd mkdir -p .ssh chmod 700 .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys
Puis placer votre clef publique dans le fichier authorized_keys
Démarrage auto de libvirt
Le démon libvirt doit démarrer automatiquement:
chkconfig libvirtd on
Monitoring
Le monitoring sera assuré par Zabbix. Un proxy sera installé sur la machine physique pour pouvoir remonter les info de toutes les machines virtuelles
yum --enablerepo=rpmforge --enablerepo=fws install zabbix-agent zabbix-proxy-sqlite3 --exclude=*i386