Introduction

L’utilitaire mdadm peut être utilisé pour créer et gérer des matrices de stockage en utilisant les capacités RAID logicielles de Linux. Les administrateurs disposent d’une grande flexibilité pour coordonner leurs périphériques de stockage individuels et créer des périphériques de stockage logiques qui ont des caractéristiques de performance ou de redondance plus importantes.

Dans ce guide, nous allons passer en revue un certain nombre de configurations RAID différentes qui peuvent être mises en place en utilisant un Ubuntu 16.04.

Prérequis

Pour effectuer les étapes de ce guide, vous devez avoir :

  • Un utilisateur non-root avec des privilèges sudo sur un serveur Ubuntu 16.04 : Les étapes de ce guide seront réalisées avec un utilisateur sudo. Pour apprendre à configurer un compte avec ces privilèges, suivez notre guide de configuration initiale du serveur Ubuntu 16.04.
  • Une compréhension de base de la terminologie et des concepts RAID : Bien que ce guide aborde au passage une partie de la terminologie RAID, une compréhension plus complète est très utile. Pour en savoir plus sur le RAID et pour mieux comprendre quel niveau de RAID vous convient, lisez notre article d’introduction au RAID.
  • Plusieurs périphériques de stockage brut disponibles sur votre serveur : Nous allons démontrer comment configurer différents types de matrices sur le serveur. À ce titre, vous aurez besoin de quelques lecteurs à configurer. Si vous utilisez DigitalOcean, vous pouvez utiliser des volumes de stockage en bloc pour remplir ce rôle. Selon le type de tableau, vous aurez besoin au minimum de deux à quatre périphériques de stockage.

Réinitialisation des périphériques RAID existants

Tout au long de ce guide, nous présenterons les étapes pour créer un certain nombre de niveaux RAID différents. Si vous souhaitez suivre, vous voudrez probablement réutiliser vos périphériques de stockage après chaque section. Cette section peut être consultée pour apprendre à réinitialiser rapidement vos périphériques de stockage avant de tester un nouveau niveau RAID. Sautez cette section pour l’instant si vous n’avez pas encore configuré de matrices.

Avertissement

Ce processus détruira complètement la matrice et toutes les données qui y sont écrites. Assurez-vous que vous opérez sur le bon tableau et que vous avez copié toutes les données que vous devez conserver avant de détruire le tableau.

Repérez les tableaux actifs dans le fichier /proc/mdstat en tapant :

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdc sdd 209584128 blocks super 1.2 512k chunks unused devices: <none>

Démontez le tableau du système de fichiers :

  • sudo umount /dev/md0

Puis, arrêtez et supprimez le tableau en tapant :

  • sudo mdadm --stop /dev/md0
  • sudo mdadm --remove /dev/md0

Recherchez les périphériques qui ont été utilisés pour construire le tableau avec la commande suivante :

Note

Gardez à l’esprit que les noms des/dev/sd*peuvent changer à chaque fois que vous redémarrez ! Vérifiez-les à chaque fois pour vous assurer que vous opérez sur les bons périphériques.

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disk sdb 100G disk sdc 100G linux_raid_member disk sdd 100G linux_raid_member disk vda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Après avoir découvert les périphériques utilisés pour créer un tableau, mettez à zéro leur superbloc pour les remettre à la normale:

  • sudo mdadm --zero-superblock /dev/sdc
  • sudo mdadm --zero-superblock /dev/sdd

Vous devriez supprimer toutes les références persistantes au tableau. Editez le fichier /etc/fstab et commentez ou supprimez la référence à votre tableau:

  • sudo nano /etc/fstab
/etc/fstab
. . .# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

Aussi, commentez ou supprimez la définition du tableau du fichier /etc/mdadm/mdadm.conf:

  • sudo nano /etc/mdadm/mdadm.conf
/etc/mdadm/mdadm.conf
. . .# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

Enfin, mettez à nouveau à jour le initramfs:

  • sudo update-initramfs -u

