====== Xen ====== ===== Installation ===== Dans ce cas, on procède à une installation de Xen depuis CentOS 7. Configuration du gestionnaire de paquets : yum install centos-release-xen-412.x86_64 Installation de Xen : * yum install xen xen-hypervisor grub2 * yum update kernel * reboot ===== Configuration réseau ===== On procède à la création d’un switch virtuel. - Création d'une nouvelle connexion br0 de type bridge associée à une interface appelée br0 : nmcli connection add type bridge ifname br0 con-name br0 - Configuration du bridge : nmcli connection modify br0 ipv4.method static ipv4.addresses 100.0.0.1/24 - Activation de l'interface br0 : nmcli c up br0 - Création du fichier : /etc/sysctl.d/99-xen.conf - Y insérer : net.ipv4.ip_forward = 1 #Permet aux VM d’avoir accès à internet - On lit le fichier pour que le noyau prenne en compte la nouvelle configuration définie : sysctl -p /etc/sysctl.d/99-xen.conf - Vérification que la configuration a bien été prise en compte : sysctl -a |grep ip_forward - Dans /etc/xen/xl.conf - Modifier la ligne 34 pour y mettre : vif.default.bridge="br0" #On change l’interface par défaut de Xen pour le bridge Penser à faire les éventuelles configurations par-feu adéquates ===== Commandes de vérification ===== * xl list : vérifie le nombre de machines virtuelles sur l’hyperviseur * xl info : infos sur l’hyperviseur * xentop : affiche les machines créées et en fonctionnement avec affichage en continue des info type mémoire etc. ===== Création d'une machine virtuelle ===== Ici, on va créer une machine virtuelle basée sur Alpine Linux. - Création du répertoire de fichiers dédiés à la VM : mkdir /srv/alpine - Création du fichier image disque : dd if=/dev/zero of=/srv/alpine1/d1.img bs=4M count=512 - Import dans la VM de l’iso alpine : curl -O http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-extended-3.9.4-x86_64.iso - Création point de montage m : mkdir /srv/m - Montage de l’iso sur le point de montage m : mount -o loop,ro alpine-extended-3.9.4-x86_64.iso /srv/m - Création fichier de config/description de la vm : vim /srv/alpine1/alpine1.cfg - Copier les éléments suivant dedans : kernel = "/srv/m/boot/vmlinuz-vanilla" ramdisk = "/srv/m/boot/initramfs-vanilla" disk = [ 'format=raw, vdev=xvda, access=w, target=/srv/alpine1/d1.img', 'format=raw, vdev=xvdb, access=r, devtype=cdrom, target=/srv/alpine-extended-3.9.4-x86_64.iso' ] vif = ['bridge=br0', 'ip=100.0.0.100/24'] memory = 256 name = 'alpine1' vcpus = 1 maxvcpus = 1 - Création de la VM : xl create -c -f /srv/alpine1/alpine1.cfg ===== Manipulation des VM ===== * Lister les vm : xl list * Se connecter en console : xl console nom_vm * Se déconnecter de la VM : ctrl+altgr+] OU ctrl+( * Définir la quantité de mémoire d’une VM : xl mem-set * Sauver l’état d’une VM : xl save nom_vm fichier_snapshot ATTENTION ! Faire un snapshot provoque l'arrêt de la VM (oui c'est nul...) * Restaurer l’état d’une VM : xl restore fichier.conf * Créer/démarrer une VM : xl create -f chemin/vm.cfg (ou xl create -c chemin/vm.cfg pour se connecter à la VM dans la foulée) * Arrêter une VM : xl shutdown nom_vm