Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
elearning:workbooks:centos:8:avance:l119 [2023/08/24 15:28] – created adminelearning:workbooks:centos:8:avance:l119 [2024/10/01 10:29] (Version actuelle) – created admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======LCF302 - Gestion Avancée des Disques - Raid Logiciel======+======LCF611 - Gestion des Clones, des Snapshots et des Sauvegardes======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **LCF302 - Gestion Avancée des Disques - Raid Logiciel**+  * **LCF611 - Gestion des Clones, des Snapshots et des Sauvegardes**
     * Contenu du Module     * Contenu du Module
-    * Concepts RAID +    * LAB #1 - Gestion des Clones 
-      * Disques en miroir +      * 1.1 - Création d'une VM à partir d'un Clone 
-      * Bandes de données +    * LAB #2 Gestion des Snapshots 
-    * Types de RAID +      * 2.1 - Création d'un Snapshot - VM Arrêté 
-      * RAID 0 Concaténation +      * 2.2 Création d'un Snapshot - VM en Cours d'Exécution 
-      * RAID 0 - Striping +      * 2.3 Restauration d'un Snapshot 
-      * RAID 1 - Miroir +      * 2.4 - Suppression de Snapshots 
-      * RAID 1+0 Striping en Miroir +    * LAB #3 - Gestion des Sauvegardes 
-      * RAID 2 - Miroir avec Contrôle d'Erreurs +      * 3.1 - Création d'une Copie du Disque de la VM 
-      * RAID 3 et 4 - Striping avec Parité +      * 3.2 - Création d'une Copie de la Configuration de la VM 
-      * RAID 5 - Striping avec Parité Distribuée +      * 3.3 - Sauvegarder les Copies 
-      * Au délà de RAID 5 +             
-    * RAID Logiciel sous RHEL/CentOS +=====LAB #1 - Gestion des Clones=====
-      * Préparation du disque +
-      * Partitionnement +
-      * Mise en Place du RAID 5 Logiciel+
  
-=====Concepts RAID=====+La création de clones offre une méthode rapide de création de VMs basées sur des configurations déjà existantes.
  
-Les solutions RAID ou //Redundant Array of Independent Disks// ou encore //Redundant Array of Inexpensive Disks// permettent la combinaison de plusieurs disques de façon à ce que ceux-ci soient vu comme un seul disque logique.+====1.1 Création d'une VM à partir d'un Clone====
  
-Les solutions RAID sont issues du travail fourni par l'université de Berkeley en Californie sur un projet de tolérances de pannes. Les systèmes RAID offre maintenant plusieurs avantages :+Commencez par vérifier l'état de la machine virtuelle **testvm1** en utilisant la commande **virsh list** :
  
-    * Addition des capacités, +<code> 
-    * Amélioration des performances, +[root@centos8 ~]# virsh list 
-    * Apporter la tolérance de panne.+ Id   Name      State 
 +------------------------- 
 +    testvm1   running 
 +</code>
  
-Deux concepts sont fondamentaux à la compréhension des solutions RAID.+<WRAP center round important> 
 +**Important** : Notez que la VM est dans un état de **running** et que son **Id** est de **3**. 
 +</WRAP>
  
-====Disques en miroir====+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 :
  
-La technique des disques en miroir consiste à dupliquer l'écriture des données sur plusieurs disques. Le miroir peut être géré par un logiciel ou par du matériel.+<code> 
 +[root@centos8 ~]# virsh shutdown 3 
 +Domain 3 is being shutdown 
 +</code>
  
-====Bandes de données====+Vérifiez ensuite que la VM est arrêtée :
  
-La technique des bandes de données, autrement appelée //data striping// consiste à couper les données à enregistrer en segments séquentiels et contigus pour les enregistrer sur plusieurs disques physiques. L'ensemble des segments constitue alors un disque logique ou //striped disk//. Cette technique peut être améliorée en déposant une bande de parité, calculée à partir des données des autres bandes, afin de pouvoir reconstituer une bande de données défaillante.+<code> 
 +[root@centos8 ~]# virsh list 
 + Id   Name   State 
 +--------------------
  
-=====Types de RAID=====+</code>
  