À ce stade, vous devriez être prêt à réutiliser les périphériques de stockage individuellement, ou en tant que composants d’un tableau différent.

Création d’un tableau RAID 0

Le tableau RAID 0 fonctionne en divisant les données en morceaux et en les répartissant en bandes sur les disques disponibles. Cela signifie que chaque disque contient une partie des données et que plusieurs disques seront référencés lors de la récupération des informations.

  • Requêtes : minimum de 2 périphériques de stockage
  • Bénéfice principal : performances
  • Ce qu’il faut garder à l’esprit : Assurez-vous d’avoir des sauvegardes fonctionnelles. La défaillance d’un seul périphérique détruira toutes les données de la matrice.

Identifier les périphériques composants

Pour commencer, trouvez les identifiants des disques bruts que vous utiliserez :

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Comme vous pouvez le voir ci-dessus, nous avons deux disques sans système de fichiers, chacun d’une taille de 100G. Dans cet exemple, ces périphériques ont reçu les identifiants /dev/sda et /dev/sdb pour cette session. Ce seront les composants bruts que nous utiliserons pour construire la matrice.

Créer la matrice

Pour créer une matrice RAID 0 avec ces composants, passez-les à la commande mdadm --create. Vous devrez spécifier le nom du périphérique que vous souhaitez créer (/dev/md0 dans notre cas), le niveau RAID et le nombre de périphériques :

  • sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

Vous pouvez vous assurer que le RAID a été créé avec succès en vérifiant le fichier /proc/mdstat :

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdb sda 209584128 blocks super 1.2 512k chunks unused devices: <none>

Comme vous pouvez le voir dans la ligne en surbrillance, le périphérique /dev/md0 a été créé dans la configuration RAID 0 en utilisant les périphériques /dev/sda et /dev/sdb.

Créer et monter le système de fichiers

Puis, créez un système de fichiers sur la matrice :

  • sudo mkfs.ext4 -F /dev/md0

Créez un point de montage pour attacher le nouveau système de fichiers :

  • sudo mkdir -p /mnt/md0

Vous pouvez monter le système de fichiers en tapant :

  • sudo mount /dev/md0 /mnt/md0

Vérifiez si le nouvel espace est disponible en tapant :

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Le nouveau système de fichiers est monté et accessible.

Enregistrer la disposition du tableau

Pour s’assurer que le tableau est réassemblé automatiquement au démarrage, nous devrons ajuster le fichier /etc/mdadm/mdadm.conf. Vous pouvez analyser automatiquement le tableau actif et ajouter le fichier en tapant:

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

Après cela, vous pouvez mettre à jour le initramfs, ou système de fichiers RAM initial, afin que le tableau soit disponible pendant le processus de démarrage précoce:

  • sudo update-initramfs -u

Ajouter les nouvelles options de montage du système de fichiers au fichier /etc/fstab pour un montage automatique au démarrage:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Votre tableau RAID 0 devrait maintenant être automatiquement assemblé et monté à chaque démarrage.

Création d’une matrice RAID 1

Le type de matrice RAID 1 est mis en œuvre en mettant en miroir les données sur tous les disques disponibles. Chaque disque d’une matrice RAID 1 obtient une copie complète des données, fournissant une redondance en cas de défaillance d’un périphérique.

  • Requêtes : minimum de 2 périphériques de stockage
  • Avantage principal : Redondance
  • Ce qu’il faut garder à l’esprit : Puisque deux copies des données sont maintenues, seule la moitié de l’espace disque sera utilisable

Identifier les périphériques composants

Pour commencer, trouvez les identifiants des disques bruts que vous utiliserez :

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Comme vous pouvez le voir ci-dessus, nous avons deux disques sans système de fichiers, chacun d’une taille de 100G. Dans cet exemple, ces périphériques ont reçu les identifiants /dev/sda et /dev/sdb pour cette session. Ce seront les composants bruts que nous utiliserons pour construire la matrice.

Créer la matrice

