Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Nota : Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
L'usage de
machines virtuelles 2)
permet (entre autres) de tester.
… De tout tester :
Les machines virtuelles peuvent être clonées (copiées pour fournir une nouvelle machine virtuelle). C'est très pratique pour réaliser des machines virtuelles avec toutes la même configuration matériel virtuel et le même système.
Une autre fonctionnalité est la prise d'instantané d'une machine virtuelle à chaud (en cour de fonctionnement). Cela permet de restaurer (à chaud) la machine dans l'état de la prise de l'instantané.
Bref, la virtualisation est plus qu'un outil pratique…
C'est un jouet.
… Évidemment, la virtualisation n'est pas qu'un jeu, elle est aussi couramment utilisée dans le développement, le cloisonnement de services ou d'utilisateurs, le partage des ressources, le portage matériel et logiciel, les tests en tout genre, etc.
C'est aussi un outil éducatif, comme par exemple : En ajoutant un second (ou plusieurs) disque(s) virtuel(s), pour s'initier au partitionnement, au RAID logiciel et aux différents systèmes de fichier.
Note : Nous nommons volontiers machine virtuelle par son acronyme anglais VM (pour Virtual Machine).
Virt-manager,
Est une application bureau (une interface graphique) qui permet la gestion de machines virtuelles.
Il utilise l'hyperviseur
3)
KVM 4)
et
l'émulateur5)
QEMU6)
, à travers la librairie
libvirt7).
En plus du couple QEMU/KVM, virt-manager peut utiliser les hyperviseurs
xen8),
bhyve9)
et les
isolateurs10)
OpenVZ11)
et
LXC 12).
Il permet de créer/supprimer, configurer, démarrer/arrêter/suspendre, sauvegarder, dupliquer (cloner) des machines virtuelles.
Localement ou sur une machine distante via
ssh13).
Il permet aussi de créer des réseaux virtuels pour que les machines virtuelles puissent (si souhaité) communiquer entre elles et avec l'extérieur (si l’hôte est connecté à un réseau).
Pour obtenir l'affichage graphique d'une machine virtuelle (permettant ainsi d'y installer un système graphique et de l’utiliser), virt-manager dispose du client virt-viewer. Tous deux utilisent le protocole VNC14) ou SPICE15) pour communiquer avec la console graphique. (Le protocole VNC ne véhicule que le flux graphique et ne prend pas en charge le flux audio).
Ce tuto propose :
grep -E 'vmx|svm' /proc/cpuinfo &>/dev/null && echo "OK" || echo ":/ KVM non compatible"
Notes : Les technologies VT-x ou AMD-V doivent-être activées dans le BIOS.
Comme avant chaque installation, mettre à jour le système :
apt-get update && apt-get upgrade
Puis, installer le paquet virt-manager
:
apt-get install virt-manager
Pour obtenir le privilège d'utiliser virt-manager, un utilisateur doit appartenir au groupe libvirt
.
Nous utilisons donc la commande adduser pour ajouter notre utilisateur à ce groupe.
adduser <utilisateur> libvirt
Bien sûr, <utilisateur> est à remplacer par le nom de votre utilisateur.
La première machine virtuelle que nous créerons n'aura pas de système installé et ne disposera pas de disque. Elle sera démarrée depuis un système live. La seconde disposera d'un disque et nous y installerons un système.
Nous avons donc récupéré les images iso16)
Nous utiliserons ces images pour émuler le lecteur de CDROM de nos machines virtuelles.
Au premier démarrage (après création), une machine virtuelle est configurée temporairement pour être démarrée (bootée) depuis le CDROM.
Une fois téléchargées, les intégrités contrôlées, les images ont été copiées dans le répertoire ~/iso
, que nous avons préalablement créé, dans notre répertoire utilisateur.
ls ~/iso
debian-12.5.0-amd64-netinst.iso debian-facile-12.5_amd64.iso
Ouvrons virt-manager depuis le menu général Menu Applications > Système > Gestionnaire de machines virtuelles
.
Ou dans un terminal fenêtre, avec la commande virt-manager.
virt-manager
Par défaut, Virt-manager utilise l'hyperviseur QEMU/KVM local.
Sélectionnons le.
Puis, un double-clic dessus,
ou depuis le menu Edition > Détails de la connexion
Affiche les détails de l'hyperviseur, répartis en 3 onglets :
Affichage
Réseaux virtuels
Stockage
Ouvrons l'onglet Réseaux virtuels
Pour l'instant, aucun réseau virtuel n'existe.
Pour que nos machines virtuelles puissent communiquer, nous devons en émuler au moins un.
Clic sur le bouton +
(en bas à gauche) pour en créer un.
Nous nommons le réseau net42.
Le mode NAT est retenu.
Puis, Clic sur le bouton Terminer
En plus d'un mode isolé, où une machine virtuelle ne communique qu'avec l'hôte. Nous utilisons trois principaux types de réseaux :
Par défaut, une adresse IPv4 à été attribuée au réseau virtuel.
Ici, le réseau 192.168.100.0/24.
DHCP17)
y est actif, nous permettant ainsi de ne pas nous soucier de la configuration réseau de nos machines virtuelles.
La plage d'adresses qu'il attribuera est configurée entre l'hôte 128 et l'hôte 254. Soit la possibilité d’attribuer 128 adresses.
Maintenant, Ouvrons l'onglet Stockage
Virt-manager accède au système de fichiers de l'hôte à travers des pools (réservoirs).
Un pool est un chemin de répertoire du système de fichiers de l’hôte, mémorisé par un nom. Une fois déclaré, un pool permet à virt-manager d’accéder à son contenu.
Il existe déjà un pool nommé Default
.
Il a pour chemin /var/lib/libvirt/images
.
Nous l'utiliserons pour stocker les fichiers images des disques virtuels de nos machines virtuelles.
Nous devons en créer un autre,
Pour accéder aux images situées dans notre répertoire ~/iso
.
Alors, clic sur le bouton +
(en bas à gauche) pour créer un nouveau pool.
Nous nommons le nouveau pool iso
Son chemin /home/<utilisateur>/iso
est renseigné.
(Ici, DF est le nom de notre <utilisateur>, remplacez le par le votre.)
Remarque : le bouton Parcourir
peut-être utilisé.
Clic sur le bouton Terminer
pour créer le pool.
Maintenant que le pool iso
existe, son contenu est accessible.
Voila, nous sommes prêt,
Nous avons tout ce qu'il nous faut pour créer et démarrer des machines virtuelles.
Fermons la fenêtre QEMU/KVM - Détails de connexion
.
x
(en haut à droite)Ctrl
+W
Fichier > Close
.Nous allons dans ce tuto créer 3 machines virtuelles.
Depuis la fenêtre Gestionnaire de machines virtuelles
.
La connexion à l'hyperviseur, où nous souhaitons créer une nouvelle machine virtuelle, doit être sélectionnée.
Pour créer une nouvelle machine virtuelle :
Clic sur le bouton Créer une nouvelle machine virtuelle
Ou depuis le menu Fichier > Nouvelle machine virtuelle
La création d'une nouvelle machine va se réaliser en 5 étapes :
C'est parti…
Commençons par une chose simple :
Une machine virtuelle sans disque, sans système installé. Utilisant un système live graphique prêt à l'emploi.
Nous souhaitons démarrer le système depuis une image iso.
Cette méthode d'installation est celle par défaut.
Clic sur le bouton Forward
Nous allons sélectionner l'image iso de démarrage.
Clic sur le bouton Parcourir
Dans le panneau de gauche,
Nous sélectionnons le pool iso
.
Et dans le panneau de droite,
Nous choisissons l'image de DFiso.
Ici debian-facile-12.5_amd64.iso
.
Et, clic sur le bouton Choose Volume
.
Nous sommes de retour sur la fenêtre de la 2ème étape.
Nous devons sélectionner le type de système d'exploitation que nous allons utiliser.
En bas, nous décochons l'option Détecter automatiquement depuis la source/medias d'installation
.
Puis dans le champs de saisie juste au dessus, nous saisissons ge
.
Un menu de choix s'affiche,
Nous sélectionnons Generic Linux 2022
.
Clic sur le bouton Forward
pour valider.
Nous utilisons un système live, nous n'avons donc pas besoin de disque.
Nous décochons l'option Activer le stockage pour cette machine virtuelle
.
Puis, clic sur le bouton Forward
.
Remarque : Certains systèmes live, permettent de s'installer sur un disque. C'est le cas du système DFiso.
… Si c'est ce qui est souhaité, alors il faut évidement ne pas décocher l'option.
Pour demander la création du disque virtuel.
La machine virtuelle est nommée DF12live
.
Nous contrôlons que le réseau net42 soit sélectionné.
Et clic sur le bouton Terminer
pour lancer la création de la machine virtuelle.
La console graphique de la machine virtuelle est affichée.
La machine est démarrée…
Le menu de démarrage de DFiso est affiché.
En appuyant sur la touche Entrée
, nous choisissons de tester DF12.
Nous patientons…
Puis, pour adapter la taille de la console, à la résolution de la session ouverte,
Nous utilisons le menu Afficher > Redimensionner à la taille de la VM
Yes, voila qui est mieux
Par curiosité, nous utilisons l'outil d'introspection À propos de ma debian
que nous offre DF12.
Quand nous avons fini de jouer, nous éteignons le système, ce qui éteint aussi la machine virtuelle.
Maintenant que la machine virtuelle est arrêtée, nous avons perdu la configuration de l'émulation du CDROM.
Nous l'avons vu plus haut : Virt-manager configure, l'émulation du CDROM depuis une iso, uniquement pour le premier démarrage de la machine virtuelle.
Si nous souhaitons que l'émulation persiste (par exemple pour continuer à utiliser DFiso sans l'installer).
Il nous faut l'indiquer dans les configurations (détails) de cette machine (voir Émuler le CDROM).
Comme précédemment,
Dans la fenêtre Gestionnaire de machine virtuelle
,
L'hyperviseur QEMU/KVM
sélectionné,
Clic sur le bouton Créer une nouvelle machine virtuelle
L'installation depuis une image iso est sélectionnée par défaut,
Parfait !
Clic sur le bouton Forward
Nous choisissons l'image d'installation du système GNU/Debian.
En bas, nous décochons l'option Détecter automatiquement depuis la source/medias d'installation
Et nous sélectionnons Generic Linux 2022
.
Puis clic sur le bouton Forward
.
(Pour plus de détail, voir plus haut, à la même étape.)
Nous allons installer un système, il nous faut donc un disque dur.
Le disque sera émulé dans un fichier (une image qcow218)) placé dans le pool de stockage Default
.
Une taille de 20 Go est choisie.
Puis, clic sur le bouton Forward
.
La machine virtuelle est nommée deb12xfce
.
Car ici, nous installerons le système avec le bureau xfce4.
… Mais choisissez le bureau que vous souhaitez.
Nous contrôlons que le réseau net42 soit sélectionné.
Et clic sur le bouton Terminer
pour lancer la création de la machine virtuelle.
La console graphique de la machine virtuelle est affichée.
La machine est démarrée.
Le menu d'installation GNU/Debian est affiché.
Après l'installation du système et de son redémarrage, la console graphique doit être redimensionnée pour afficher la résolution du bureau de la machine invitée.
Le clonage de machine virtuelle est un outil puissant et pratique.
Il permet d'obtenir rapidement une machine virtuelle en en copiant (clonant) une autre.
Pour cloner une machine virtuelle, elle doit être à l'arrêt.
Dans la fenêtre Gestionnaire de machine virtuelle
,
Clic droit sur la ligne de la machine virtuelle que nous voulons cloner (ici deb12xfce
),
Pour lancer la commande Cloner…
du menu contextuel.
La fenêtre suivante nous demande de nommer la nouvelle machine que nous allons créer. Et de sélectionner le(s) disque(s) que nous souhaitons cloner (la machine virtuelle d'origine pourrait en disposer plusieurs).
Nous nommons la machine virtuelle tutoz
.
Puis clic sur le bouton Cloner
L'image disque de la MV d'origine est copiée avec le nom de la nouvelle.
… Et la machine virtuelle tutoz
est créée.
Dans les deux sections précédentes, les machines virtuelles que nous avons créé ont été automatiquement démarrées et leurs consoles affichées.
Par le clonage, ce n'est pas le cas, la machine virtuelle créée, est livrée à l'arrêt.
Pour démarrer une machine virtuelle et afficher sa console graphique, voir la section suivante.
Nous venons de voir comment créer des machines virtuelles.
Ici, nous montrons les autres fonctions de management, que nous propose virt-manager :
Ouvrir ; Démarrer ; Suspendre ; Prendre/Appliquer un instantané ; Arrêter/Redémarrer ; Et supprimer des machines virtuelles.
La plupart de ces opérations de managements se réalisent depuis :
Gestionnaire de machine virtuelle
.Console/Détails
.
Ouvrir la fenêtre Console/Détails
d'une machine virtuelle,
Permet d'afficher :
Nous ouvrirons la fenêtre Console/Détails
,
Depuis la fenêtre Gestionnaire de machine virtuelle
:
Ouvrir
du menu contextuel de la machine virtuelle.Ouvrir
.
La fenêtre Console/Détails
peut être ouverte, que le machine virtuelle soit, démarrée ou pas.
Elle permet d'afficher l'interface de la Console graphique
, celle des Détails
ou celle de la Gestion des instantanés
,
A l'aide de trois boutons :
L'interface de la Console graphique
dispose du menu Touche d’envoi
.
Il permet d'envoyer à la machine virtuelle des séquences de touches,
Qui si, elles étaient produites au clavier, seraient plutôt envoyées, à l’hôte qu'à la machine virtuelle.
Depuis la fenêtre Gestionnaire de machine virtuelle
Ouvir
.Démarrer
.
Depuis la fenêtre Console/Détails
:
Démarer
Machine virtuelle > Démarrer
Un instantané d'une machine virtuelle est une sauvegarde de son système,
C'est un cliché (une image) du disque (virtuel), tel qu'il est à l'instant.
Il peut-être réalisé sur une machine virtuelle éteinte, démarrée et même en court d'usage.
La réalisation d'un cliché n'arrête pas le système, comme le fait la commande Sauvegarder
(voir plus bas).
Un instantané créé, peut-être utilisé à tout moment, pour restaurer le système tel qu'il était lors de la prise de l'instantané.
Virt-manager permet de gérer graphiquement, plusieurs instantanés (clichés) pour une machine virtuelle. Pour les manipuler, il met à disposition une interface de gestion accessible par son bouton depuis la fenêtre Console/Détails
.
(Voir plus haut Ouvrir une VM.)
Hihi, ici, nous allons jouer à Sid19).
Démarrons le clone…
Avant de jouer, faisons un instantané (un cliché).
Ouvrons la fenêtre Console/détails
,
Puis nous affichons l'interface de Gestion des instantanés
avec son bouton (voir ci-dessus).
Et, en bas, à gauche, Clic sur le bouton +
pour créer un nouveau cliché.
Si la machine virtuelle est démarrée, une capture d'écran est réalisée.:
Elle sera utilisée pour présenter le cliché.
Nous pouvons nommer le cliché à notre convenance.
Clic sur le bouton Terminer
Le cliché est créé.
Voila qui est bien fait
Jouons maintenant,
Affichons la console graphique avec son bouton.
Puis, nous utilisons le menu Touche d’envois > Ctrl+Alt+F1
, pour envoyer cette séquence de touches à la machine virtuelle. Afin d'afficher la (première) console virtuelle de la machine virtuelle.
La console virtuelle est affichée, il nous est demandé un nom d'utilisateur.
Connectons-nous en root
(la machine virtuelle nous appartient. Nous y avons nous même installé le système. Nos connaissons donc le mot de passe root.)
Et, Exécutons la commande qui tue.
Celle, que tous déconseillent : rm -rf /
rm -rf /
rm: il est dangereux d'opérer récursivement sur '/' rm: utilisez --no-preserve-root pour inhiber cette mesure de sécurité
Haha, même le système nous le déconseille…
Forçons le !
rm -rf --no-preserve-root /
… Rooh, root ne peut pas tout supprimer.
Linux (le noyau) serait-il plus puissant que root ?
… Y en a pour un certain temps.
Pour aller plus vite, forçons le redémarrage de notre machine.
Pas de doute, le système est cassé !
Pour restaurer le système, nous utilisons l'instantané réalisé plus haut.
Nous affichons l'interface de gestion des instantanés.
Avec le bouton approprié.
Puis nous sélectionnons l'instantané existant.
Et clic sur le bouton Exécuter le cliché sélectionné
Une fois fait,
Nous Affichons la console graphique.
Et…
Yes ! Le système a été restauré.
Hyper puissant, non ?
Depuis les fenêtres Gestionnaire de machines virtuelles
ou la fenêtre Console/Détails
,
Il nous est facile de trouver les commandes qui permettent de suspendre/reprendre, arrêter ou redémarrer une machine virtuelle.
Ces commandes sont disponibles :
machine virtuelle
de la fenêtre Console/Détails
d'une machine virtuelle.Gestionnaire de machines virtuelles
).Éteindre
ou Redémarrer
ne suffit pas,Forcer l’extinction
Forcer la réinitialisation
La commande Sauvegarder
permet d'arrêter la machine virtuelle en sauvegardant son système préalablement.
… Au prochain démarrage, elle sera redémarrée dans le même état que lorsque qu'elle a été arrêtée.
Cette commande est accessible :
Arrêt
.Gestionnaire de machine virtuelle
).Machine virtuelle > Éteindre > Sauvegarder
de la fenêtre Console/Détails
.Pour supprimer une machine virtuelle, elle doit être arrêtée.
Une machine virtuelle est supprimée,
Depuis la fenêtre Gestionnaire de machine virtuelle
,
Soit en utilisant :
Édition / Supprimer
.Virt-manager nous demande si nous souhaitons supprimer le ou les périphérique(s) de stockage associé(s) à la machine virtuelle.
Ici, nous avons aucune raison de le conserver.
Alors nous autorisons la suppression de l'image tutoz.qcow2
.
… Mais nous aurions aussi pu la conserver.
Et ainsi recréer un jour une machine virtuelle qui utiliserait cette image comme disque virtuel.
Clic sur le bouton Supprimer
.
Puis clic sur le bouton OUI
pour confirmer.
Voila la machine virtuelle tutoz
a été supprimé.
La fenêtre Console/Détails
permet d'afficher les détails (la configuration) d'une machine virtuelle.
Ouvrirons la fenêtre Console/détails
,
Puis nous affichons la page Détails
avec son bouton.
(Voir plus haut Ouvrir une VM.)
Nous montons ci-dessous, quelques usages de configurations
Les options de démarrage permettent
Pour émuler le CDROM par une image iso,
Par exemple pour utiliser un système live.
Ou simplement pour rendre son contenu accessible depuis le cdrom de la machine virtuelle.
Pour l'indiquer à l'hyperviseur, il suffit de cliquer sur le bouton Naviguer
.
Et de sélectionner l'image iso, dans le pool approprié.
Puis clic sur le bouton Apply
.
Pour ajouter un matériel,
Clic sur le bouton Ajouter un matériel
La fenêtre Ajouter un matériel virtuelle
est affichée.
La liste des matériels qui peuvent être ajouter est disponible dans le panneau de gauche.
Le premier de la liste est le stockage.
… Cela tombe bien, c'est ce qu'ici nous souhaitons : Ajouter un disque dur virtuel.
Ici, nous en un créons un nouveau,
Dans le pool Deffault
.
Mais nous aurions pu aussi le créer ailleurs, dans un autre pool.
Ou utiliser une image disque déjà existante.
Nous pouvons aussi choisir un autre type de périphérique.
Ou choisir le type de bus de communication entre le disque et les composants de la carte mère virtuelle.
Utiliser le type VirtiO
, permet l'usage (tant que possible) de la virtualisation matériel, via KVM.
Cela à pour effet d’accélérer les performances de communication entre les composants virtuels.
D'autre options sont disponibles comme en faire un disque en lecteur seule.
Une fois nos choix établis, pour terminer l'ajout : Clic sur le bouton Terminer
.
Puis le nouveau disque est connecté à la machine virtuelle.
Dans l'onglet Stockage
, nous retrouvons sont image dans le pool Défault
.
La machine virtuelle démarrée. Connecté en tant que root, nous pouvons lister les disques (virtuels) que le système dispose avec la commande fdisk -l.
Nous pouvons maintenant tester fdisk
ou gparted
, lvm
, mkfs
, etc, sans soucis.
A condition de toujours veiller que les commandes soient exécutées dans la console graphique de la machine virtuelle.
Et, non pas, dans un terminal fenêtre de l'hôte.
Virt-manager est un logiciel, qui par son interface graphique, rend abordable la gestion de machine virtuelle.
Sa simplicité d'usage est son atout,
Il offre les fonctionnalités de base pour manipuler les machines virtuelles à travers quelques clics.
Haha, il est plus ludique que la ligne de commande.
… Que nous serons tout de même obligés d'utiliser pour un usage plus avisé.
Ça à été un plaisir de jouer avec vous.
By.