Introduction
Objectifs d’un système d’exploitation, gestion de ressources
Partager des ressources entre plusieurs applications, systèmes
Notions de virtualisation, quelle granularité (disques, système d’exploitation, machines physiques..)
Historique : VM (Virtual Machine), VMware, UML, Xen..
Les différentes techniques de virtualisation sur Linux
Définitions : conteneurs, machines virtuelles, hyperviseurs, virtualisation matérielle
Présentation de KVM : Kernel-based Virtual Machine
Principe et architecture : module intégré dans le noyau Linux, base QEMU
Positionnement par rapport aux autres solutions de virtualisation
Prérequis matériels et logiciels
Présentation QEMU (logiciel de machine virtuelle)
Principe de QEMU et architecture
Deux modes de fonctionnement : code compilé pour un processeur, émulation d’une machine physique
Étude des options de lancement de QEMU
Consoles des machines virtuelles : graphiques (console VNC, Spice..) ou consoles en mode texte
Installation de KVM
Deux configurations possibles : depuis un noyau Linux de version supérieure à 2.6.25 et contenant les modules KVM ou avec recompilation du noyau
Optimisation, gestion de la mémoire
Gestion des images
Création d’images, différents supports possibles, options de lancement
Gestion du matériel
Architectures supportées, processeurs, mémoire, périphériques de stockage, audio, vidéo, usb, bluetooth..
Configuration du réseau : différents modes possibles (user, tap, bridge..)
Migration d’images
Le besoin
Sauvegarde/chargement de machines virtuelles : à l’arrêt ou en fonctionnement
Limites par rapport aux processeurs
Snapshots et migrations : principe de fonctionnement
Mise en œuvre et options de la commande ’migrate’
Paramètres (bande passante)
Migration vers un fichier : sauvegarde puis restauration
Administration
Les outils de gestion de machines virtuelles KVM : UVMM, virsh, virt-manager
Présentation de proxmox et mise en œuvre : gestion de machines virtuelles, création de clusters proxmox
Méthode de migration