Pour créer une matrice RAID 1 avec ces composants, passez-les à la commande mdadm --create. Vous devrez spécifier le nom du périphérique que vous souhaitez créer (/dev/md0 dans notre cas), le niveau RAID et le nombre de périphériques :

  • sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

Si les périphériques composants que vous utilisez ne sont pas des partitions avec l’indicateur boot activé, vous recevrez probablement l’avertissement suivant. Il est sûr de taper y pour continuer:

Output
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90mdadm: size set to 104792064KContinue creating array? y

L’outil mdadm commencera à mettre en miroir les lecteurs. Cela peut prendre un certain temps pour se terminer, mais la baie peut être utilisée pendant ce temps. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid1 sdb sda 104792064 blocks super 1.2 resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/secunused devices: <none>

Comme vous pouvez le voir dans la première ligne surlignée, le périphérique /dev/md0 a été créé dans la configuration RAID 1 en utilisant les périphériques /dev/sda et /dev/sdb. La deuxième ligne en surbrillance montre la progression de la mise en miroir. Vous pouvez continuer le guide pendant que ce processus se termine.

Créer et monter le système de fichiers

Puis, créez un système de fichiers sur la matrice :

  • sudo mkfs.ext4 -F /dev/md0

Créer un point de montage pour attacher le nouveau système de fichiers :

  • sudo mkdir -p /mnt/md0

Vous pouvez monter le système de fichiers en tapant :

  • sudo mount /dev/md0 /mnt/md0

Vérifiez si le nouvel espace est disponible en tapant :

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 99G 60M 94G 1% /mnt/md0

Le nouveau système de fichiers est monté et accessible.

Enregistrer la disposition du tableau

Pour s’assurer que le tableau est réassemblé automatiquement au démarrage, nous devrons ajuster le fichier /etc/mdadm/mdadm.conf. Vous pouvez analyser automatiquement le tableau actif et ajouter le fichier en tapant:

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

Après cela, vous pouvez mettre à jour le initramfs, ou système de fichiers RAM initial, afin que le tableau soit disponible pendant le processus de démarrage précoce:

  • sudo update-initramfs -u

Ajouter les nouvelles options de montage du système de fichiers au fichier /etc/fstab pour un montage automatique au démarrage:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Votre tableau RAID 1 devrait maintenant être automatiquement assemblé et monté à chaque démarrage.

Création d’une matrice RAID 5

Le type de matrice RAID 5 est mis en œuvre en rayant les données sur les périphériques disponibles. Un composant de chaque bande est un bloc de parité calculé. Si un périphérique tombe en panne, le bloc de parité et les blocs restants peuvent être utilisés pour calculer les données manquantes. Le périphérique qui reçoit le bloc de parité est tourné de sorte que chaque périphérique dispose d’une quantité équilibrée d’informations de parité.

  • Requêtes : minimum de 3 périphériques de stockage
  • Avantage principal : Redondance avec plus de capacité utilisable.
  • Ce qu’il faut garder à l’esprit : Bien que les informations de parité soient distribuées, la capacité d’un disque sera utilisée pour la parité. Le RAID 5 peut souffrir de très mauvaises performances lorsqu’il est dans un état dégradé.

Identifier les périphériques composants

Pour commencer, trouvez les identifiants des disques bruts que vous utiliserez :

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Comme vous pouvez le voir ci-dessus, nous avons trois disques sans système de fichiers, chacun d’une taille de 100G. Dans cet exemple, ces périphériques ont reçu les identifiants /dev/sda, /dev/sdb, et /dev/sdc pour cette session. Ce seront les composants bruts que nous utiliserons pour construire la matrice.

Créer la matrice

Pour créer une matrice RAID 5 avec ces composants, passez-les à la commande mdadm --create. Vous devrez spécifier le nom du périphérique que vous souhaitez créer (/dev/md0 dans notre cas), le niveau RAID et le nombre de périphériques :

  • sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

