====== Utilisation de libvirt à distance avec virt-manager ======
* Objet : utilisation de libvirt à distance avec virt-manager
* Niveau requis : {{tag>débutant}}
* Commentaires : //Un exemple d'utilisation.//
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
===== Prérequis =====
Dans la suite, nous allons appeler //Hyperviseur// le système sur lequel sont hébergées les machines virtuelles. et //Client// le système depuis lequel on souhaite piloter l'hyperviseur, qui se connectera en tant que ''captnfab'' à l'hyperviseur.
==== Hyperviseur ====
L'hyperviseur doit avoir //libvirt// et //qemu// d'installés:
apt install libvirt-daemon-system qemu-kvm
Il doit également avoir un serveur SSH en service:
apt install openssh-server
Le serveur SSH de l'hyperviseur doit être accessible en réseau depuis le client, par exemple via son adresse IP ou un nom d'hôte. Par la suite, on notera cela ''ip_hyperviseur''.
Et enfin, il doit être accessible via ssh à l'utilisateur ''captnfab'', appartenant aux groupes ''libvirt'' et ''libvirt-qemu''.
# Il n'est pas nécessaire de créer un nouveau compte si vous en avez déjà un
adduser captnfab
usermod -G libvirt,libvirt-qemu captnfab
==== Client ====
Le client doit avoir l'interface //virt-manager// d'installée:
apt install virt-manager
Le client doit pouvoir se connecter via ssh en tant que ''captnfab'' sur le système hyperviseur. Si ce n'est pas déjà fait, il faut installer le client ssh et askpass:
apt install openssh-client ssh-askpass
Il est conseillé de créer une clef ssh pour sécuriser cette connexion, et de verrouiller le compte ''captnfab'' pour empêcher toute connexion par mot de passe.
===== Configuration de virt-manager =====
À faire depuis le client:
- En tant qu'utilisateur, lancer //virt-manager//.
virt-manager
- Dans le menu: Fichier / Ajouter une connexion…
- Dans la boîte de dialogue:
* Hyperviseur: QEMU/KVM
* Se connecter à l'hôte distant via SSH: cochée
* Nom d'utilisateur: captnfab
* Nom d'hôte: ''ip_hyperviseur''
* Connexion automatique: cochée
- Bouton: Connecter
Une nouvelle entrée //QEMU/KVM: ip_hyperviseur// est ajoutée.
Vérifier que virt-manager parvient bien à se connecter à l'hyperviseur.
===== Configuration de libvirt =====
À faire depuis le client:
- Clic droit sur //QEMU/KVM: ip_hyperviseur// -> Détails
- Dans l'onglet //Affichage//, personnaliser le nom si souhaité
- Dans l'onglet //Réseaux virtuels//, personnaliser le réseau si souhaité (cf. tuto dédié ?)
- Dans l'onglet //Stockage//, personnaliser les //pools// si souhaité (cf. tuto dédié ?)
Les //pools// sont les répertoires dans lesquels libvirt cherche ou stocke les images iso d'installation ainsi que les images disques des VM. Par défaut, tout cela se fait dans ''/var/lib/libvirt/images'' pour les images disques et ''/var/lib/libvirt/boot'' pour les images iso.
Si ''/var'' n'est pas sur une partition dédiée, ou n'a pas suffisamment d'espace disponible, il est possible de créer un nouveau pool ailleurs. Par exemple:
* À faire sur le serveur:
mkdir /home/libvirt
chmod 755 /home/libvirt
* À faire sur le client:
Dans l'onglet //Stockage//, choisir ''+'' //Ajouter un pool// (en bas à gauche)
* Nom: "homepool"
* Type: dir
* Chemin: ''/home/libvirt''
===== Installation d'un nouveau système =====
(à mettre dans un tuto dédié ?)
==== Récupération des ISO d'installation ====
Sur le serveur, télécharger le fichier ''.iso'' souhaité et le copier dans un des //pools//.
Par exemple:
cd /var/lib/libvirt/boot
wget 'https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.7.0-amd64-netinst.iso'
==== Création de la VM ====
Sur le client, dans virt-manager
* Clic droit sur QEMU/KVM: ip_hyperviseur -> Nouveau
* Suivre l'assistant en récupérant l'iso dans le pool où elle est placée, et en créant l'image dans un pool disposant de suffisamment d'espace libre.