-====RAID 0 Concaténation====+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/** :
  
-Création de volume par récupération de l'espace libre sur un ou plusieurs disquesLe principe de la concaténation est la création d'un volume à bandes où chaque bande est une tranche.+<code> 
 +[root@centos8 ~]# virt-clone --original testvm1 --name testvm2 -f /var/lib/libvirt/images/testvm2.qcow2 
 +Allocating 'testvm2.qcow2                                                                                                                       | 5.0 GB  00:00:18     
  
-{{:linux:raid0c.gif|}}+Clone 'testvm2' created successfully. 
 +</code>
  
-===Avantages===+<WRAP center round important> 
 +**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. 
 +</WRAP>
  
-  * Récupération de l'espace disque.+La sortie de la commande **virsh list** ne montre pas les VMs en état d'arrêt :
  
-===Inconvénients===+<code> 
 +[root@centos8 ~]# virsh list 
 + Id   Name   State 
 +--------------------
  
-  * Pas de protection des données, +</code>
-  * Pas d'augmentation des performances d'E/S.+
  
-====RAID 0 Striping====+Pour voir la liste des VMs, peu importe leurs états, utilisez l'option **--all** de la commande **virsh list** :
  
-Création de volume sur plusieurs disques afin d'augmenter les performances d'E/S. Le principe du striping est la création d'un volume à bandes réparties sur plusieurs tranches. La taille de la bande doit être fonction des données à écrire sur le volume (16k, 32k, 64k, etc.) Cette taille est choisie à la création du volume.+<code> 
 +[root@centos8 ~]# virsh list --all 
 + Id   Name      State 
 +-------------------------- 
 +    testvm1   shut off 
 +    testvm2   shut off 
 + </code> 
 +  
 +Le **State** peut être une des valeurs suivantes :
  
-{{:linux:raid0s.gif|}}+  * **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=====
  
-===Avantages===+La création de snapshots offre une méthode rapide de sauvegarde des VMs.
  
-  * Augmentation des performances d'E/S par écriture en parallèle sur les disques.+Il existe deux types de snapshots :
  
-===Inconvénients===+  * **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 (**C**opy **O**n **W**rite), 
 +    * 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.
  
-  * Pas de protection des données.+====2.1 - Création d'un Snapshot - VM Arrêté====
  
-====RAID 1 Miroir====+Utilisez la commande **virsh snapshot-list** pour consulter la liste des snapshots déjà présents pour la VM **testvm1** :
  
-Création d'un volume où les disques sont en miroir. Quand les deux disques sont connectés à des contrôleurs de disques différents, on parle de //duplexing// :+<code> 
 +[root@centos8 ~]# virsh snapshot-list testvm1 
 + Name   Creation Time   State 
 +-------------------------------
  
-{{:linux:raid1m.gif|}}+</code>
  
-===Avantages===+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 :
  
-  * Protection des données contre une défaillance d'un disque.+  * **--domain**, 
 +    * le domaine à l'origine du snapshot, 
 +  * **--name**, 
 +    * le nom attribué au snapshot.
  
-===Inconvénients===+<code> 
 +[root@centos8 ~]# virsh snapshot-create-as --domain testvm1 --name "testvm1-snap-03092021" 
 +Domain snapshot testvm1-snap-03092021 created 
 +</code>
  
-  * Coûteux à cause de l'augmentation du nombre de disques.+Vérifiez que le snapshot a bien été pris en compte :
  
-====RAID 1+0 Striping en Miroir====+<code> 
 +[root@centos8 ~]# virsh snapshot-list testvm1 
 + Name                    Creation Time               State 
 +-------------------------------------------------------------- 
 + testvm1-snap-03092021   2021-09-03 11:27:10 -0400   shutoff 
 +</code>
  
-Le RAID 1+0 ou encore 0+1 est une technique qui réunit le RAID 0 et le RAID 1. On l'appelle aussi un RAID **exotique**:+<WRAP center round important> 
 +**Important** : Notez que l'état est **shutoff**
 +</WRAP>
  
-{{:linux:raid10.gif|}}+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 :
  
-===Avantages===+<code> 
 +[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 
 +</code>
  
-  * Protection des données contre une défaillance d'un disque. +====2.2 - Création d'un Snapshot - VM en Cours d'Exécution====
-  * Augmentation des performances d'E/S par écriture en parallèle sur les disques.+
  
-===Inconvénients===+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.
  
-  Coûteux à cause de l'augmentation du nombre de disques.+Démarrez donc la VM **testvm2** avec la commande **virsh start** :
  
-====RAID 2 - Miroir avec Contrôle d'Erreurs====+<code> 
 +[root@centos8 ~]# virsh start testvm2 
 +Domain testvm2 started
  
-Le RAID 2 est une technique de miroir avec contrôle de correction d'erreurs (EEC). De nos jours cette technique est peu utilisée, ayant été remplacée par les RAID 3, 4 et 5.+</code>
  
-====RAID 3 et 4 - Striping avec Parité====+Vérifiez ensuite l'état de la VM :
  
-Les RAID 3 et sont des technologies avec bandes de parité distribuées sur un seul disque :+<code> 
 +[root@centos8 ~]# virsh list --all 
 + Id   Name      State 
 +-------------------------- 
 +    testvm2   running 
 +    testvm1   shut off
  
-{{:linux:raid34.gif|}}+</code>
  
-En RAID 3, la taille des segments n’est pas modifiable et est fixée à 512 octets (en RAID 3 : un segment = un secteur de disque dur = 512 octets). +Créez un snapshot de **testvm2** :
- +
-En RAID 4, la taille des segments est variable et se modifie en temps réel. Cela implique que les informations de parité doivent être mise à jour à chaque écriture afin de vérifier si la taille des segments a été modifiée.  +
- +
-===Avantages=== +
- +
-  * Protection des données contre une défaillance d'un disque. +
- +
-===Inconvénients=== +
- +
-  * Création d'un goulot d'étranglement des données à cause de l'écriture des données de parité sur un seul disque. +
- +
-====RAID 5 - Striping avec Parité Distribuée==== +
- +
-Le RAID 5 est une technologie avec bandes de parité distribuées sur plusieurs disques : +
- +
-{{:linux:raid5.gif|}} +
- +
-===Avantages=== +
- +
-  * Protection des données contre une défaillance d'un disque, +
-  * Evite le goulot d'étranglement d'un seul disque de parité. +
- +
-===Inconvénients=== +
- +
-  * Lecture moins performante qu'avec RAID 3 et 4. +
- +
-====Au délà de RAID 5==== +
- +
-Il existe aussi deux autres technologies RAID, toute deux issues de la technologie RAID 5 : +
- +
-  * RAID 6 +
-    * //Disk Striping with Double Distributed Parity// +
-  * RAID TP +
-    * //Disk Striping with Triple Distributed Parity// +
- +
-=====RAID Logiciel sous RHEL/CentOS===== +
- +
-====Préparation du disque==== +
- +
-===Partitionnement=== +
- +
-Suite à votre LAB de la leçon **Gestion des Disques et le Swap**, votre disque comporte 12 partitions :+
  
 <code> <code>
-[root@centos7 ~]# fdisk -l +[root@centos8 ~]# virsh snapshot-create-as --domain testvm2 --name "testvm2-snap-03092021" 
- +Domain snapshot testvm2-snap-03092021 created
-Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors +
-Units = sectors of 1 * 512 = 512 bytes +
-Sector size (logical/physical): 512 bytes / 512 bytes +
-I/O size (minimum/optimal): 512 bytes / 512 bytes +
-Disk label type: dos +
-Disk identifier: 0x000c5a90 +
- +
-   Device Boot      Start         End      Blocks   Id  System +
-/dev/sda1          2048      411647      204800   83  Linux +
-/dev/sda2          411648    20891647    10240000   83  Linux +
-/dev/sda3        20891648    25083903     2096128   82  Linux swap / Solaris +
-/dev/sda4        25083904    41943039     8429568    5  Extended +
-/dev/sda5        25085952    26109951      512000   fd  Linux raid autodetect +
-/dev/sda6        26112000    26521599      204800   8e  Linux LVM +
-/dev/sda7        26523648    27138047      307200   8e  Linux LVM +
-/dev/sda8        27140096    28164095      512000   fd  Linux raid autodetect +
-/dev/sda9        28166144    28985343      409600   8e  Linux LVM +
-/dev/sda10       28987392    30011391      512000   fd  Linux raid autodetect +
-/dev/sda11       30013440    31037439      512000   fd  Linux raid autodetect +
-/dev/sda12       31039488    31449087      204800   83  Linux+
 </code> </code>
  
-====Mise en Place du RAID 5 Logiciel==== +Consultez la liste des snapshots pour le domaine **testvm2** :
- +
-Dans le cas de cet exemple les quatre partitions concernées par la mise en place d'un RAID 5 sont : +
- +
-<file> +
-/dev/sda5        25085952    26109951      512000   fd  Linux raid autodetect +
-/dev/sda8        27140096    28164095      512000   fd  Linux raid autodetect +
-/dev/sda10       28987392    30011391      512000   fd  Linux raid autodetect +
-/dev/sda11       30013440    31037439      512000   fd  Linux raid autodetect +
-</file> +
- +
-La création d'une unité RAID avec la commande **mdadm** se fait grâce aux options passées en arguments à la commande :+
  
 <code> <code>
-mdadm --create <unité RAID> [options<unités physiques>+[root@centos8 ~]# virsh snapshot-list testvm2 
 + Name                    Creation Time               State 
 +-------------------------------------------------------------- 
 + testvm2-snap-03092021   2021-09-03 11:29:49 -0400   running
 </code> </code>
  
-Par exemplesaisissez la commande suivante :+Pour obtenir des informations concernant le dernier snapshot effectué pour le domaine **testvm2**utilisez la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda5 /dev/sda8 /dev/sda11 +[root@centos8 ~]# virsh snapshot-info --domain testvm2 --current 
-mdadmDefaulting to version 1.2 metadata +Name:           testvm2-snap-03092021 
-mdadmarray /dev/md1 started.+Domain:         testvm2 
 +Current:        yes 
 +State:          running 
 +Location:       internal 
 +Parent:         - 
 +Children:       0 
 +Descendants   0 
 +Metadata      yes
 </code> </code>
  
-Les options dans la ligne de commande sont :+<WRAP center round important> 
 +**Important** Notez que le **State** est **running** par rapport au snapshot précédent qui avait rapporté un **State** de **shutoff**. 
 +</WRAP>
  
-^ Option Courte ^ Option Longue ^ Description ^ +====2.3 Restauration d'un Snapshot====
-| -l | - -level | Le niveau RAID - **linear, 0,1,2,4 ou 5** | +
--n | - -raid-devices=<nombre> | Le nombre de périphériques actifs dans le RAID |+
  
-Les autres options de la commande **mdadm** peuvent être visualisées grâce à la commande suivante :+Pour restaurer un snapshot la commande virsh fournit la sous-commande **snapshot-revert**. Commencez donc par arrêter la VM :
  
 <code> <code>
-[root@centos7 ~]# mdadm --help-options +[root@centos8 ~]# virsh shutdown testvm2 
-Any parameter that does not start with '-' is treated as a device name +Domain testvm2 is being shutdown
-or, for --examine-bitmap, a file name. +
-The first such name is often the name of an md device.  Subsequent +
-names are often names of component devices.+
  
-Some common options are: +[root@centos8 ~]# virsh list --all 
-  --help        -h   : General help message or, after above option, + Id   Name      State 
-                       mode specific help message +-------------------------- 
-  --help-options     : This help message +    testvm1   shut off 
-  --version     -V   : Print version information for mdadm +    testvm2   shut off
-  --verbose     -v   : Be more verbose about what is happening +
-  --quiet       -q   : Don't print un-necessary messages +
-  --brief       -b   : Be less verbose, more brief +
-  --export      -Y   : With --detail, --detail-platform or --examine use +
-                       key=value format for easy import into environment +
-  --force       -f   : Override normal checks and be more forceful +
- +
-  --assemble    -A   : Assemble an array +
-  --build       -B   : Build an array without metadata +
-  --create      -C   : Create a new array +
-  --detail      -D   : Display details of an array +
-  --examine     -E   : Examine superblock on an array component +
-  --examine-bitmap -X: Display the detail of a bitmap file +
-  --examine-badblocks: Display list of known bad blocks on device +
-  --monitor     -F   : monitor (follow) some arrays +
-  --grow        -G   : resize/ reshape and array +
-  --incremental -I   : add/remove a single device to/from an array as appropriate +
-  --query       -Q   : Display general information about how a +
-                       device relates to the md driver +
-  --auto-detect      : Start arrays auto-detected by the kernel+
 </code> </code>
  
-Les //modes majeurs// de la commande **mdadm** peuvent être visualisés grâce à la commande suivante :+Restaurez ensuite le snapshot :
  
 <code> <code>
-[root@centos7 ~]# mdadm --help +[root@centos8 ~]# virsh snapshot-revert --domain testvm2 --snapshotname testvm2-snap-03092021 --running
-mdadm is used for building, managing, and monitoring +
-Linux md devices (aka RAID arrays) +
-Usage: mdadm --create device options... +
-            Create a new array from unused devices. +
-       mdadm --assemble device options... +
-            Assemble a previously created array. +
-       mdadm --build device options... +
-            Create or assemble an array without metadata. +
-       mdadm --manage device options... +
-            make changes to an existing array. +
-       mdadm --misc options... devices +
-            report on or modify various md related devices. +
-       mdadm --grow options device +
-            resize/reshape an active array +
-       mdadm --incremental device +
-            add/remove a device to/from an array as appropriate +
-       mdadm --monitor options... +
-            Monitor one or more array for significant changes. +
-       mdadm device options... +
-            Shorthand for --manage. +
-Any parameter that does not start with '-' is treated as a device name +
-or, for --examine-bitmap, a file name. +
-The first such name is often the name of an md device.  Subsequent +
-names are often names of component devices.+
  
- For detailed help on the above major modes use --help after the mode +[root@centos8 ~]# virsh list --all 
- e.g. + Id   Name      State 
-         mdadm --assemble --help +-------------------------- 
- For general help on options use +    testvm2   running 
-         mdadm --help-options+    testvm1   shut off
 </code> </code>
  
-Dernièrement, chaque //mode majeur// dispose de son propre aide :+<WRAP center round important> 
 +**Important** : Notez que le **State** est **running** après la restauration du snapshot. 
 +</WRAP> 
 + 
 +Connectez-vous à la VM grâce à la commande **virsh console** et vérifiez que celle-ci ne présente pas d’anomalies de fonctionnement :
  
 <code> <code>
-[root@centos7 ~]# mdadm --assemble --help +[root@centos8 ~]# virsh console 5 
-Usage: mdadm --assemble device options... +Connected to domain testvm2 
-       mdadm --assemble --scan options...+Escape character is ^]
  
-This usage assembles one or more raid arrays from pre-existing +CentOS Linux 8 
-components. +Kernel 4.18.0-305.12.1.el8_4.x86_64 on an x86_64
-For each array, mdadm needs to know the md device, the identity of +
-the array, and a number of sub devicesThese can be found in a number +
-of ways.+
  
-The md device is given on the command line, is found listed in the +testvm1 loginroot 
-config file, or can be deduced from the array identity. +Mot de passe fenestros 
-The array identity is determined either from the --uuid, --name, or +Dernière connexion Fri Sep  3 16:45:59 sur ttyS0 
---super-minor commandline arguments, from the config file, +[root@testvm1 ~]#  
-or from the first component device on the command line. +... 
- +[root@testvm1 ~]# [ALT GR]+[CTRL]+[)] 
-The different combinations of these are as follows+[root@centos8 ~]# 
- If the --scan option is not given, then only devices and identities +
- listed on the command line are considered. +
- The first device will be the array device, and the remainder will be +
- examined when looking for components. +
- If an explicit identity is given with --uuid or --super-minor, then +
- only devices with a superblock which matches that identity is considered, +
- otherwise every device listed is considered. +
- +
- If the --scan option is given, and no devices are listed, then +
- every array listed in the config file is considered for assembly. +
- The identity of candidate devices are determined from the config file. +
- After these arrays are assembled, mdadm will look for other devices +
- that could form further arrays and tries to assemble them.  This can +
- be disabled using the 'AUTO' option in the config file. +
- +
- If the --scan option is given as well as one or more devices, then +
- Those devices are md devices that are to be assembled.  Their identity +
- and components are determined from the config file. +
- +
- If mdadm can not find all of the components for an array, it will assemble +
- it but not activate it unless --run or --scan is given.  To preserve this +
- behaviour even with --scan, add --no-degraded.  Note that "all of the +
- components" means as many as were present the last time the array was running +
- as recorded in the superblock.  If the array was already degraded, and +
- the missing device is not a new problem, it will still be assembled.  It +
- is only newly missing devices that cause the array not to be started. +
- +
-Options that are valid with --assemble (-A) are+
-  --bitmap=          bitmap file to use with the array +
-  --uuid=       -u   uuid of array to assemble. Devices which don'+
-                       have this uuid are excluded +
-  --super-minor= -m  minor number to look for in super-block when +
-                       choosing devices to use. +
-  --name=       -N   : Array name to look for in super-block. +
-  --config=     -c   : config file +
-  --scan        -s   : scan config file for missing information +
-  --run         -R   : Try to start the array even if not enough devices +
-                       for a full array are present +
-  --force       -f   : Assemble the array even if some superblocks appear +
-                     : out-of-date This involves modifying the superblocks+
-  --update=     -U   : Update superblock: try '-A --update=?' for option list. +
-  --no-degraded      : Assemble but do not start degraded arrays. +
-  --readonly    -o   : Mark the array as read-only. No resync will start.+
 </code> </code>
  
-Constatez maintenant les informations concernant le RAID 5 créé :+====2.4 - Suppression de Snapshots====
  
-<code> +Les snapshots peuvent être supprimés grâce à l'utilisation de la commande **virsh snapshot-delete** :
-[root@centos7 ~]# cat /proc/mdstat +
-Personalities : [raid6] [raid5] [raid4]  +
-md1 : active raid5 sda11[3] sda8[1] sda5[0] +
-      1021952 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] +
-       +
-unused devices: <none> +
-</code> +
- +
-Grâce à la commande mdadm, il est possible d'obtenir d'avantage d'informations :+
  
 <code> <code>
-[root@centos7 ~]# mdadm --query /dev/md1 +[root@centos8 ~]# virsh snapshot-delete --domain testvm1 --snapshotname testvm1-snap-03092021 
-/dev/md1: 998.17MiB raid5 3 devices, 0 spares. Use mdadm --detail for more detail. +Domain snapshot testvm1-snap-03092021 deleted
-</code>+
  
-L'option **- -detail** produit le résultat suivant :+[root@centos8 ~]# virsh snapshot-delete --domain testvm2 --snapshotname testvm2-snap-03092021 
 +Domain snapshot testvm2-snap-03092021 deleted
  
-<code> +[root@centos8 ~]# virsh snapshot-list testvm1 
-[root@centos7 ~]# mdadm --detail /dev/md1 + Name   Creation Time   State 
-/dev/md1: +-------------------------------
-        Version : 1.2 +
-  Creation Time : Tue Aug  2 15:10:12 2016 +
-     Raid Level : raid5 +
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +
-  Used Dev Size : 510976 (499.08 MiB 523.24 MB) +
-   Raid Devices : 3 +
-  Total Devices : 3 +
-    Persistence : Superblock is persistent+
  
-    Update Time : Tue Aug  2 15:10:17 2016 +[root@centos8 ~]# virsh snapshot-list testvm2 
-          State : clean  + Name   Creation Time   State 
- Active Devices : 3 +------------------------------- 
-Working Devices : 3 +</code>
- Failed Devices : 0 +
-  Spare Devices : 0+
  
-         Layout : left-symmetric +=====LAB #3 Gestion des Sauvegardes=====
-     Chunk Size : 512K+
  
-           Name : centos7.fenestros.loc: (local to host centos7.fenestros.loc) +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.
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +
-         Events : 18+
  
-    Number   Major   Minor   RaidDevice State +====3.1 - Création d'une Sauvegarde du Disque de la VM====
-                    5        0      active sync   /dev/sda5 +
-                    8        1      active sync   /dev/sda8 +
-             8       11        2      active sync   /dev/sda11 +
-</code> +
- +
-Notez la ligne **Persistence : Superblock is persistent**En effet, cette implémentation de RAID inscrit les caractéristiques du volume dans un //super bloc// persistant en début de chaque unité de type bloc dans le volume. +
- +
-<WRAP center round todo> +
-Recherchez la signification des termes Layout, Chunk size, Major et Minor. +
-</WRAP>+
  
-Cependant, il necéssaire de renseigner le fichier **/etc/mdadm.conf** afin que le RAID soit contruit à chaque démarrage :+Actuellement seule la VM **testvm2** est en cours d'exécution :
  
 <code> <code>