L’outil mdadm commencera à configurer le tableau (il utilise en fait le processus de récupération pour construire le tableau pour des raisons de performance). Cela peut prendre un certain temps pour se terminer, mais la matrice peut être utilisée pendant ce temps. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 recovery = 15.6% (16362536/104792064) finish=7.3min speed=200808K/secunused devices: <none>

Comme vous pouvez le voir dans la première ligne en surbrillance, le périphérique /dev/md0 a été créé dans la configuration RAID 5 en utilisant les périphériques /dev/sda, /dev/sdb et /dev/sdc. La deuxième ligne en surbrillance montre la progression de la construction. Vous pouvez continuer le guide pendant que ce processus se termine.

Créer et monter le système de fichiers

Puis, créez un système de fichiers sur le tableau :

  • sudo mkfs.ext4 -F /dev/md0

Créer un point de montage pour attacher le nouveau système de fichiers :

  • sudo mkdir -p /mnt/md0

Vous pouvez monter le système de fichiers en tapant :

  • sudo mount /dev/md0 /mnt/md0

Vérifiez si le nouvel espace est disponible en tapant :

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Le nouveau système de fichiers est monté et accessible.

Sauvegarder la disposition du tableau

Pour s’assurer que le tableau est réassemblé automatiquement au démarrage, nous devrons ajuster le fichier /etc/mdadm/mdadm.conf.

Avant d’ajuster la configuration, vérifiez à nouveau que le tableau a fini de s’assembler. En raison de la manière dont mdadm construit les matrices RAID 5, si la matrice est toujours en cours de construction, le nombre de pièces de rechange dans la matrice sera rapporté de manière inexacte :

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 unused devices: <none>

La sortie ci-dessus montre que la reconstruction est terminée. Maintenant, nous pouvons analyser automatiquement le tableau actif et ajouter le fichier en tapant:

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

Après cela, vous pouvez mettre à jour l’initramfs, ou système de fichiers RAM initial, afin que le tableau soit disponible pendant le processus de démarrage précoce:

  • sudo update-initramfs -u

Ajouter les nouvelles options de montage du système de fichiers au fichier /etc/fstab pour un montage automatique au démarrage:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Votre tableau RAID 5 devrait maintenant être automatiquement assemblé et monté à chaque démarrage.

Création d’une matrice RAID 6

Le type de matrice RAID 6 est mis en œuvre en rayant les données sur les périphériques disponibles. Deux composants de chaque bande sont des blocs de parité calculés. Si un ou deux périphériques tombent en panne, les blocs de parité et les blocs restants peuvent être utilisés pour calculer les données manquantes. Les périphériques qui reçoivent les blocs de parité sont tournés de manière à ce que chaque périphérique dispose d’une quantité équilibrée d’informations de parité. Cela est similaire à une matrice RAID 5, mais permet la défaillance de deux lecteurs.

  • Requêtes : minimum de 4 périphériques de stockage
  • Avantage principal : double redondance avec plus de capacité utilisable.
  • Ce qu’il faut garder à l’esprit : Bien que les informations de parité soient distribuées, la capacité de deux disques sera utilisée pour la parité. Le RAID 6 peut souffrir de très mauvaises performances lorsqu’il est dans un état dégradé.

Identifier les périphériques composants

Pour commencer, trouvez les identifiants des disques bruts que vous utiliserez :

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Comme vous pouvez le voir ci-dessus, nous avons quatre disques sans système de fichiers, chacun d’une taille de 100G. Dans cet exemple, ces périphériques ont reçu les identifiants /dev/sda, /dev/sdb, /dev/sdc, et /dev/sdd pour cette session. Ce seront les composants bruts que nous utiliserons pour construire la matrice.

Créer la matrice

Pour créer une matrice RAID 6 avec ces composants, passez-les à la commande mdadm --create. Vous devrez spécifier le nom du périphérique que vous souhaitez créer (/dev/md0 dans notre cas), le niveau RAID et le nombre de périphériques :

  • sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

