8. Créer un tableau RAID 1

Dans cette partie, vous allez créer une unité logique RAID 1 composée d'un de disque local et d'un disque iSCSI afin d'illustrer une solution de réplication synchrone. En effet, dans un volume RAID 1, chaque disque contient à tout moment exactement les mêmes données. Ici, le contenu de l'unité de disque locale est identique à celui de l'unité de disque réseau. Cette réplication est dite synchrone, car toute écriture locale est dupliquée sur le réseau de stockage iSCSI.

8.1. Créer l'unité de disque RAID 1

Q40.

Quel est le paquet qui contient les outils de configuration et de gestion des différents types d'unités RAID logicielles ? Installer ce paquet et identifier l'outil d'administration de tableau RAID logiciel.

Effectuer une recherche dans les descriptions de paquets avec l'acronyme clé RAID.

apt -o "Apt::Cmd::Disable-Script-Warning=1" search raid |\
  grep -B2 administration

p   mdadm   - outil d'administration d'ensembles RAID
sudo apt install mdadm

Une fois le paquet installé, listez son contenu et identifiez les commandes utilisateur.

dpkg -L mdadm | grep bin
/usr/sbin
/usr/sbin/mdadm
/usr/sbin/mdmon

La commande recherchée est mdadm.

Q41.

Recherchez la syntaxe d'appel à l'outil identifié dans la question précédente pour créer l'unité de stockage RAID 1 ?

Exécutez cette commande et relevez les messages obtenus.

Affichez la liste des périphériques connus et identifiez les deux unités de disque qui vont constituer le tableau RAID 1.

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0    32G  0 disk
sr0          11:0    1  1024M  0 rom
vda         254:0    0   366K  0 disk
nvme0n1     259:1    0   120G  0 disk
├─nvme0n1p1 259:4    0     3M  0 part
├─nvme0n1p2 259:5    0   124M  0 part /boot/efi
└─nvme0n1p3 259:6    0 119,9G  0 part /
nvme1n1     259:3    0    32G  0 disk

Affichez l'identifiant unique du second disque du système Initiator pour garantir la cohérence du nom de ce disque.

lsblk -o NAME,SIZE,ID
NAME                SIZE ID
sda                  32G 360014054e44abc2c1c14983804909a53
sr0                1024M QEMU_DVD-ROM_QM00005
vda                 366K
nvme0n1             120G QEMU_NVMe_Ctrl_feedcafe
├─nvme0n1p1           3M QEMU_NVMe_Ctrl_feedcafe-part1
├─nvme0n1p2         124M QEMU_NVMe_Ctrl_feedcafe-part2
└─nvme0n1p3       119,9G QEMU_NVMe_Ctrl_feedcafe-part3
nvme1n1              32G QEMU_NVMe_Ctrl_feedcafe1

Identifiez le chemin complet du second disque à intégrer dans la tableau RAID 1.

ls -l /dev/disk/by-id/nvme-QEMU_NVMe_Ctrl_feedcafe1
lrwxrwxrwx 1 root root 13  1 sept.  2025 /dev/disk/by-id/nvme-QEMU_NVMe_Ctrl_feedcafe1 -> ../../nvme1n1

À titre préventif, nettoyez les superblocks des deux périphériques. Ces opérations sont utiles en cas d'erreurs sur la création d'un tableau RAID.

sudo mdadm --zero-superblock /dev/sda
sudo mdadm --zero-superblock /dev/disk/by-id/nvme-QEMU_NVMe_Ctrl_feedcafe1

Après s'être assuré qu'aucune table de partition n'existe sur les deux unités constituant le tableau, on obtient le résultat suivant.

sudo mdadm --create /dev/md0 \
    --metadata=1 \
    --level=raid1 \
    --raid-devices=2 \
    /dev/sda /dev/disk/by-id/nvme-QEMU_NVMe_Ctrl_feedcafe1
To optimalize recovery speed, it is recommended to enable write-indent bitmap, do you want to enable it now? [y/N]? y
mdadm: array /dev/md0 started.

8.2. Afficher les propriétés du tableau RAID 1 et rendre sa configuration permanente

Q42.

Comment connaître l'état de l'unité logique RAID 1 ?

Recherchez dans le système de fichiers virtuel /proc/.

Exemple du tableau créé lors l'exécution de la commande de la question précédente.

cat /proc/mdstat
Personalities : [raid0] [raid1] [raid4] [raid5] [raid6] [raid10]
md0 : active raid1 nvme1n1[1] sda[0]
      33520640 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

Les deux marqueurs UU indiquent que les deux unités de stockage du tableau sont Up.

Q43.

Comment afficher la liste des propriétés de l'unité logique RAID 1 ?

Recherchez dans les options de la commande d'administration mdadm.

sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Aug 31 08:48:01 2025
        Raid Level : raid1
        Array Size : 33520640 (31.97 GiB 34.33 GB)
     Used Dev Size : 33520640 (31.97 GiB 34.33 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Aug 31 08:50:49 2025
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : initiator:0  (local to host initiator)
              UUID : b194fed7:429ef21c:1e3a9890:d2963f45
            Events : 33

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1     259        3        1      active sync   /dev/disk/by-id/nvme-QEMU_NVMe_Ctrl_feedcafe1

Q44.

Comment rendre la configuration du tableau RAID 1 permanente au niveau système ?

Recherchez à nouveau dans les options de la commande d'administration mdadm l'option qui permet d'afficher les caractéristiques du tableau RAID 1. Utilisez le résultat de cette même commande pour créer le fichier de configuration système permanent.

Relativement à la question précédente, on ajoute l'option --scan à l'affichage détaillé.

 sudo mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 UUID=b194fed7:429ef21c:1e3a9890:d2963f45

C'est le fichier /etc/mdadm/mdadm.conf qui sert à conserver l'identifiant unique du tableau RAID 1 déjà créé. Écrivez le résultat de la commande d'identification dans ce fichier.

sudo mdadm --detail --scan | sudo tee /etc/mdadm/mdadm.conf

Ajoutez une adresse mail de destination pour les messages du service de surveillance du tableau RAID logiciel au fichier de configuration.

echo "MAILADDR etu@localhost" | sudo tee -a /etc/mdadm/mdadm.conf

Enfin, mettez à jour l'initramfs afin que les scripts de démarrage prennent en compte la nouvelle configuration :

sudo update-initramfs -u

La configuration du tableau RAID 1 est maintenant complète et reproductible à chaque redémarrage du système Initiator.