Réplication de données avec le RAID logiciel Attention : Le RAID n'est pas une solution de sauvegarde , il s'agit d'une solution qui permet un rétablissement relativement rapide de la situation . Avec un RAID de niveau 1 ou plus, les données sont copiées sur plusieurs disques. Lorsqu'un disque tombe en panne, le système continue de fonctionner avec ceux restant. C'est une solution de haute disponibilité pour des systèmes dont les services ou l'accès aux données ne doivent pas être interrompus. Définition du RAID 1: 2 disques minimum - Taille du plus petit disque - En RAID 1 vos données sont copiées sur deux disques ou plus. C'est-à-dire que chaque disque sera l'exacte copie du premier. Si l'un d'eux grille, il suffit de le remplacer pour créer une nouvelle copie sur ce nouveau disque. L'exemple ci dessous va présenter comment mettre en place  un montage RAID 1 logiciel. Le logiciel qui va nous permettre de remplir notre objectif s'appelle mdadm . Mise en place d'un système de réplication type RAID 1 Prérequis : Avoir au moins 2 disques prêts à l'emploi. L'utilisation de disques durs SATA , est plus que recommandée, car ils permettent une extraction à chaud (Hot Plug). sudo apt update sudo apt install mdadm Configuration du serveur utilisé pour l'exemple Type de Disque Identification Taille  Description SDD sda 10 Go Disque utilisé pour le boot et la racine ( / ) du serveur  HDD sdb 8 Go Disque vierge à utiliser pour le RAID 1 HDD sdc 8 Go Disque vierge à utiliser pour le RAID 1 Créer les partitions Créez une partition de type RAID sur chaque disque dur à l'aide de l'outil fdisk . Exécutez les commandes suivantes pour chaque disque dur ( sdb et sdc ) : sudo fdisk /dev/sdb # n to create new partition # p to create a primary partition # enter # enter # enter # t to change type of partition # fd to select RAID LINUX # w to save Créer le RAID 1 Créez le périphérique RAID 1 en utilisant mdadm : sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 # y to continue Explication des arguments utilisé pour la commande mdadm : -- create /dev/md0 C'est pour donner un nom au RAID --level=1 C'est le type de RAID utilisé (0,1,5,6,10) --raid-devices=2 Pour donner le nombre de disques que vous souhaitez utiliser   /dev/sdb1 /dev/sdc1 La liste des partitions à ajouter dans le RAID Cela crée un périphérique RAID appelé /dev/md0 avec un niveau RAID 1 utilisant les deux partitions que vous avez créées ( /dev/sdb1 et /dev/sdc1 ). Une fois que le RAID est créé, vous pouvez formater le périphérique RAID avec le système de fichiers de votre choix (par exemple, ext4 ):  sudo mkfs.ext4 /dev/md0 On termine cette construction par la daemonisation du volume RAID, c'est-à-dire que nous allons faire en sorte que le système charge le volume à chaque démarrage :  mdadm --monitor --daemonise /dev/md0 A ce niveau de la procédure notre configuration ressemble à ceci : root@debianVM:~# lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda └─sda1 ext4 1.0 a305e837-99f5-4d7c-a293-4ffa11ca5441 1,2G 89% / sdb └─sdb1 linux_raid_member 1.2 debianVM:0 6caf09bd-22a0-d6d6-a2ab-502641c28dfc └─md0 ext4 1.0 4479440e-6a32-45c3-a977-bd153d6e412b sdc └─sdc1 linux_raid_member 1.2 debianVM:0 6caf09bd-22a0-d6d6-a2ab-502641c28dfc └─md0 ext4 1.0 4479440e-6a32-45c3-a977-bd153d6e412b On remarque que la partition md0 partage le même UUID sur les 2 disques.    Monter le RAID 1 Pour monter notre RAID il suffit de créer un dossier à l'endroit voulu, dans notre cas ça sera /mnt/raid . mkdir /mnt/raid mount /dev/md0 /mnt/raid Pour automatiser le montage du RAID au démarrage du serveur éditer le fichier /etc/fstab pour mettre la ligne suivante :  UUID=2d2599e6-0925-4091-87f1-9f631cb7c709 /mnt/raid ext4 defaults 0 2 # UUID correspond à l'uuid de la partition md0 Finalisation Enfin, redémarrez votre système ou montez manuellement le RAID avec sudo mount -a . Pour vérifier le bon fonctionnement du RAID on peux utiliser la commande cat /proc/mdstat , ce qui donne : root@debianVM:~# cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdc1[1] sdb1[0] 8382464 blocks super 1.2 [2/2] [UU] unused devices: Et notre configuration final ressemble à :  root@debianVM:~# lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda └─sda1 ext4 1.0 a305e837-99f5-4d7c-a293-4ffa11ca5441 1,2G 89% / sdb └─sdb1 linux_raid_member 1.2 debianVM:0 6caf09bd-22a0-d6d6-a2ab-502641c28dfc └─md0 ext4 1.0 4479440e-6a32-45c3-a977-bd153d6e412b 7,4G 0% /mnt/raid sdc └─sdc1 linux_raid_member 1.2 debianVM:0 6caf09bd-22a0-d6d6-a2ab-502641c28dfc └─md0 ext4 1.0 4479440e-6a32-45c3-a977-bd153d6e412b 7,4G 0% /mnt/raid Et pour avoir le détail du RAID 1 on peut faire la commande suivante :  root@debianVM:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Mar 13 16:33:39 2024 Raid Level : raid1 Array Size : 8382464 (7.99 GiB 8.58 GB) Used Dev Size : 8382464 (7.99 GiB 8.58 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Wed Mar 13 16:45:06 2024 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Consistency Policy : resync Name : debianVM:0 (local to host debianVM) UUID : 6caf09bd:22a0d6d6:a2ab5026:41c28dfc Events : 17 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1