La gestion des disques en RAID (Redundant Array of Independent Disks) est une solution incontournable pour améliorer la fiabilité, la performance ou la redondance des systèmes de stockage. Sous Debian, MDADM (Multiple Device Administration) est l’outil de référence pour configurer et maintenir un RAID logiciel. Que vous soyez administrateur système ou utilisateur avancé, comprendre comment déployer et gérer un RAID avec MDADM vous permettra de maximiser la résilience de vos données. Dans cet article, nous explorerons les étapes essentielles pour configurer un RAID, surveiller son fonctionnement et effectuer les opérations de maintenance nécessaires. De la création d’un array RAID à sa surveillance en passant par la reconstruction en cas de panne, découvrez tout ce qu’il faut savoir pour garantir la stabilité de vos systèmes de stockage.
Prérequis :
- 4 disques dur de 50 Go
Étape 1 : Lister les disques
fdisk -l
Étape 2 : Mettre à jour les paquets et installer le paquet MDADM
sudo apt update
sudo apt install mdadm
systemctl enable mdadm
mdadm --version
Étape 3 : Configurer les RAID
- RAID 0
Le RAID 0 est une configuration de disque dur qui répartit les données de manière égale entre deux disques ou plus, sans redondance. Cela permet d’augmenter la vitesse de lecture et d’écriture des données, mais si un disque tombe en panne, toutes les données sont perdues. Ce type de RAID est souvent utilisé pour des applications où la performance est plus importante que la sécurité des données.
mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
Pour suivre l’avancement de la construction du RAID, taper cette commande :
cat /proc/mdstat
Le raid est prêt à être utilisé !
- RAID 1
Le RAID 1 est une configuration où les données sont dupliquées sur deux disques durs. Cela offre une protection contre la perte de données, car si un disque tombe en panne, les données sont toujours disponibles sur l’autre disque. Ce type de RAID est principalement utilisé pour garantir la sécurité des données au détriment de la capacité de stockage.
mdadm --create /dev/md0 --level=1 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
- RAID 5
Le RAID 5 combine à la fois performance et sécurité des données en utilisant au moins trois disques. Les données sont réparties entre les disques avec une parité (informations de redondance), ce qui permet de reconstruire les données en cas de défaillance d’un disque. Ce type de RAID offre une bonne protection tout en utilisant l’espace de manière efficace.
mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
Une fois le RAID créé, vérifier l’avancement de la construction du RAID :
Étape 4 : Une fois le RAID configuré, vous pouvez afficher le détail de la configuration.
mdadm --detail /dev/md0
Étape 6 : Une fois le RAID 100% construit, il faut le formater et le mapper comme une partition classique
mkfs.ext4 /dev/md0
mkdir /mnt/raid
mount /dev/md0 /mnt/raid
Et voilà ! Vous savez construire un RAID et l’utiliser !
Allons plus loin 😉
- Ajouter un disque
mdadm --manage /dev/md0 --add /dev/sdb
Le nouveau disque aura un sigle (S) = SPARE
- Supprimer un disque
mdadm --manage /dev/md0 --fail /dev/sdb --remove /dev/sdb
Dans le cas d’un RAID 5, le raid peut être en défaut. Dans ce cas il faut démonter le raid actuel, le stopper et réassembler le raid.
umount /dev/md0
mdadm --stop /dev/md0
mdadm --assemble /dev/md0 /dev/sdc /dev/sdd /dev/sde
- Stopper un RAID
umount /dev/md0
mdadm --stop /dev/md0
- Étendre un RAID
Dans le cas d’un RAID 5 nous avons 4 disques dur, commencer par vérifier la taille :
df -h /dev/md0
On ajoute le disque :
mdadm --manage /dev/md0 --add /dev/sdf
Le nouveau disque s’affiche en SPARE :
Maintenant, on étend le raid au nouveau disque :
mdadm --grow /dev/md0 --raid-devices=5
Le raid se reconstruit, vous pouvez suivre l’avancement :
cat /proc/mdstat
Une fois fait, il faut redimensionner le système de fichier :
resize2fs /dev/md0
Et voila ! Nous avons augmenté la taille de notre RAID
df -h /dev/md0
- Synchronisation RAID
la synchronisation des volumes RAID peut être lente, mais il est possible d’ajuster la vitesse de cette synchronisation en modifiant les paramètres système.
- Pour augmenter la vitesse maximale de synchronisation : La commande suivante définit la vitesse maximale à 100 MB/s pendant la synchronisation des volumes RAID :
echo 1000000 > /proc/sys/dev/raid/speed_limit_max
Cette commande écrit la valeur 1000000 (correspondant à 100 MB/s) dans le fichier système /proc/sys/dev/raid/speed_limit_max, ce qui permet d’augmenter la limite de vitesse.
- Pour définir une vitesse minimale de synchronisation : De la même manière, vous pouvez définir une vitesse minimale de synchronisation avec la commande suivante (par exemple, 10 MB/s) :
echo 100000 > /proc/sys/dev/raid/speed_limit_min
Cette commande définit la vitesse minimale à 100000, ce qui correspond à 10 MB/s.
Remarques importantes :
- Ces ajustements sont temporaires et ne persisteront pas après un redémarrage. Si vous voulez que ces réglages soient permanents, vous devez les ajouter dans le fichier de configuration des sysctl (par exemple, /etc/sysctl.conf).
- Il est recommandé de surveiller les performances du système pendant la synchronisation, surtout si vous augmentez significativement la vitesse, pour éviter de solliciter trop fortement le matériel ou de dégrader les performances du système.
Pour rendre ces paramètres permanents, vous pouvez ajouter les lignes suivantes dans /etc/sysctl.conf :
dev.raid.speed_limit_max = 1000000
dev.raid.speed_limit_min = 100000
Ensuite, appliquez les changements avec :
sudo sysctl -p
Et voilà ! Le RAID n’a plus de secret pour vous 🙂