-[root@centos7 ~]# echo 'DEVICES /dev/sda5 /dev/sda8 /dev/sda11' > /etc/mdadm.conf +[root@centos8 ~]# virsh list 
-[root@centos7 ~]# mdadm --detail --scan >> /etc/mdadm.conf  + Id   Name      State 
-[root@centos7 ~]# cat /etc/mdadm.conf +------------------------- 
-DEVICES /dev/sda5 /dev/sda8 /dev/sda11 +    testvm2   running 
-ARRAY /dev/md1 metadata=1.2 name=centos7.fenestros.loc:1 UUID=fd8bac53:1457a4f4:30feab84:e0f9d8e0+ </code> 
 +  
 +Créez donc un répertoire destiné à contenir les copies créées : 
 +  
 +<code>  
 +[root@centos8 ~]# mkdir /vm-backups
 </code> </code>
  
-Chaque unité peut être examinée individuellement :+Placez-vous dans le répertoire des images **/var/lib/libvirt/images/** :
  
 <code> <code>
-[root@centos7 ~]# mdadm --examine /dev/sda5 +[root@centos8 ~]# cd /var/lib/libvirt/images
-/dev/sda5: +[root@centos8 images]# ls -l 
-          Magic : a92b4efc +total 4029008 
-        Version : 1.2 +-rw-------. 1 root root 5369757696 Sep  11:42 testvm1-os.qcow2 
-    Feature Map : 0x0 +-rw-------1 qemu qemu 2261123072 Sep  4 02:25 testvm2.qcow2
-     Array UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +
-           Name : centos7.fenestros.loc:1  (local to host centos7.fenestros.loc) +
-  Creation Time : Tue Aug  2 15:10:12 2016 +
-     Raid Level : raid5 +
-   Raid Devices : 3 +
- +
- Avail Dev Size 1021952 (499.08 MiB 523.24 MB) +
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +
-    Data Offset : 2048 sectors +
-   Super Offset : 8 sectors +
-   Unused Space : before=1960 sectors, after=0 sectors +
-          State : clean +
-    Device UUID : 4569e15e:20201bce:365776f2:75aed23f +
- +
-    Update Time : Tue Aug  2 15:10:17 2016 +
-  Bad Block Log : 512 entries available at offset 72 sectors +
-       Checksum : 4c9948d0 - correct +
-         Events : 18 +
- +
-         Layout : left-symmetric +
-     Chunk Size : 512K +
- +
-   Device Role : Active device 0 +
-   Array State AAA ('A' == active, '.' == missing, 'R' == replacing)+
 </code> </code>
  
-A ce stade il est intéressant de noter comment réagir lors d'une défaillance d'un disque. Dans notre cas nous allons indiquer au système que la partition /dev/sda5 est devenue défaillante :+Copiez ensuite l'image vers le répertoire **/vm-backups** :
  
 <code> <code>
