Aller au contenu principal

1.7 TP : IHM virt-manager

Objectifs pédagogiques

Pratiques

  • Installer KVM et ses IHM
  • Opérer des instances KVM via ses IHM
    • Démarrer un nouvel OS invité (VM)
    • Configurer le réseau dans KVM (NAT, libvirt, bridge, etc.)
    • Maîtriser le stockage (pool, volume, chiffrement, virtfs)

Installation et exploration de virt-manager

C'est une solution très légère qui utilise des scripts Python pour piloter les VMs.

$ apt install virt-manager 
$ dpkg -L virt-manager

Le principe est simple : on peut piloter les machines locales à condition que librvirt soit installé -- et QEMU/KVM pour piloter des VMs.

La "connexion locale" permet de piloter les machines présentes sur le host où l'application desktop est installée.


On peut ajouter des connexions vers d'autres hôtes avec différents protocoles.

virt-manager bénéficie des mêmes API de contrôle que libvirt, lui permettant de piloter

  • QEMU-KVM
  • QEMU-KVM (session utilisateur)

mais aussi

  • Xen
  • Libvirt-LXC
  • Virtuozzo

La connexion à un hôte distant se fait en utilisant SSH

Les communications nécessaires aux opérations distantes passeront par ce canal chiffré.

Essayer de créer un compte distant avec un des comptes fournis.


Les détails d'une connexion locale ou distante permettent d'afficher les informations essentielles à l'exécution

On y accède via le menu ou un clic droit sur l'instance.

Ces informations sont en particulier :

  • les graphiques d'utilisation RAM / CPU
  • les réseaux
  • les stockages

Virt-manager, c'est quoi ?

Virt-Manager est une application fenêtrée pour gérer les machines virtuelles.

Localement ou à distance, elle offre la possibilité de

  • contrôler le cycle de vie des machines existantes (bootup / arrêt, pause, suspendre / restaurer)
  • fournir de nouvelles machines virtuelles
  • gérer les réseaux virtuels,
  • accéder à la console graphique des machines virtuelles
  • afficher les performances

virt-manager fait partie de la même suite d'outil que virt-builder ou virt-install

  • virt-install fournit un moyen facile de provisionner les systèmes d'exploitation dans des machines virtuelles.

  • virt-viewer est une interface d'interface utilisateur légère pour interagir avec l'affichage graphique du système d'exploitation virtualisé. Il peut afficher VNC ou SPICE, et utilise LibVirt pour rechercher les détails de la connexion graphique.

  • virt-clone pour cloner les invités inactifs existants. Il copie les images de disque et définit une configuration avec un nouveau nom, UUID et l'adresse MAC pointant vers les disques copiés.

  • virt-xml pour éditer facilement le domaine LibVirt XML à l'aide des options de ligne de commande de Virgin-stall.

  • virt-bootstrap offrant un moyen facile de configurer le système de fichiers racine pour les conteneurs basés sur LiBVirt.


virt-manager utilise libvirt comme de nombreuses autres IHM.

Le mode de fonctionnement de libvirt et ses IHM sont très importants à comprendre pour comprendre QEMU/KVM.


Création d'une nouvelle VM

Clique sur le bouton de création d'une nouvelle machine.


Quand la création est en cours, vous accédez à l'écran de la VM.

En utilisant les menus de la fenêtre, vous pouvez observer que vous avez accès :

  • à la gestion du cycle de vie de la VM (également avec un clic droit dans l'interface principale)
  • aux détails des composants physiques de la VM

Mettre en place un nouveau réseau

Il est tout à fait possible de créer d’autres réseaux afin par exemple de simuler plusieurs réseaux locaux.

Ces réseaux peuvent être totalement isolés ou encore acheminés vers le réseau de l’hôte en mode NAT ou bridge.


Dans l'instance locale, aller dans l’onglet Réseaux virtuels (menu "Détails").

  • créer un nouveau réseau avec le nom mynet0
  • choisir la plage d’adresses IP desservie par ce réseau ex: 172.16.122.0/24
    • Q: Connaissez-vous les différents blocs 'RFC1918' ?
  • Activer le serveur DHCP dédié en définissant la plage DHCP de votre choix
  • Choisir le réseau virtuel isolé
  • Valider
  • Le nouveau réseau apparaît dans la liste des réseaux disponibles

Dans la machine hôte, une nouvelle interface est apparue


$ ip link show

C'est elle (le bridge) qui porte le réseau fermé que l'on vient de créer.