Dans ce tutoriel, nous allons créer une grappe RAID 1 sous Debian Stretch.

Versions utilisées :

Debian 9.3.0 64 bits

VMware Workstation 12

 

RAID 1 (mirroring)

Le RAID 1 (aussi appelé mirroring) consiste à utiliser au moins 2 disques durs en « miroir ». Les données de chaque disque sont répliquées sur les autres disques de la grappe afin de garantir une grande tolérance aux pannes. Dans notre cas (avec 2 disques dans la grappe), on supportera la perte d’un disque. Ce système offre néanmoins un espace de stockage limité, étant donné que la capacité disponible sera celle du disque avec le moins de capacité. Par exemple, avec 2 disques de 100 Go, seuls 100 Go seront utilisables.

 

Création et partitionnement des disques

Pour créer notre RAID 1, il faut tout d’abord avoir 2 disques.

Pour créer 2 nouveaux disques sous VMWare Workstation 12, il faut aller dans Settings > Hardware > Add > Hard Disk.

Ensuite, il faut démarrer la VM et vérifier que les deux nouveaux disques sont bien détectés. Pour cela utilisez la commande suivante :

 ls /dev/sd*

 

Pour partitionner les deux disques, utilisez l’utilitaire fdisk. Par exemple, pour partitionner le disque sdc, entrez la commande :

disk /dev/sdc

Commande (m pour l’aide): p → affiche la table des partitions

Commande (m pour l’aide): n  → ajoute une nouvelle partition

Commande (m pour l’aide): p → défini cette nouvelle partition comme partition primaire

 

Laisser les paramètres par défaut :

Numéro de partition (1-4, par défaut 1):

Premier secteur (2048-20971519, par défaut 2048):

Utilisation de la valeur par défaut 2048

Dernier secteur, +secteurs or +taille{K,M,G} (2048-20971519, par défaut 20971519):

 

Commande (m pour l’aide): t → modifie le type d’une partition

Partition sélectionnée 1

Code Hexa (taper L pour lister les codes): fd → fd correspond au RAID Linux automatique

Type système de partition modifié de 1 à fd (RAID Linux autodétecté)

Commande (m pour l’aide): w → écrit la table sur le disque et enregistre les modifications

La table de partitions a été altérée.

Appel de ioctl() pour relire la table de partitions.

Synchronisation des disques.ide): p

 

Création de la grappe RAID avec mdadm

Pour pouvoir créer notre grappe RAID, il faut d’abord avoir l’utilitaire mdadm. S’il n’est pas installé, utilisez la commande suivante :

aptitude install mdadm

 

Pour créer la grappe RAID 1 sur /dev/md0, entrez la commande :

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

 

–create : permet de créer une nouvelle grappe RAID.

–verbose : affiche des informations sur les opérations en cours

–level : défini le niveau de RAID (ici RAID 1)

–raid-devices :défini le nombre de disques dans le RAID (ici 2 disques,définis par /dev/sdb1 et /dev/sdc1)

 

Pour consulter l’état du RAID, affichez le fichier mdstat présent dans le dossier /proc grâce à la commande :

cat /proc/mdstat

Ici, on peut voir que notre RAID 1 est actif, et que nos deux disques sont en fonctionnement. Il n’y a aucun disque défectueux.

 

Pour modifier le système de fichier de notre grappe RAID (prélablement définie sur /dev/md0) en ext4, utilisez la commande :

mkfs.ext4 -c -j -L raid1 /dev/md0

 

Pour terminer, il faut monter notre grappe RAID sur /mnt/backup.

Créez le dossier backup :

mkdir /mnt/backup

Puis montez-y votre grappe :

mount /dev/md0 /mnt/backup

 

Maintenant que l’installation est terminée, nous allons pouvoir tester son fonctionnement.

N’oubliez pas de faire une snapshot de votre VM, ça vous permettra de retrouver une installation propre de votre RAID 1 en cas de fausse manipulation lors de vos tests.

 

Tests du fonctionnement du RAID 1

N’hésitez pas à vérifier que tout fonctionne correctement avant de faire vos tests, et de créer fichier sur un des deux disques afin de vérifier encore une fois que notre grappe est bien fonctionnelle.

Essayons de simuler la défaillance d’un disque avec la commande suivante :

mdadm --manage /dev/md0 --fail /dev/sdc1

On peut voir que l’état du RAID a changé, un (F) apparaît à côté du disque volontairement dégradé (sdc1). Les données sont donc toujours accessibles depuis sdb1.

 

Retirons maintenant le disque défaillant grâce à la commande :

mdadm --manage /dev/md0 --remove /dev/sdc1

Cette fois, dans les informations de notre grappe RAID, il ne reste plus que le disque sdb1, sdc1 étant retiré.

 

Liens utiles

Principaux types de RAID

 

Commentaires