-[root@centos7 ~]# mdadm --manage --set-faulty /dev/md1 /dev/sda5 +[root@centos8 images]# cp -p testvm1-os.qcow2 /vm-backups/testvm1-os.qcow2-04092021 &
-mdadm: set /dev/sda5 faulty in /dev/md1+
 </code> </code>
  
-L'utilisation de la ligne de commande suivante nous confirme le statut de /dev/sda5 :+<WRAP center round important> 
 +**Important** : Notez que cette copie est effectuée en arrière plan afin de libérer le prompt en avant plan du terminal. 
 +</WRAP>
  
-<code> +====3.2 - Création d'une Sauvegarde de la Configuration de la VM====
-[root@centos7 ~]# mdadm --detail /dev/md1 +
-/dev/md1: +
-        Version : 1.2 +
-  Creation Time : Tue Aug  2 15:10:12 2016 +
-     Raid Level : raid5 +
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +
-  Used Dev Size : 510976 (499.08 MiB 523.24 MB) +
-   Raid Devices : 3 +
-  Total Devices : 3 +
-    Persistence : Superblock is persistent+
  
-    Update Time Tue Aug  2 15:14:59 2016 +La configuration de chaque VM est contenue dans un fichier au format XML dans le répertoire **/etc/libvirt/qemu/** :
-          State : clean, degraded  +
- Active Devices : 2 +
-Working Devices : 2 +
- Failed Devices : 1 +
-  Spare Devices : 0+
  
-         Layout left-symmetric +<code> 
-     Chunk Size 512K+[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
  
-           Name centos7.fenestros.loc:1  (local to host centos7.fenestros.loc) +./networks: 
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +total 4 
-         Events : 20+drwx------2 root root  25 Aug 10 17:00 autostart 
 +-rw-------. 1 root root 575 Sep  2 10:22 default.xml
  
-    Number   Major   Minor   RaidDevice State +./networks/autostart: 
-             0        0        0      removed +total 
-             8        8        1      active sync   /dev/sda8 +lrwxrwxrwx. root root 14 Jun 16 06:28 default.xml -> ../default.xml
-                   11        2      active sync   /dev/sda11 +
- +
-                    5             faulty   /dev/sda5+
 </code> </code>
  
-Il est maintenant nécessaire de supprimer /dev/sda5 de notre RAID 5 :+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 :
  
-<code+<file
-[root@centos7 ~]# mdadm --manage --remove /dev/md1 /dev/sda5 +... 
-mdadm: hot removed /dev/sda5 from /dev/md1 +  <currentMemory unit='KiB'>2097152</currentMemory> 
-</code+  <vcpu placement='static'>1</vcpu
- +... 
-A l'examen de notre RAID, on constate que /dev/sda5 a été supprimé :+</file>
  
 <code> <code>
-[root@centos7 ~]# mdadm --detail /dev/md1 +[root@centos8 qemu]# cat testvm1.xml 
-/dev/md1+<!-- 
-        Version : 1.2 +WARNINGTHIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE 
-  Creation Time : Tue Aug  2 15:10:12 2016 +OVERWRITTEN AND LOSTChanges to this xml configuration should be made using: 
-     Raid Level : raid5 +  virsh edit testvm1 
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +or other application using the libvirt API
-  Used Dev Size : 510976 (499.08 MiB 523.24 MB) +-->
-   Raid Devices : 3 +
-  Total Devices : 2 +
-    Persistence : Superblock is persistent+
  
-    Update Time : Tue Aug  2 15:16:41 2016 +<domain type='kvm'> 
-          State clean, degraded  +  <name>testvm1</name> 
- Active Devices : 2 +  <uuid>d436a2df-78b0-474c-833b-3f7af8681052</uuid> 
-Working Devices : +  <metadata> 
- Failed Devices : 0 +    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> 
-  Spare Devices : 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>
  
-         Layout : left-symmetric 
-     Chunk Size : 512K 
- 
-           Name : centos7.fenestros.loc: (local to host centos7.fenestros.loc) 
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 
-         Events : 21 
- 
-    Number   Major   Minor   RaidDevice State 
-                    0        0      removed 
-                    8        1      active sync   /dev/sda8 
-                   11        2      active sync   /dev/sda11 
 </code> </code>
  
-Constatez maintenant l'existance de votre RAID :+Ce fichier doit donc être copié vers le répertoire **/vm-backups/** :
  
 <code> <code>
-[root@centos7 ~]# cat /proc/mdstat +[root@centos8 qemu]# cp -p testvm1.xml /vm-backups/testvm1.xml-backup-04092021
-Personalities : [raid6] [raid5] [raid4]  +
-md1 : active raid5 sda11[3] sda8[1] +
-      1021952 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] +
-       +
-unused devices: <none>+
 </code> </code>
  
-<WRAP center round important> +Une fois le processus en arrière plan terminé, vous pouvez constater la présence des deux fichiers dans le répertoire 
-Notez que le RAID a été démarré avec 2 unités au lieu de trois. +
-</WRAP> +
- +
-Pour ajouter un autre disque à notre RAID afin de remplacer /dev/sda5 il convient d'utiliser l'option **--add** :+
  
 <code> <code>
-[root@centos7 ~]# mdadm --manage --add /dev/md1 /dev/sda10 +[root@centos8 vm-backups]# ls -
-mdadmadded /dev/sda10+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
 </code> </code>
  
-L'exemen du RAID indique que /dev/sda10 a été ajouté en tant que //spare// et à l'issu de quelques minutes le RAID a été reconstruite :+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é :
  
 <code> <code>
-[root@centos7 ~]# mdadm --detail /dev/md1 +[root@centos8 ~]# virsh vol-info /var/lib/libvirt/images/testvm1-os.qcow2  
-/dev/md1: +Name          testvm1-os.qcow2 
-        Version 1.2 +Type          file 
-  Creation Time Tue Aug  2 15:10:12 2016 +Capacity      5.00 GiB 
-     Raid Level raid5 +Allocation    1.70 GiB 
-     Array Size : 1021952 (998.17 MiB 1046.48 MB) +</code>
-  Used Dev Size 510976 (499.08 MiB 523.24 MB) +
-   Raid Devices : 3 +
-  Total Devices : 3 +
-    Persistence : Superblock is persistent+
  
-    Update Time : Tue Aug  2 15:19:06 2016 +====3.- Sauvegarder les Copies des Fichiers====
-          State : clean  +
- Active Devices : 3 +
-Working Devices : 3 +
- Failed Devices : 0 +
-  Spare Devices : 0+
  
-         Layout left-symmetric +Ayant effectué les copies, il est maintenant possible de sauvegarder les fichiers à l'aide d'un outil classique tel **tar** 
-     Chunk Size : 512K+
  
-           Name : centos7.fenestros.loc: (local to host centos7.fenestros.loc) +<code> 
-           UUID : fd8bac53:1457a4f4:30feab84:e0f9d8e0 +[root@centos8 vm-backups]# mkdir testvm1 
-         Events : 40+[root@centos8 vm-backups]# mv *04* testvm1 
 +[root@centos8 vm-backups]# ls 
 +testvm1
  
-    Number   Major   Minor   RaidDevice State +[root@centos8 vm-backups]# tar cvzf testvm1-backup-04092021.tar.gz testvm1
-                   10        0      active sync   /dev/sda10 +testvm1
-       1              8        1      active sync   /dev/sda8 +testvm1/testvm1-os.qcow2-04092021 
-       3             11        2      active sync   /dev/sda11 +testvm1/testvm1.xml-backup-04092021
-</code>+
  
-Naturellement, il necéssaire de renseigner le fichier **/etc/mdadm.conf** du changement afin que le RAID soit contruit à chaque démarrage : +[root@centos8 vm-backups]# ls -l 
- +total 846724 
-<code> +drwxr-xr-x2 root root        74 Sep  4 03:19 testvm1 
-[root@centos7 ~]# echo 'DEVICES /dev/sda10 /dev/sda8 /dev/sda11' > /etc/mdadm.conf +-rw-r--r--. root root 867042697 Sep  4 03:24 testvm1-backup-04092021.tar.gz
-[root@centos7 ~]# mdadm --detail --scan >> /etc/mdadm.conf  +
-[root@centos7 ~]# cat /etc/mdadm.conf +
-DEVICES /dev/sda10 /dev/sda8 /dev/sda11 +
-ARRAY /dev/md1 metadata=1.2 name=centos7.fenestros.loc:1 UUID=fd8bac53:1457a4f4:30feab84:e0f9d8e0+
 </code> </code>
  
 ----- -----
-<html> +Copyright © 2024 Hugh Norris
-<div align="center"> +
-Copyright © 2020 Hugh Norris+
-</html>+
Menu