L’outil mdadm commencera à configurer le tableau (il utilise en fait le processus de récupération pour construire le tableau pour des raisons de performance). Cela peut prendre un certain temps pour se terminer, mais la matrice peut être utilisée pendant ce temps. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid6 sdd sdc sdb sda 209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 resync = 0.6% (668572/104792064) finish=10.3min speed=167143K/secunused devices: <none>

Comme vous pouvez le voir dans la première ligne en surbrillance, le périphérique /dev/md0 a été créé dans la configuration RAID 6 en utilisant les périphériques /dev/sda, /dev/sdb, /dev/sdc et /dev/sdd. La deuxième ligne en surbrillance montre la progression de la construction. Vous pouvez continuer le guide pendant que ce processus se termine.

Créer et monter le système de fichiers

Puis, créer un système de fichiers sur le tableau:

  • sudo mkfs.ext4 -F /dev/md0

Créer un point de montage pour attacher le nouveau système de fichiers :

  • sudo mkdir -p /mnt/md0

Vous pouvez monter le système de fichiers en tapant :

  • sudo mount /dev/md0 /mnt/md0

Vérifiez si le nouvel espace est disponible en tapant :

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Le nouveau système de fichiers est monté et accessible.

Sauvegarder la disposition du tableau

Pour s’assurer que le tableau est réassemblé automatiquement au démarrage, nous devrons ajuster le fichier /etc/mdadm/mdadm.conf. Nous pouvons analyser automatiquement le tableau actif et ajouter le fichier en tapant:

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

Après cela, vous pouvez mettre à jour le initramfs, ou système de fichiers RAM initial, afin que le tableau soit disponible pendant le processus de démarrage précoce:

  • sudo update-initramfs -u

Ajouter les nouvelles options de montage du système de fichiers au fichier /etc/fstab pour un montage automatique au démarrage:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Votre tableau RAID 6 devrait maintenant être automatiquement assemblé et monté à chaque démarrage.

Création d’un tableau RAID 10 complexe

Le type de tableau RAID 10 est traditionnellement mis en œuvre en créant un tableau RAID 0 à bandes composé d’ensembles de tableaux RAID 1. Ce type de tableau imbriqué donne à la fois une redondance et des performances élevées, au détriment d’une grande quantité d’espace disque. L’utilitaire mdadm possède son propre type de RAID 10 qui offre le même type d’avantages avec une flexibilité accrue. Il n’est pas créé par imbrication de matrices, mais possède beaucoup des mêmes caractéristiques et garanties. Nous utiliserons ici le mdadm RAID 10.

  • Requêtes : minimum de 3 périphériques de stockage
  • Avantage principal : performance et redondance
  • Ce qu’il faut garder à l’esprit : Le montant de la réduction de capacité de la baie est défini par le nombre de copies de données que vous choisissez de conserver. Le nombre de copies qui sont stockées avec le style mdadm RAID 10 est configurable.

Par défaut, deux copies de chaque bloc de données seront stockées dans ce que l’on appelle la disposition « proche ». Les dispositions possibles qui dictent la façon dont chaque bloc de données est stocké sont :

  • proche : La disposition par défaut. Les copies de chaque chunk sont écrites consécutivement lors du striping, ce qui signifie que les copies des blocs de données seront écrites autour de la même partie de plusieurs disques.
  • loin : La première copie et les copies suivantes sont écrites sur différentes parties les périphériques de stockage dans la matrice. Par exemple, le premier chunk pourrait être écrit près du début d’un disque, tandis que le second chunk serait écrit à mi-chemin sur un disque différent. Cela peut donner quelques gains de performance en lecture pour les disques rotatifs traditionnels au détriment des performances en écriture.
  • décalage : Chaque bande est copiée, décalée d’un lecteur. Cela signifie que les copies sont décalées les unes des autres, mais toujours proches les unes des autres sur le disque. Cela permet de minimiser la recherche excessive pendant certaines charges de travail.

Vous pouvez en savoir plus sur ces dispositions en consultant la section « RAID10 » de cette page man:

  • man 4 md

Vous pouvez également trouver cette page man en ligne ici.

Identifier les périphériques composants

