Ceci est une ancienne révision du document !
Table des matières
Dernière mise-à-jour : 2021/09/10 08:33
LCF607 - Gestion des Clones, des Snapshots et des Sauvegardes sous KVM
Contenu du Module
- LCF607 - Gestion des Clones, des Snapshots et des Sauvegardes sous KVM
- Contenu du Module
- LAB #1 - Augmentation de la Taille du Disque
- 1.1 - Augmenter la Taille du Disque avec la Commande qemu-img
- Augmenter la Taille du Disque de la VM
- Augmenter la Taille de la Partition Système de la VM
- Augmenter la Taille du Système de Fichiers
- 1.2 - Augmenter la Taille du Disque avec la Commande virsh
- Augmenter la Taille du Disque de la VM
- LAB #2 - Réparation d'un Filesystem Corrompu
- 2.1 - Préparation
- 2.2 - La Commande guestfish
- LAB #3 - Gestion de la VM
- 3.1 La Commande shutdown
- 3.2 La Commande reboot
- 3.3 La Commande suspend
- 3.4 La Commande resume
- 3.5 La Commande dominfo
- 3.6 La Commande autostart
- 3.7 La Commande domuuid
- 3.8 La Commande undefine
- 3.9 La Commande destroy
- LAB #4 - Gestion des Ressources
- 4.1 - Augmenter les VCPUs et la Mémoire
- 4.2 - Ajouter et Supprimer un Disque Dur
- LAB #5 - Journalisation
- 5.1 - Le Répertoire /var/log/libvirt/qemu/
- 5.2 - Le Fichier /var/log/messages
LAB #1 - Gestion des Clones
La création de clones offre une méthode rapide de création de VMs basées sur des configurations déjà existantes.
1.1 - Création d'une VM à partir d'un Clone
Commencez par vérifier l'état de la machine virtuelle testvm1 en utilisant la commande virsh list :
[root@centos8 ~]# virsh list Id Name State ------------------------- 3 testvm1 running
Important : Notez que la VM est dans un état de running et que son Id est de 3.
Afin de procéder à la création d'un clone, arrêtez la VM avec la commande virsh shutdown. Cette commande peut prendre en argument l'Id de la VM, le nom de la VM ou bien l'UUID de la VM :
[root@centos8 ~]# virsh shutdown 3 Domain 3 is being shutdown
Vérifiez ensuite que la VM est arrêtée :
[root@centos8 ~]# virsh list Id Name State --------------------
Utilisez la commande virsh-clone pour créer une deuxième VM dénommée testvm2 ayant une image au format qcow2 stockée dans le répertoire /var/lib/libvirt/images/ :
[root@centos8 ~]# virt-clone --original testvm1 --name testvm2 -f /var/lib/libvirt/images/testvm2.qcow2 Allocating 'testvm2.qcow2' | 5.0 GB 00:00:18 Clone 'testvm2' created successfully.
Important : Notez la rapidité de la création du clone par rapport à la lenteur de la création d'une VM à partir d'une image ISO.
La sortie de la commande virsh list ne montre pas les VMs en état d'arrêt :
[root@centos8 ~]# virsh list Id Name State --------------------
Pour voir la liste des VMs, peu importe leurs états, utilisez l'option –all de la commande virsh list :
[root@centos8 ~]# virsh list --all Id Name State -------------------------- - testvm1 shut off - testvm2 shut off
Le State peut être une des valeurs suivantes :
- running - la machine virtuelle est active,
- blocked ou blocking - la machine virtuelle est en attente d'E/S ou l'hyperviseur,
- paused - la machine virtuelle est suspendue,
- shutdown - la machine virtuelle est en cours d'arrêt,
- shut off - la machine virtuelle est éteinte et elle n'utilise aucune ressource système,
- crashed - la machine virtuelle a crashée et est arrêtée.
LAB #2 - Gestion des Snapshots
La création de snapshots offre une méthode rapide de sauvegarde des VMs.
Il existe deux types de snapshots :
- Internal,
- uniquement possibles avec les images qcow2,
- la VM est mise en pause pendant la création du snapshot,
- ne fonctionne pas avec des pools de stockage de type LVM.
- External,
- sont basés sur le concept COW (Copy On Write),
- l'image de base est mise en mode lecture seule,
- une image de type overlay en mode lecture/écriture et obligatoirement au format qcow2 est créée pour les écritures suivantes,
- est compatible avec n’importe lequel des formats de l'image de base.
2.1 - Création d'un Snapshot - VM Arrêté
Utilisez la commande virsh snapshot-list pour consulter la liste des snapshots déjà présents pour la VM testvm1 :
[root@centos8 ~]# virsh snapshot-list testvm1 Name Creation Time State -------------------------------
La création d'un snapshot se fait grâce à l'utilisation de la commande virsh snapshot-create-as. Les arguments obligatoires de cette commande sont :
- –domain,
- le domaine à l'origine du snapshot,
- –name,
- le nom attribué au snapshot.
[root@centos8 ~]# virsh snapshot-create-as --domain testvm1 --name "testvm1-snap-03092021" Domain snapshot testvm1-snap-03092021 created
Vérifiez que le snapshot a bien été pris en compte :
[root@centos8 ~]# virsh snapshot-list testvm1 Name Creation Time State -------------------------------------------------------------- testvm1-snap-03092021 2021-09-03 11:27:10 -0400 shutoff
Important : Notez que l'état est shutoff.
Pour obtenir des informations concernant le snapshot, il convient d'utiliser la commande virsh snapshot-info. L'utilisation de l'option –current permet d'obtenir de l'information sur le dernier snapshot effectué pour le domaine en question :
[root@centos8 ~]# virsh snapshot-info --domain testvm1 --current Name: testvm1-snap-03092021 Domain: testvm1 Current: yes State: shutoff Location: internal Parent: - Children: 0 Descendants: 0 Metadata: yes
2.2 - Création d'un Snapshot - VM en Cours d'Exécution
Il est aussi possible de prendre des snapshot d'une VM en cours d'exécution. Cependant, dans le cas de beaucoup d'activité E/S, il est toutefois recommandée d'arrêter la VM.
Démarrez donc la VM testvm2 avec la commande virsh start :
[root@centos8 ~]# virsh start testvm2 Domain testvm2 started
Vérifiez ensuite l'état de la VM :
[root@centos8 ~]# virsh list --all Id Name State -------------------------- 4 testvm2 running - testvm1 shut off
Créez un snapshot de testvm2 :
[root@centos8 ~]# virsh snapshot-create-as --domain testvm2 --name "testvm2-snap-03092021" Domain snapshot testvm2-snap-03092021 created
Consultez la liste des snapshots pour le domaine testvm2 :
[root@centos8 ~]# virsh snapshot-list testvm2 Name Creation Time State -------------------------------------------------------------- testvm2-snap-03092021 2021-09-03 11:29:49 -0400 running
Pour obtenir des informations concernant le dernier snapshot effectué pour le domaine testvm2, utilisez la commande suivante :
[root@centos8 ~]# virsh snapshot-info --domain testvm2 --current Name: testvm2-snap-03092021 Domain: testvm2 Current: yes State: running Location: internal Parent: - Children: 0 Descendants: 0 Metadata: yes
Important : Notez que le State est running par rapport au snapshot précédent qui avait rapporté un State de shutoff.
2.3 - Restauration d'un Snapshot
Pour restaurer un snapshot la commande virsh fournit la sous-commande snapshot-revert. Commencez donc par arrêter la VM :
[root@centos8 ~]# virsh shutdown testvm2 Domain testvm2 is being shutdown [root@centos8 ~]# virsh list --all Id Name State -------------------------- - testvm1 shut off - testvm2 shut off
Restaurez ensuite le snapshot :
[root@centos8 ~]# virsh snapshot-revert --domain testvm2 --snapshotname testvm2-snap-03092021 --running [root@centos8 ~]# virsh list --all Id Name State -------------------------- 5 testvm2 running - testvm1 shut off
Important : Notez que le State est running après la restauration du snapshot.
Connectez-vous à la VM grâce à la commande virsh console et vérifiez que celle-ci ne présente pas d’anomalies de fonctionnement :
[root@centos8 ~]# virsh console 5 Connected to domain testvm2 Escape character is ^] CentOS Linux 8 Kernel 4.18.0-305.12.1.el8_4.x86_64 on an x86_64 testvm1 login: root Mot de passe : fenestros Dernière connexion : Fri Sep 3 16:45:59 sur ttyS0 [root@testvm1 ~]# ... [root@testvm1 ~]# [CTRL]+[VER MAJ]+[ALT GR]+[)] [root@centos8 ~]#
2.4 - Suppression de Snapshots
Les snapshots peuvent être supprimés grâce à l'utilisation de la commande virsh snapshot-delete :
[root@centos8 ~]# virsh snapshot-delete --domain testvm1 --snapshotname testvm1-snap-03092021 Domain snapshot testvm1-snap-03092021 deleted [root@centos8 ~]# virsh snapshot-delete --domain testvm2 --snapshotname testvm2-snap-03092021 Domain snapshot testvm2-snap-03092021 deleted [root@centos8 ~]# virsh snapshot-list testvm1 Name Creation Time State ------------------------------- [root@centos8 ~]# virsh snapshot-list testvm2 Name Creation Time State -------------------------------
LAB #3 - Gestion des Sauvegardes
Pour effectuer une sauvegarde d'une VM en utilisant les outils classiques, il convient simplement de copier le fichier d'image ainsi que le fichier de configuration de la VM à un endroit ailleurs sur le système, voire sur un support externe.
3.1 - Création d'une Sauvegarde du Disque de la VM
Actuellement seule la VM testvm2 est en cours d'exécution :
[root@centos8 ~]# virsh list Id Name State ------------------------- 5 testvm2 running
Créez donc un répertoire destiné à contenir les copies créées :
[root@centos8 ~]# mkdir /vm-backups
Placez-vous dans le répertoire des images /var/lib/libvirt/images/ :
[root@centos8 ~]# cd /var/lib/libvirt/images/ [root@centos8 images]# ls -l total 4029008 -rw-------. 1 root root 5369757696 Sep 3 11:42 testvm1-os.qcow2 -rw-------. 1 qemu qemu 2261123072 Sep 4 02:25 testvm2.qcow2
Copiez ensuite l'image vers le répertoire /vm-backups :
[root@centos8 images]# cp -p testvm1-os.qcow2 /vm-backups/testvm1-os.qcow2-04092021 &
Important : Notez que cette copie est effectuée en arrière plan afin de libérer le prompt en avant plan du terminal.
3.2 - Création d'une Sauvegarde de la Configuration de la VM
La configuration de chaque VM est contenue dans un fichier au format XML dans le répertoire /etc/libvirt/qemu/ :
[root@centos8 images]# cd /etc/libvirt/qemu/ [root@centos8 qemu]# ls -lR .: total 16 drwx------. 3 root root 42 Sep 2 10:22 networks -rw-------. 1 root root 4936 Sep 3 10:07 testvm1.xml -rw-------. 1 root root 4933 Sep 3 11:35 testvm2.xml ./networks: total 4 drwx------. 2 root root 25 Aug 10 17:00 autostart -rw-------. 1 root root 575 Sep 2 10:22 default.xml ./networks/autostart: total 0 lrwxrwxrwx. 1 root root 14 Jun 16 06:28 default.xml -> ../default.xml
Si vous consultez le contenu du fichier testvm1.xml, vous vous apercevrez des balises contenant la configuration actuelle de la VM. Par exemple, les deux lignes suivantes démontrent que la VM a 2 Go de RAM et 1 vCPU :
... <currentMemory unit='KiB'>2097152</currentMemory> <vcpu placement='static'>1</vcpu> ...
[root@centos8 qemu]# cat testvm1.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh edit testvm1 or other application using the libvirt API. --> <domain type='kvm'> <name>testvm1</name> <uuid>d436a2df-78b0-474c-833b-3f7af8681052</uuid> <metadata> <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> <libosinfo:os id="http://centos.org/centos/8"/> </libosinfo:libosinfo> </metadata> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-rhel8.2.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-model' check='partial'/> <clock offset='utc'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/testvm1-os.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='sda' bus='sata'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </controller> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0xa'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0xb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0xc'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0xd'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0xe'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <interface type='bridge'> <mac address='52:54:00:44:af:a1'/> <source bridge='virbr0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </memballoon> <rng model='virtio'> <backend model='random'>/dev/urandom</backend> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </rng> </devices> </domain>
Ce fichier doit donc être copié vers le répertoire /vm-backups/ :
[root@centos8 qemu]# cp -p testvm1.xml /vm-backups/testvm1.xml-backup-04092021
Une fois le processus en arrière plan terminé, vous pouvez constater la présence des deux fichiers dans le répertoire
[root@centos8 vm-backups]# ls -l total 3992904 -rw-------. 1 root root 5369757696 Sep 3 11:42 testvm1-os.qcow2-04092021 -rw-------. 1 root root 4936 Sep 3 10:07 testvm1.xml-backup-04092021
Notez que la taille de l'image de testvm1 est de 5 Go malgré le fait qu'il n'y ait que 1,7 Go alloué :
[root@centos8 ~]# virsh vol-info /var/lib/libvirt/images/testvm1-os.qcow2 Name: testvm1-os.qcow2 Type: file Capacity: 5.00 GiB Allocation: 1.70 GiB
3.3 - Sauvegarder les Copies des Fichiers
Ayant effectué les copies, il est maintenant possible de sauvegarder les fichiers à l'aide d'un outil classique tel tar :
[root@centos8 vm-backups]# mkdir testvm1 [root@centos8 vm-backups]# mv *04* testvm1 [root@centos8 vm-backups]# ls testvm1 [root@centos8 vm-backups]# tar cvzf testvm1-backup-04092021.tar.gz testvm1/ testvm1/ testvm1/testvm1-os.qcow2-04092021 testvm1/testvm1.xml-backup-04092021 [root@centos8 vm-backups]# ls -l total 846724 drwxr-xr-x. 2 root root 74 Sep 4 03:19 testvm1 -rw-r--r--. 1 root root 867042697 Sep 4 03:24 testvm1-backup-04092021.tar.gz
LAB #4 - Augmentation de la Taille du Disque
4.1 - Augmenter la Taille du Disque avec la Commande qemu-img
Augmenter la Taille du Disque de la VM
Les images des VMs sont stockées dans le pool kvm-storagepool :
[root@centos8 ~]# virsh pool-list Name State Autostart --------------------------------------- isos active yes kvm-storagepool active yes root active yes
Consultez le contenu du pool kvm-storagepool :
[root@centos8 ~]# virsh vol-list kvm-storagepool Name Path -------------------------------------------------------------- testvm1-os.qcow2 /var/lib/libvirt/images/testvm1-os.qcow2 testvm2.qcow2 /var/lib/libvirt/images/testvm2.qcow2
Consultez ensuite les informations concernant l'image testvm1-os.qcow2 :
[root@centos8 ~]# virsh vol-info /var/lib/libvirt/images/testvm1-os.qcow2 Name: testvm1-os.qcow2 Type: file Capacity: 5.00 GiB Allocation: 1.70 GiB
Pour pouvoir redimensionner la taille de l'image il convient d'utiliser la commande qemu-img resize :
[root@centos8 ~]# qemu-img resize /var/lib/libvirt/images/testvm1-os.qcow2 +2G Image resized.
Vérifiez ensuite la prise en charge de la modification :
[root@centos8 ~]# virsh vol-info /var/lib/libvirt/images/testvm1-os.qcow2 Name: testvm1-os.qcow2 Type: file Capacity: 7.00 GiB Allocation: 1.70 GiB
Augmenter la Taille de la Partition Système de la VM
Connectez-vous à la VM grâce à la commande virsh console :
[root@centos8 ~]# virsh console testvm1 Connected to domain testvm1 Escape character is ^] [Return] CentOS Linux 8 Kernel 4.18.0-305.12.1.el8_4.x86_64 on an x86_64 testvm1 login: root Mot de passe : fenestros Dernière connexion : Fri Sep 3 16:45:59 sur ttyS0
Constatez la taille de la partition /dev/vda3 :
[root@testvm1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 7G 0 disk ├─vda1 253:1 0 1G 0 part /boot ├─vda2 253:2 0 512M 0 part [SWAP] └─vda3 253:3 0 3,5G 0 part /
Important : Notez que, pour le système d'exploitation de la VM, la taille du disque est toujours 5 Go (1G + 512M +3,5G).
Constatez ensuite l'espace disponible sur /dev/vda3 :
[
[root@testvm1 ~]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur devtmpfs 891M 0 891M 0% /dev tmpfs 909M 0 909M 0% /dev/shm tmpfs 909M 8,5M 901M 1% /run tmpfs 909M 0 909M 0% /sys/fs/cgroup /dev/vda3 3,5G 1,5G 2,1G 42% / /dev/vda1 976M 153M 756M 17% /boot tmpfs 182M 0 182M 0% /run/user/0
La partition /dev/vda3 est la partition système de la VM. Pour modifier sa taille nous avons besoin d'installer les paquets cloud-utils-growpart et gdisk :
root@testvm1 ~]# dnf -y install cloud-utils-growpart gdisk
Le paquet cloud-utils-growpart fournit la commande growpart qui permet d'étendre la partition système jusqu'à la limite de l'espace disque disponible. La commande prend deux arguments :
- le nom du fichier spécial - /dev/vda,
- le numéro de la partition à augmenter en taille - 3.
[root@testvm1 ~]# growpart /dev/vda 3 /usr/bin/growpart: ligne 242: 7516192768 octets, : erreur de syntaxe : opérateur arithmétique non valable (le symbole erroné est « octets, »)
Important : Notez que cette commande retourne une erreur. En effet, elle ne comprend l'unité de mesure octets. Autrement dit, cette commande n'est compatible qu'avec des systèmes Linux en anglais.
Pour palier à ce problème, il convient simplement d'effacer le contenu de la variable système $LANG. De cette façon, la langue par défaut sera utilisée, à savoir l'anglais américain :
[root@testvm1 ~]# echo $LANG fr_FR.UTF-8 [root@testvm1 ~]# unset LANG [root@testvm1 ~]# echo $LANG
En exécutant de nouveau la commande growpart, aucune erreur n'est apparente :
[root@testvm1 ~]# growpart /dev/vda 3 CHANGED: partition=3 start=3147776 old: size=7337984 end=10485760 new: size=11532255 end=14680031
L'utilisation de la commande lsblk démontre clairement l'augmentation de la taille de la partition /dev/vda3 :
[root@testvm1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 7G 0 disk |-vda1 253:1 0 1G 0 part /boot |-vda2 253:2 0 512M 0 part [SWAP] `-vda3 253:3 0 5.5G 0 part /
Important : Notez que, pour le système d'exploitation de la VM, la taille du disque est maintenant de 7 Go (1G + 512M +5,5G).
Par contre, l'exécution de la commande df démontre que le système ne voit toujours un filesystem qu'une taille 5 Go :
[root@testvm1 ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 934M 0 934M 0% /dev tmpfs tmpfs 953M 0 953M 0% /dev/shm tmpfs tmpfs 953M 8.9M 944M 1% /run tmpfs tmpfs 953M 0 953M 0% /sys/fs/cgroup /dev/vda3 xfs 3.8G 1.6G 2.2G 42% / /dev/vda1 ext4 1.1G 161M 793M 17% /boot tmpfs tmpfs 191M 0 191M 0% /run/user/0
Augmenter la Taille du Système de Fichiers
Pour augmenter la taille du système de fichiers se trouvant sur /dev/vda3, il conveint d'utiliser la commande xfs_growfs :
[root@testvm1 ~]# xfs_growfs /dev/vda3 meta-data=/dev/vda3 isize=512 agcount=4, agsize=229312 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=917248, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 917248 to 1441531
Cette fois-ci la sortie de la commande df démontre bien l'augmentation de la taille du système de fichiers :
[root@testvm1 ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 934M 0 934M 0% /dev tmpfs tmpfs 953M 0 953M 0% /dev/shm tmpfs tmpfs 953M 8.9M 944M 1% /run tmpfs tmpfs 953M 0 953M 0% /sys/fs/cgroup /dev/vda3 xfs 5.9G 1.6G 4.4G 27% / /dev/vda1 ext4 1.1G 161M 793M 17% /boot tmpfs tmpfs 191M 0 191M 0% /run/user/0 [root@testvm1 ~]# [CTRL]+[VER MAJ]+[ALT GR]+[)] [root@centos8 ~]#
4.2 - Augmenter la Taille du Disque avec la Commande virsh
Augmenter la Taille du Disque de la VM
La VM testvm2 est en cours d'exécution :
[root@centos8 ~]# virsh list --all Id Name State ------------------------- 5 testvm2 running - testvm1 shut off
Utilisez la commande virsh domblklist pour afficher l'emplacement de l'image de la VM testvm2 :
[root@centos8 ~]# virsh domblklist testvm2 Target Source ------------------------------------------------- vda /var/lib/libvirt/images/testvm2.qcow2 sda -
Cette fois, utilisez la commande virsh blockresize pour redimensionner la taille de l'image :
[root@centos8 ~]# virsh blockresize --domain testvm2 --path /var/lib/libvirt/images/testvm2.qcow2 --size 7G Block device '/var/lib/libvirt/images/testvm2.qcow2' is resized
Important : Notez que la commande qemu-img resize nécessite la spécification de l'augmentation de la taille tandis que la commande virsh blockresize nécessite la spécification de la taille.
Vérifiez ensuite la prise en charge de la modification :
[root@centos8 ~]# virsh vol-info /var/lib/libvirt/images/testvm2.qcow2 Name: testvm2.qcow2 Type: file Capacity: 7.00 GiB Allocation: 2.14 GiB
Connectez-vous à la VM grâce à la commande virsh console :
[root@centos8 ~]# virsh console testvm2 Connected to domain testvm2 Escape character is ^]
Ré-exécutez les mêmes commandes que la dernière fois :
[root@testvm1 ~]# dnf -y install cloud-utils-growpart gdisk ... [root@testvm1 ~]# unset LANG [root@testvm1 ~]# growpart /dev/vda 3 CHANGED: partition=3 start=3147776 old: size=7337984 end=10485760 new: size=11532255 end=14680031 [root@testvm1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 7G 0 disk |-vda1 253:1 0 1G 0 part /boot |-vda2 253:2 0 512M 0 part [SWAP] `-vda3 253:3 0 5.5G 0 part / [root@testvm1 ~]# xfs_growfs /dev/vda3 meta-data=/dev/vda3 isize=512 agcount=4, agsize=229312 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=917248, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 917248 to 1441531 [root@testvm1 ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 934M 0 934M 0% /dev tmpfs tmpfs 953M 0 953M 0% /dev/shm tmpfs tmpfs 953M 8.9M 944M 1% /run tmpfs tmpfs 953M 0 953M 0% /sys/fs/cgroup /dev/vda3 xfs 5.9G 1.6G 4.4G 27% / /dev/vda1 ext4 1.1G 161M 793M 17% /boot tmpfs tmpfs 191M 0 191M 0% /run/user/0 [root@testvm1 ~]# [CTRL]+[VER MAJ]+[ALT GR]+[)] [root@centos8 ~]#
LAB #5 - Réparation d'un Filesystem Corrompu
En cas de défaillance de la procédure d'augmentation de la taille du système de fichiers de l'image, il peut être nécessaire de procéder à la réparation du celui-ci.
5.1 - Préparation
La réparation est effectuée grâce à l'utilisation de la commande guestfish. Cette commande est fourni par le paquet libguestfs-tools. Si ce paquet n'est pas déjà installé, il faut procéder à son installation :
[root@centos8 ~]# dnf install -y libguestfs-tools Last metadata expiration check: 2:14:42 ago on Sat 04 Sep 2021 02:21:59 EDT. Package libguestfs-tools-1:1.40.2-27.module_el8.4.0+783+f8734d30.noarch is already installed. Dependencies resolved. Nothing to do. Complete!
5.2 - La Commande guestfish
Commencez par ajouter l'image à réparer à guestfish grâce à l'utilisation de l'option –a :
[root@centos8 ~]# guestfish -a /var/lib/libvirt/images/testvm1-os.qcow2 Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell ><fs>
Initialisez guestfish avec la commande run :
[root@centos8 ~]# guestfish -a /var/lib/libvirt/images/testvm1-os.qcow2 Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell ><fs> run
Listez ensuite les systèmes de ficheirs de la VM :
[root@centos8 ~]# guestfish -a /var/lib/libvirt/images/testvm1-os.qcow2 Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell ><fs> run ><fs> list-filesystems /dev/sda1: ext4 /dev/sda2: swap /dev/sda3: xfs
Procédez ensuite à la réparation des systèmes de fichiers avec la commande fsck :
[root@centos8 ~]# guestfish -a /var/lib/libvirt/images/testvm1-os.qcow2 Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell ><fs> run ><fs> lisf-filesystems lisf-filesystems: unknown command ><fs> list-filesystems /dev/sda1: ext4 /dev/sda2: swap /dev/sda3: xfs ><fs> fsck xfs /dev/sda3 0 ><fs> fsck ext /dev/sda3 0
Important : Notez que le code retour de 0 indique qu'aucune erreur n'a été trouvée. Dans le cas contraire, fdisk tentera de réparer le système de fichiers.
Quittez guestfish à l'aide de la touche q :
[root@centos8 ~]# guestfish -a /var/lib/libvirt/images/testvm1-os.qcow2 Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell ><fs> run ><fs> lisf-filesystems lisf-filesystems: unknown command ><fs> list-filesystems /dev/sda1: ext4 /dev/sda2: swap /dev/sda3: xfs ><fs> fsck xfs /dev/sda3 0 ><fs> fsck ext /dev/sda3 0 ><fs> q
Après la réparation du système de fichiers, démarrez le VM testvm1 :
[root@centos8 ~]# virsh start testvm1 Domain testvm1 started [root@centos8 ~]#
LAB #6 - Gestion de la VM
6.1 La Commande shutdown
Comme il a déjà été expliqué, pour arrêter une VM, il convient d'utiliser la commande virsh shutdown :
[root@centos8 ~]# virsh shutdown testvm1 Domain testvm1 is being shutdown [root@centos8 ~]# virsh list Id Name State ------------------------- 5 testvm2 running [root@centos8 ~]# virsh list --all Id Name State -------------------------- 5 testvm2 running - testvm1 shut off
6.2 La Commande reboot
La commande virsh reboot permet de re-démarrer une VM :
[root@centos8 ~]# virsh reboot 5 Domain 5 is being rebooted [root@centos8 ~]# virsh list --all Id Name State -------------------------- 5 testvm2 running - testvm1 shut off
6.3 La Commande suspend
La commande virsh suspend permet de mettre en pause une VM. Bien évidement, une VM ne peut être mise en pause que quand celle-ci est en cours de fonctionnement :
[root@centos8 ~]# virsh suspend testvm1 error: Failed to suspend domain testvm1 error: Requested operation is not valid: domain is not running [root@centos8 ~]# virsh start testvm1 Domain testvm1 started [root@centos8 ~]# virsh list --all Id Name State ------------------------- 5 testvm2 running 11 testvm1 running [root@centos8 ~]# virsh suspend testvm1 Domain testvm1 suspended [root@centos8 ~]# virsh list --all Id Name State ------------------------- 5 testvm2 running 11 testvm1 paused
6.4 La Commande resume
La commande virsh unpause permet d'annuler l'effet de la commande virsh suspend :
[root@centos8 ~]# virsh resume testvm1 Domain testvm1 resumed [root@centos8 ~]# virsh list --all Id Name State ------------------------- 5 testvm2 running 11 testvm1 running
6.5 La Commande dominfo
La commande virsh dominfo permet de consulter les informations relatives à un domaine donné :
[root@centos8 ~]# virsh dominfo 11 Id: 11 Name: testvm1 UUID: d436a2df-78b0-474c-833b-3f7af8681052 OS Type: hvm State: running CPU(s): 1 CPU time: 28.7s Max memory: 2097152 KiB Used memory: 2097152 KiB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c31,c201 (permissive)
6.6 La Commande autostart
La commande virsh autostart permet de configurer la VM de façon à ce que celle-ci démarre automatiquement :
[root@centos8 ~]# virsh autostart d436a2df-78b0-474c-833b-3f7af8681052 Domain d436a2df-78b0-474c-833b-3f7af8681052 marked as autostarted [root@centos8 ~]# virsh dominfo 11 Id: 11 Name: testvm1 UUID: d436a2df-78b0-474c-833b-3f7af8681052 OS Type: hvm State: running CPU(s): 1 CPU time: 29.0s Max memory: 2097152 KiB Used memory: 2097152 KiB Persistent: yes Autostart: enable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c31,c201 (permissive)
Pour annuler l'effet de la commande précédente, il convient d'utiliser l'option –disable :
[root@centos8 ~]# virsh autostart --disable 11 Domain 11 unmarked as autostarted [root@centos8 ~]# virsh dominfo 11 Id: 11 Name: testvm1 UUID: d436a2df-78b0-474c-833b-3f7af8681052 OS Type: hvm State: running CPU(s): 1 CPU time: 29.2s Max memory: 2097152 KiB Used memory: 2097152 KiB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c31,c201 (permissive)
6.7 La Commande domuuid
La commande virsh domuuid permet d'obtenir l'UUID du domaine :
[root@centos8 ~]# virsh domuuid testvm1 d436a2df-78b0-474c-833b-3f7af8681052
6.8 La Commande undefine
La commande virsh undefine permet de supprimer la configuration d'une VM :
[root@centos8 ~]# virsh undefine 5 Domain 5 has been undefined [root@centos8 ~]# virsh list --all Id Name State ------------------------- 5 testvm2 running 11 testvm1 running
Important : Notez que si la VM est en cours d'exécution au moment de l'exécution de la commande, la VM est msie en mode transient. La suppression effective de la configuration a lieu quand la VM est arrêtée.
6.9 La Commande destroy
La commande virsh destroy permet de supprimer une VM. Cette commande est l'équivalente d'un init 0. Par conséquent il est conseillé d'ajouter l'option –graceful de façon à nettoyer le cache de l'image disque avant l'arrêt :
[root@centos8 ~]# virsh list --all Id Name State ------------------------- 5 testvm2 running 11 testvm1 running [root@centos8 ~]# virsh destroy 5 Domain 5 destroyed [root@centos8 ~]# virsh list --all Id Name State ------------------------- 11 testvm1 running [root@centos8 ~]# ls -lh /var/lib/libvirt/images/ total 3.9G -rw-------. 1 qemu qemu 5.1G Sep 4 06:21 testvm1-os.qcow2 -rw-------. 1 root root 2.2G Sep 4 06:18 testvm2.qcow2 [root@centos8 ~]# du -sh /var/lib/libvirt/images/* 1.8G /var/lib/libvirt/images/testvm1-os.qcow2 2.2G /var/lib/libvirt/images/testvm2.qcow2
LAB #7 - Gestion des Ressources
7.1 - Augmenter les VCPUs et la Mémoire
La façon de modifier les ressources d'une VM en ligne de commande est d'éditer le fichier de configuration de la VM. Actuellement, la VM testvm1 a 2097152 KiB de mémoire et 1 vCPU :
[root@centos8 ~]# virsh list --all Id Name State ------------------------- 11 testvm1 running [root@centos8 ~]# virsh dominfo 11 Id: 11 Name: testvm1 UUID: d436a2df-78b0-474c-833b-3f7af8681052 OS Type: hvm State: running CPU(s): 1 CPU time: 36.5s Max memory: 2097152 KiB Used memory: 2097152 KiB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c31,c201 (permissive)
Comme détaillé précédemment, ces informations se trouvent dans le fichier de configuration au format XML de la VM :
[root@centos8 ~]# cat /etc/libvirt/qemu/testvm1.xml ... <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <vcpu placement='static'>1</vcpu> ...
Pour modifier la configuration, il convient d'arrêter la VM :
[root@centos8 ~]# virsh shutdown 11 Domain 11 is being shutdown
Editez ensuite les valeurs suivantes dans le fichier de configuration en utilisant la commande virsh edit :
[root@centos8 ~]# virsh edit testvm1 ... <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> ...
Lors de votre sauvegarde du fichier, le système vous indiquera que le fichier a été modifié :
[root@centos8 ~]# virsh edit testvm1 Domain testvm1 XML configuration edited.
L'application de l'augmentation du nombre de vCPUs est immédiate. Par contre ceci n'est pas le cas pour la mémoire.
Consultez la valeur de la mémoire dans le fichier /etc/libvirt/qemu/testvm1.xml :
... <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>2097152</currentMemory> ...
Démarrez maintenant la VM testvm1 :
[root@centos8 ~]# virsh start testvm1 Domain testvm1 started [root@centos8 ~]# virsh list --all Id Name State ------------------------- 1 testvm1 running [root@centos8 ~]# virsh dominfo 1 Id: 1 Name: testvm1 UUID: d436a2df-78b0-474c-833b-3f7af8681052 OS Type: hvm State: running CPU(s): 4 CPU time: 41.6s Max memory: 4194304 KiB Used memory: 2097152 KiB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c242,c376 (permissive)
Pour accorder à la VM le droit d'utiliser la totalité de la mémoire qui lui a été réservée, il est nécessaire d'utiliser la commande virsh setmem :
[root@centos8 ~]# virsh setmem testvm1 4194304
Vérifiez ensuite la prise en compte de l'augmentation de la mémoire :
[root@centos8 ~]# virsh dominfo 1 Id: 1 Name: testvm1 UUID: d436a2df-78b0-474c-833b-3f7af8681052 OS Type: hvm State: running CPU(s): 4 CPU time: 47.5s Max memory: 4194304 KiB Used memory: 4194304 KiB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c242,c376 (permissive)
7.2 - Ajouter et Supprimer un Disque Dur
Pour ajouter un disque à une VM, il convient d'abord de créer ce disque. Placez-vous donc dans le répertoire cd /var/lib/libvirt/images/ :
[root@centos8 ~]# cd /var/lib/libvirt/images/
Créez un disque d'une taille de 10 Go au format raw :
[root@centos8 images]# qemu-img create -f raw testvm1-disk2.img 10G Formatting 'testvm1-disk2.img', fmt=raw size=10737418240
Attachez ensuite ce disque à la VM testvm1 :
[root@centos8 images]# virsh attach-disk testvm1 --source /var/lib/libvirt/images/testvm1-disk2.img --target vdb --persistent Disk attached successfully
Connectez-vous à la VM avec la commande virsh console :
[root@centos8 images]# virsh console testvm1 Connected to domain testvm1 Escape character is ^]
Contrôlez la présence du disque ajouté :
[root@testvm1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 7G 0 disk ├─vda1 253:1 0 1G 0 part /boot ├─vda2 253:2 0 512M 0 part [SWAP] └─vda3 253:3 0 5,5G 0 part / vdb 253:16 0 10G 0 disk
Créez une partition sur le disque :
[root@testvm1 ~]# fdisk /dev/vdb Bienvenue dans fdisk (util-linux 2.32.1). Les modifications resteront en mémoire jusqu'à écriture. Soyez prudent avant d'utiliser la commande d'écriture. Le périphérique ne contient pas de table de partitions reconnue. Création d'une nouvelle étiquette pour disque de type DOS avec identifiant de disque 0xcde64a28. Commande (m pour l'aide) : n Type de partition p primaire (0 primaire, 0 étendue, 4 libre) e étendue (conteneur pour partitions logiques) Sélectionnez (p par défaut) : Utilisation de la réponse p par défaut. Numéro de partition (1-4, 1 par défaut) : Premier secteur (2048-20971519, 2048 par défaut) : Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (2048-20971519, 20971519 par défaut) : Une nouvelle partition 1 de type « Linux » et de taille 10 GiB a été créée. Commande (m pour l'aide) : w La table de partitions a été altérée. Appel d'ioctl() pour relire la table de partitions. [ 1518.252446] vdb: vdb1 Synchronisation des disques.
Créez un système de fichiers de type xfs sur la partition :
[root@testvm1 ~]# mkfs.ext4 /dev/vdb1 mke2fs 1.45.6 (20-Mar-2020) Rejet des blocs de périphérique : complété En train de créer un système de fichiers avec 2621184 4k blocs et 655360 i-noeuds. UUID de système de fichiers=805d3a53-4f8f-43f1-8b2a-bf1c493f33ee Superblocs de secours stockés sur les blocs : 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocation des tables de groupe : complété Écriture des tables d'i-noeuds : complété Création du journal (16384 blocs) : complété Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété
Montez le disque et vérifiez que vous pouvez y écrire :
[root@testvm1 ~]# mount /dev/vdb1 /mnt [ 1581.199551] EXT4-fs (vdb1): mounted filesystem with ordered data mode. Opts: (null) [root@testvm1 ~]# cd /mnt [root@testvm1 mnt]# touch test [root@testvm1 mnt]# ls lost+found test
Détachez-vous de la VM :
[root@testvm1 ~]# [CTRL]+[VER MAJ]+[ALT GR]+[)] [root@centos8 images]#
Détachez ensuite le disque vdb de la VM :
[root@centos8 images]# virsh detach-disk testvm1 vdb Disk detached successfully
Reconnectez-vous à la VM et exécutez la commande lsblk. Notez que celle-ci génère des erreurs dues au fait que le disque n'a pas été démonté avant d'avoir été détaché :
[root@testvm1 mnt]# lsblk [ 1879.523849] EXT4-fs error (device vdb1): ext4_find_entry:1446: inode #2: comm lsblk: reading directory lblock 0 [ 1879.536586] EXT4-fs error (device vdb1): ext4_find_entry:1446: inode #2: comm lsblk: reading directory lblock 0 [ 1879.550137] EXT4-fs error (device vdb1): ext4_find_entry:1446: inode #2: comm lsblk: reading directory lblock 0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 7G 0 disk ├─vda1 253:1 0 1G 0 part /boot ├─vda2 253:2 0 512M 0 part [SWAP] └─vda3 253:3 0 5,5G 0 part /
Démontez donc le disque :
[root@testvm1 mnt]# cd .. [root@testvm1 /]# umount /mnt [ 1921.363728] Buffer I/O error on dev vdb1, logical block 1081344, lost sync page write [ 1921.372593] JBD2: Error -5 detected when updating journal superblock for vdb1-8. [ 1921.381098] Aborting journal on device vdb1-8. [ 1921.386369] Buffer I/O error on dev vdb1, logical block 1081344, lost sync page write [ 1921.395319] JBD2: Error -5 detected when updating journal superblock for vdb1-8.
Exécutez de nouveau la commande lsblk. Vous verrez qu'il n'y a plus d'erreurs :
[root@testvm1 /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 7G 0 disk ├─vda1 253:1 0 1G 0 part /boot ├─vda2 253:2 0 512M 0 part [SWAP] └─vda3 253:3 0 5,5G 0 part / [root@testvm1 /]# [CTRL]+[VER MAJ]+[ALT GR]+[)] [root@centos8 images]#
LAB #8 - Journalisation
8.1 - Le Répertoire /var/log/libvirt/qemu/
Le répertoire /var/log/libvirt/qemu/ contient les journaux des VMs KVM :
[root@centos8 images]# cd /var/log/libvirt/qemu/ [root@centos8 qemu]# ls -l total 56 -rw-------. 1 root root 4037 Sep 4 04:51 guestfs-7w7bnjy7ro65665z.log -rw-------. 1 root root 4005 Sep 4 04:40 guestfs-xt170t6ii8uce35y.log -rw-------. 1 root root 37531 Sep 4 07:04 testvm1.log -rw-------. 1 root root 7179 Sep 4 06:18 testvm2.log [root@centos8 qemu]# more testvm1.log 2021-09-03 12:32:14.206+0000: starting up libvirt version: 6.0.0, package: 35.1. module_el8.4.0+885+5e18b468 (CentOS Buildsys <bugs@centos.org>, 2021-08-10-20:56 :57, ), qemu version: 4.2.0qemu-kvm-4.2.0-48.module_el8.4.0+783+f8734d30, kernel : 4.18.0-305.7.1.el8.i2tch.x86_64, hostname: centos8.ittraining.loc LC_ALL=C \ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin \ HOME=/var/lib/libvirt/qemu/domain-1-testvm1 \ XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-1-testvm1/.local/share \ XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-1-testvm1/.cache \ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-1-testvm1/.config \ QEMU_AUDIO_DRV=none \ /usr/libexec/qemu-kvm \ -name guest=testvm1,debug-threads=on \ -S \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-test vm1/master-key.aes \ -machine pc-q35-rhel8.2.0,accel=kvm,usb=off,dump-guest-core=off \ -cpu Broadwell-IBRS,vme=on,ss=on,vmx=on,f16c=on,rdrand=on,hypervisor=on,arat=on, tsc-adjust=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaveopt =on,pdpe1gb=on,abm=on,ibpb=on,ibrs=on,amd-stibp=on,amd-ssbd=on,skip-l1dfl-vmentr y=on,pschange-mc-no=on \ -m 3072 \ -overcommit mem-lock=off \ --More--(3%) [root@centos8 qemu]# cat guestfs-7w7bnjy7ro65665z.log 2021-09-04 08:47:50.774+0000: starting up libvirt version: 6.0.0, package: 35.1.module_el8.4.0+885+5e18b468 (CentOS Buildsys <bugs@centos.org>, 2021-08-10-20:56:57, ), qemu version: 4.2.0qemu-kvm-4.2.0-48.module_el8.4.0+783+f8734d30, kernel: 4.18.0-305.7.1.el8.i2tch.x86_64, hostname: centos8.ittraining.loc LC_ALL=C \ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin \ HOME=/var/lib/libvirt/qemu/domain-9-guestfs-7w7bnjy7ro65 \ XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-9-guestfs-7w7bnjy7ro65/.local/share \ XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-9-guestfs-7w7bnjy7ro65/.cache \ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-9-guestfs-7w7bnjy7ro65/.config \ QEMU_AUDIO_DRV=none \ TMPDIR=/var/tmp \ /usr/libexec/qemu-kvm \ -name guest=guestfs-7w7bnjy7ro65665z,debug-threads=on \ -S \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-9-guestfs-7w7bnjy7ro65/master-key.aes \ -machine pc-i440fx-rhel7.6.0,accel=kvm,usb=off,dump-guest-core=off \ -cpu host \ -m 1280 \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ -uuid e6a0f63c-b33e-4ba0-bf03-9e4b9c9dd6a2 \ -display none \ -no-user-config \ -nodefaults \ -chardev socket,id=charmonitor,fd=39,server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc,driftfix=slew \ -global kvm-pit.lost_tick_policy=delay \ -no-hpet \ -no-reboot \ -no-acpi \ -boot strict=on \ -kernel /var/tmp/.guestfs-0/appliance.d/kernel \ -initrd /var/tmp/.guestfs-0/appliance.d/initrd \ -append 'panic=1 console=ttyS0 edd=off udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1 cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable 8250.nr_uarts=1 root=/dev/sdb selinux=0 quiet TERM=xterm-256color' \ -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/testvm1-os.qcow2","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-2-storage","backing":null}' \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-0,drive=libvirt-2-format,id=scsi0-0-0-0,bootindex=1,write-cache=on \ -blockdev '{"driver":"file","filename":"/var/tmp/.guestfs-0/appliance.d/root","node-name":"libvirt-3-storage","cache":{"direct":false,"no-flush":true},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-3-format","read-only":true,"cache":{"direct":false,"no-flush":true},"driver":"raw","file":"libvirt-3-storage"}' \ -blockdev '{"driver":"file","filename":"/tmp/libguestfsxtKWVr/overlay1.qcow2","node-name":"libvirt-1-storage","cache":{"direct":false,"no-flush":true},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":false,"no-flush":true},"driver":"qcow2","file":"libvirt-1-storage","backing":"libvirt-3-format"}' \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=1,lun=0,device_id=drive-scsi0-0-1-0,drive=libvirt-1-format,id=scsi0-0-1-0,write-cache=on \ -chardev socket,id=charserial0,path=/tmp/libguestfsNzMNMr/console.sock \ -device isa-serial,chardev=charserial0,id=serial0 \ -chardev socket,id=charchannel0,path=/tmp/libguestfsNzMNMr/guestfsd.sock \ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.libguestfs.channel.0 \ -object rng-random,id=objrng0,filename=/dev/urandom \ -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x4 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on 2021-09-04 08:47:50.775+0000: Domain id=9 is tainted: custom-argv 2021-09-04 08:47:50.775+0000: Domain id=9 is tainted: host-cpu 2021-09-04T08:51:54.913380Z qemu-kvm: terminating on signal 15 from pid 7495 (/usr/sbin/libvirtd) 2021-09-04 08:51:55.113+0000: shutting down, reason=destroyed
8.2 - Le Fichier /var/log/messages
Dans le fichier /var/log/messages sont consignés les messages de KVM :
[root@centos8 qemu]# cat /var/log/messages | grep kvm | more Sep 1 05:47:57 centos8 kernel: kvm-clock: Using msrs 4b564d01 and 4b564d00 Sep 1 05:47:57 centos8 kernel: kvm-clock: cpu 0, msr b3801001, primary cpu cloc k Sep 1 05:47:57 centos8 kernel: kvm-clock: using sched offset of 369654777578829 1 cycles Sep 1 05:47:57 centos8 kernel: clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns Sep 1 05:47:57 centos8 kernel: kvm-guest: stealtime: cpu 0, msr 13bc2c080 Sep 1 05:47:57 centos8 kernel: kvm-guest: PV spinlocks enabled Sep 1 05:47:57 centos8 kernel: kvm-clock: cpu 1, msr b3801041, secondary cpu cl ock Sep 1 05:47:57 centos8 kernel: kvm-guest: stealtime: cpu 1, msr 13bc6c080 Sep 1 05:47:57 centos8 kernel: kvm-clock: cpu 2, msr b3801081, secondary cpu cl ock Sep 1 05:47:57 centos8 kernel: kvm-guest: stealtime: cpu 2, msr 13bcac080 Sep 1 05:47:57 centos8 kernel: kvm-clock: cpu 3, msr b38010c1, secondary cpu cl ock Sep 1 05:47:57 centos8 kernel: kvm-guest: stealtime: cpu 3, msr 13bcec080 Sep 1 05:47:57 centos8 kernel: kvm-clock: cpu 4, msr b3801101, secondary cpu cl ock Sep 1 05:47:57 centos8 kernel: kvm-guest: stealtime: cpu 4, msr 13bd2c080 Sep 1 05:47:57 centos8 kernel: kvm-clock: cpu 5, msr b3801141, secondary cpu cl ock --More--
<html>
Copyright © 2021 Hugh Norris
</html>