====== 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 [[tuto:ipasserelle:divers:extras_repo|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 < 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 < ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 EOF * Pour une configuration en IP fixe cat < 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 < 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" auth_unix_ro = "none" auth_unix_rw = "none" EOF mv qemu.conf qemu.conf.default cat < qemu.conf user = "qemu" group = "kvm" save_image_format = "lzop" mac_filter = 0 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 chkconfig ksmd 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