Pour commencer, trouvez les identifiants des disques bruts que vous allez utiliser :

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Comme vous pouvez le voir ci-dessus, nous avons quatre disques sans système de fichiers, chacun d’une taille de 100G. Dans cet exemple, ces périphériques ont reçu les identifiants /dev/sda, /dev/sdb, /dev/sdc, et /dev/sdd pour cette session. Ce seront les composants bruts que nous utiliserons pour construire la matrice.

Créer la matrice

Pour créer une matrice RAID 10 avec ces composants, passez-les à la commande mdadm --create. Vous devrez spécifier le nom du périphérique que vous souhaitez créer (/dev/md0 dans notre cas), le niveau RAID et le nombre de périphériques.

Vous pouvez configurer deux copies en utilisant la disposition near en ne spécifiant pas de disposition et de numéro de copie :

  • sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Si vous souhaitez utiliser une disposition différente, ou changer le nombre de copies, vous devrez utiliser l’option --layout=, qui prend un identifiant de disposition et de copie. Les mises en page sont n pour near, f pour far, et o pour offset. Le nombre de copies à stocker est ajouté après.

Par exemple, pour créer un tableau qui a 3 copies dans le layout offset, la commande ressemblerait à ceci:

  • sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

L’outil mdadm commencera à configurer le tableau (il utilise en fait le processus de récupération pour construire le tableau pour des raisons de performance). Cela peut prendre un certain temps pour se terminer, mais la matrice peut être utilisée pendant ce temps. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid10 sdd sdc sdb sda 209584128 blocks super 1.2 512K chunks 2 near-copies resync = 18.1% (37959424/209584128) finish=13.8min speed=206120K/secunused devices: <none>

Comme vous pouvez le voir dans la première ligne en surbrillance, le périphérique /dev/md0 a été créé dans la configuration RAID 10 en utilisant les périphériques /dev/sda, /dev/sdb, /dev/sdc et /dev/sdd. La deuxième zone en surbrillance montre la disposition qui a été utilisée pour cet exemple (2 copies dans la configuration proche). La troisième zone en surbrillance montre la progression de la construction. Vous pouvez continuer le guide pendant que ce processus se termine.

Créer et monter le système de fichiers

Puis, créer un système de fichiers sur le tableau :

  • sudo mkfs.ext4 -F /dev/md0

Créer un point de montage pour attacher le nouveau système de fichiers :

  • sudo mkdir -p /mnt/md0

Vous pouvez monter le système de fichiers en tapant :

  • sudo mount /dev/md0 /mnt/md0

Vérifiez si le nouvel espace est disponible en tapant :

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Le nouveau système de fichiers est monté et accessible.

Enregistrer la disposition du tableau

Pour s’assurer que le tableau est réassemblé automatiquement au démarrage, nous devrons ajuster le fichier /etc/mdadm/mdadm.conf. Nous pouvons analyser automatiquement le tableau actif et ajouter le fichier en tapant :

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

Après cela, vous pouvez mettre à jour l’initramfs, ou système de fichiers RAM initial, afin que le tableau soit disponible pendant le processus de démarrage précoce :

  • sudo update-initramfs -u

Ajouter les nouvelles options de montage du système de fichiers au fichier /etc/fstab pour un montage automatique au démarrage :

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Votre tableau RAID 10 devrait maintenant être automatiquement assemblé et monté à chaque démarrage.

Conclusion

Dans ce guide, nous avons démontré comment créer différents types de matrices en utilisant l’utilitaire RAID logiciel mdadm de Linux. Les matrices RAID offrent certaines améliorations convaincantes en matière de redondance et de performances par rapport à l’utilisation de plusieurs disques individuellement.

Une fois que vous avez réglé le type de matrice nécessaire à votre environnement et créé le périphérique, vous devrez apprendre à effectuer la gestion quotidienne avec mdadm. Notre guide sur la façon de gérer les matrices RAID avec mdadm sur Ubuntu 16.04 peut vous aider à démarrer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.