Comment créer des matrices RAID avec mdadm sous Debian 9

introduction

L’utilitaire + mdadm peut être utilisé pour créer et gérer des matrices de stockage à l’aide des capacités RAID logicielles 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 offrant de meilleures performances ou caractéristiques de redondance.

Dans ce guide, nous allons passer en revue différentes configurations RAID pouvant être configurées à l’aide d’un serveur Debian 9.

Conditions préalables

Afin de compléter les étapes de ce guide, vous devez avoir:

  • * Un utilisateur non root avec les privilèges + sudo + sur un serveur Debian 9 *: Les étapes de ce guide seront complétées par un utilisateur + sudo +. Pour apprendre à configurer un compte avec ces privilèges, suivez notre Debian 9 Guide de configuration du serveur initial.

  • * Une compréhension de base de la terminologie et des concepts RAID *: Bien que ce guide aborde quelques terminologies 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, consultez notre https://www.digitalocean.com/community/tutorials/an-inintroduction-to-raid-terminology-and-concepts [ introduction à l’article RAID].

  • * Plusieurs périphériques de stockage bruts disponibles sur votre serveur *: Nous allons montrer comment configurer différents types de baies sur le serveur. En tant que tel, vous aurez besoin de quelques lecteurs pour configurer. Si vous utilisez DigitalOcean, vous pouvez utiliser Block Storage volumes pour remplir ce rôle. Selon le type de baie, vous aurez besoin d’au moins * deux à quatre périphériques de stockage *. Il n’est pas nécessaire de formater ces disques avant de suivre ce guide.

Installation des outils d’administration RAID

Avant de commencer, nous devons installer + mdadm +, l’outil qui nous permet de configurer et de gérer des grappes RAID logicielles sous Linux. Ceci est disponible dans les dépôts par défaut de Debian.

Mettez à jour le cache de package local pour récupérer une liste à jour des packages disponibles, puis téléchargez et installez le package:

sudo apt update
sudo apt install mdadm

Cela installera + mdadm + et toutes ses dépendances. Vérifiez que l’utilitaire est installé en tapant:

sudo mdadm -V
Outputmdadm - v3.4 - 28th January 2016

La version de l’application doit être affichée, indiquant que + mdadm + est installé et prêt à être utilisé.

Réinitialisation des périphériques RAID existants

Tout au long de ce guide, nous allons présenter les étapes permettant de 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 référencée pour savoir comment réinitialiser rapidement vos périphériques de stockage composant avant de tester un nouveau niveau RAID. Ignorez cette section pour l’instant si vous n’avez pas encore configuré de tableaux.

Recherchez les tableaux actifs dans le fichier + / proc / mdstat + en tapant:

cat /proc/mdstat
OutputPersonalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
: active raid0 sdc[1] sdd[0]
     209584128 blocks super 1.2 512k chunks

           unused devices: <none>

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

sudo umount /dev/

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

sudo mdadm --stop /dev/

Recherchez les périphériques utilisés pour construire le tableau à l’aide de la commande suivante:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE            TYPE MOUNTPOINT
sda      100G                   disk
sdb      100G                   disk


vda       25G                   disk
├─vda1  24.9G ext4              part /
├─vda14    4M                   part
└─vda15  106M vfat              part /boot/efi

Après avoir découvert les périphériques utilisés pour créer une matrice, réinitialisez leur superbloc afin de supprimer les métadonnées RAID et de les réinitialiser à la normale:

sudo mdadm --zero-superblock /dev/
sudo mdadm --zero-superblock /dev/

Vous devez 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

Également, commentez ou supprimez la définition de 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 à jour le + initramfs + de manière à ce que le processus de démarrage précédent ne tente pas de mettre en ligne un tableau non disponible.

sudo update-initramfs -u

À ce stade, vous devez être prêt à réutiliser les périphériques de stockage individuellement ou en tant que composants d’une matrice différente.

Création d’une matrice RAID 0

La matrice RAID 0 fonctionne en divisant les données en fragments et en les répartissant 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.

  • Exigences: minimum de * 2 périphériques de stockage *

  • Principal avantage: performance

  • Points importants à prendre en compte: Assurez-vous de disposer de sauvegardes fonctionnelles. Une seule panne de périphérique détruira toutes les données du tableau.

Identifier les composants

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT


vda       25G        disk
├─vda1  24.9G ext4   part /
├─vda14    4M        part
└─vda15  106M vfat   part /boot/efi

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, les identificateurs + / dev / sda + et + / dev / sdb + de cette machine ont été attribués à ces périphériques. Ce seront les composants bruts que nous utiliserons pour construire le tableau.

Créer le tableau

Pour créer un ensemble RAID 0 avec ces composants, transmettez-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/ /dev/

Vous pouvez vous assurer que le RAID a bien été créé en vérifiant le fichier + / proc / mdstat +:

cat /proc/mdstat
OutputPersonalities : [raid0]

     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 à l’aide des périphériques + / dev / sda + et + / dev / sdb +.

Création et montage du système de fichiers

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

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
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G 1003M   23G   5% /

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

Enregistrement de la disposition du tableau

Pour vous 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

Ensuite, vous pouvez mettre à jour initramfs, ou le système de fichiers RAM initial, afin que le tableau soit disponible au cours du processus de démarrage précédent:

sudo update-initramfs -u

Ajoutez 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 matrice RAID 0 devrait maintenant être automatiquement assemblée et montée à chaque démarrage.

Création d’une matrice RAID 1

Le type de matrice RAID 1 est implémenté par la mise en miroir des données sur tous les disques disponibles. Chaque disque d’une matrice RAID 1 reçoit une copie complète des données, ce qui permet une redondance en cas de défaillance d’un périphérique.

  • Exigences: minimum de * 2 périphériques de stockage *

  • Principal avantage: la redondance

  • Points importants à prendre en compte: deux copies des données étant conservées, seule la moitié de l’espace disque sera utilisable.

Identifier les composants

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT


vda       25G        disk
├─vda1  24.9G ext4   part /
├─vda14    4M        part
└─vda15  106M vfat   part /boot/efi

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, les identificateurs + / dev / sda + et + / dev / sdb + de cette machine ont été attribués à ces périphériques. Ce seront les composants bruts que nous utiliserons pour construire le tableau.

Créer le tableau

Pour créer un ensemble RAID 1 avec ces composants, transmettez-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/ /dev/

Si les périphériques de composant que vous utilisez ne sont pas des partitions pour lesquelles l’indicateur + boot + est activé, l’avertissement suivant s’affichera probablement. Il est prudent de taper * y * pour continuer:

Outputmdadm: 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.90
mdadm: size set to 104792064K
Continue creating array?

L’outil + mdadm + commencera à refléter les lecteurs. Cela peut prendre un certain temps, mais le tableau peut être utilisé pendant cette période. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier + / proc / mdstat +:

cat /proc/mdstat
OutputPersonalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]

     104792064 blocks super 1.2 [2/2] [UU]


unused 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 1 à l’aide des 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 est terminé.

Création et montage du système de fichiers

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

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
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G 1003M   23G   5% /

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

Enregistrement de la disposition du tableau

Pour vous 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

Ensuite, vous pouvez mettre à jour initramfs, ou le système de fichiers RAM initial, afin que le tableau soit disponible au cours du processus de démarrage précédent:

sudo update-initramfs -u

Ajoutez 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 matrice RAID 1 devrait maintenant être automatiquement assemblée et montée à chaque démarrage.

Création d’une matrice RAID 5

Le type de matrice RAID 5 est implémenté en répartissant 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 pivoté afin que chaque périphérique dispose d’une quantité équilibrée d’informations de parité.

  • Exigences: minimum de * 3 périphériques de stockage *

  • Principal avantage: redondance avec plus de capacité utilisable.

  • Points importants à prendre en compte: lorsque les informations de parité sont distribuées, la capacité d’un disque est utilisée pour la parité. RAID 5 peut souffrir de très mauvaises performances lorsqu’il est dans un état dégradé.

Identifier les composants

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT



vda       25G        disk
├─vda1  24.9G ext4   part /
├─vda14    4M        part
└─vda15  106M vfat   part /boot/efi

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

Créer le tableau

Pour créer un ensemble RAID 5 avec ces composants, transmettez-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/ /dev/ /dev/

L’outil + mdadm + va commencer à configurer le tableau (il utilise en fait le processus de récupération pour construire le tableau pour des raisons de performances). Cela peut prendre un certain temps, mais le tableau peut être utilisé pendant cette période. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier + / proc / mdstat +:

cat /proc/mdstat
OutputPersonalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]

     209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]


unused devices: <none>

Comme vous pouvez le constater dans la première ligne en surbrillance, le périphérique + / dev / md0 + a été créé dans la configuration RAID 5 à l’aide des périphériques + / dev / sda +, + / dev / sdb + et `+ / dev / sdc + `périphériques. La deuxième ligne en surbrillance montre la progression de la construction.

Vous pouvez continuer le guide pendant que ce processus est terminé.

Création et montage du système de fichiers

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

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
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G 1003M   23G   5% /

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

Enregistrement de la disposition du tableau

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

  • Comme mentionné ci-dessus, avant d’ajuster la configuration, vérifiez à nouveau que la matrice est correctement assemblée. * Terminer cette étape avant la construction de la matrice empêchera le système de l’assembler correctement au redémarrage:

cat /proc/mdstat
OutputPersonalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
     209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

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

Ensuite, vous pouvez mettre à jour initramfs, ou le système de fichiers RAM initial, afin que le tableau soit disponible au cours du processus de démarrage précédent:

sudo update-initramfs -u

Ajoutez 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 matrice RAID 5 doit maintenant être automatiquement assemblée et montée à chaque démarrage.

Création d’une matrice RAID 6

Le type de matrice RAID 6 est implémenté en répartissant les données sur les périphériques disponibles. Deux composantes de chaque bande sont des blocs de parité calculés. Si un ou deux périphériques échouent, 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 pivotés afin que chaque périphérique dispose d’une quantité équilibrée d’informations de parité. Ceci est similaire à une matrice RAID 5, mais permet la défaillance de deux lecteurs.

  • Exigences: minimum de * 4 périphériques de stockage *

  • Principal avantage: double redondance avec plus de capacité utilisable.

  • Points importants à prendre en compte: lorsque les informations de parité sont distribuées, la capacité de deux disques sera utilisée pour la parité. RAID 6 peut avoir de très mauvaises performances lorsqu’il est dans un état dégradé.

Identifier les composants

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT




vda       25G        disk
├─vda1  24.9G ext4   part /
├─vda14    4M        part
└─vda15  106M vfat   part /boot/efi

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

Créer le tableau

Pour créer un ensemble RAID 6 avec ces composants, transmettez-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/ /dev/ /dev/ /dev/

L’outil + mdadm + va commencer à configurer le tableau (il utilise en fait le processus de récupération pour construire le tableau pour des raisons de performances). Cela peut prendre un certain temps, mais le tableau peut être utilisé pendant cette période. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier + / proc / mdstat +:

cat /proc/mdstat
OutputPersonalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]

     209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]


unused 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 à l’aide des 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 est terminé.

Création et montage du système de fichiers

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

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
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G 1003M   23G   5% /

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

Enregistrer la disposition du tableau

Pour vous 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

Ensuite, vous pouvez mettre à jour initramfs, ou le système de fichiers RAM initial, afin que le tableau soit disponible au cours du processus de démarrage précédent:

sudo update-initramfs -u

Ajoutez 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 matrice RAID 6 devrait maintenant être automatiquement assemblée et montée à chaque démarrage.

Création d’une matrice RAID 10 complexe

Le type de matrice RAID 10 est traditionnellement implémenté en créant une matrice RAID 0 par bandes composée d’ensembles de matrices RAID 1. Ce type de matrice imbriquée offre à la fois redondance et hautes performances, au détriment de grandes quantités d’espace disque. L’utilitaire + mdadm + a son propre type RAID 10, qui offre le même type d’avantages avec une flexibilité accrue. Il n’a pas été créé par l’imbrication de tableaux, mais présente bon nombre des mêmes caractéristiques et garanties. Nous allons utiliser le + mdadm + RAID 10 ici.

  • Exigences: minimum de * 3 périphériques de stockage *

  • Principal avantage: performances et redondance

  • Points importants à prendre en compte: La réduction de la capacité de la baie de disques est définie par le nombre de copies de données que vous choisissez de conserver. Le nombre de copies stockées avec le RAID 10 de style + mdadm + 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 manière dont chaque bloc de données est stocké sont les suivantes:

  • * near *: l’arrangement par défaut. Les copies de chaque bloc sont écrites consécutivement lors de la répartition, ce qui signifie que les copies des blocs de données seront écrites autour de la même partie de plusieurs disques.

  • * far *: les premières copies et les suivantes sont écrites dans différentes parties des périphériques de stockage de la matrice. Par exemple, le premier morceau pourrait être écrit vers le début d’un disque, tandis que le second morceau serait écrit à mi-chemin sur un disque différent. Cela peut entraîner des gains de performances de lecture pour les disques en rotation traditionnels, au détriment des performances en écriture.

  • * offset *: 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 aide à minimiser la recherche excessive pendant certaines charges de travail.

Pour en savoir plus sur ces dispositions, consultez la section «RAID10» de cette page + man +:

man 4 md

Vous pouvez également trouver cette page + man + en ligne here.

Identifier les composants

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT




vda       25G        disk
├─vda1  24.9G ext4   part /
├─vda14    4M        part
└─vda15  106M vfat   part /boot/efi

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

Créer le tableau

Pour créer un ensemble RAID 10 avec ces composants, transmettez-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 de RAID et le nombre de périphériques.

Vous pouvez configurer deux copies à l’aide de la disposition proche 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/ /dev/ /dev/ /dev/

Si vous souhaitez utiliser une mise en page différente ou modifier le nombre de copies, vous devrez utiliser l’option + - layout = +, qui prend un identifiant de mise en page et de copie. Les dispositions sont * n * pour près, * f * pour loin et * o * pour offset. Le nombre de copies à stocker est ajouté par la suite.

Par exemple, pour créer un tableau comportant 3 copies dans la présentation offset, la commande ressemblerait à ceci:

sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/ /dev/ /dev/ /dev/

L’outil + mdadm + va commencer à configurer le tableau (il utilise en fait le processus de récupération pour construire le tableau pour des raisons de performances). Cela peut prendre un certain temps, mais le tableau peut être utilisé pendant cette période. Vous pouvez surveiller la progression de la mise en miroir en vérifiant le fichier + / proc / mdstat +:

cat /proc/mdstat
OutputPersonalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]

     209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]


unused devices: <none>

Comme vous pouvez le constater dans la première ligne mise en surbrillance, le périphérique + / dev / md0 + a été créé dans la configuration RAID 10 à l’aide du module + / dev / sda +, + / dev / sdb +, + / dev / sdc + `et + / dev / sdd + `périphériques. La deuxième zone en surbrillance montre la mise en page 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 est terminé.

Création et montage du système de fichiers

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

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
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G 1003M   23G   5% /
/dev/md0        196G   61M  186G   1% /mnt/md0

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

Enregistrement de la disposition du tableau

Pour vous 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

Ensuite, vous pouvez mettre à jour initramfs, ou le système de fichiers RAM initial, afin que le tableau soit disponible au cours du processus de démarrage précédent:

sudo update-initramfs -u

Ajoutez 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 matrice RAID 10 doit maintenant être automatiquement assemblée et montée à chaque démarrage.

Conclusion

Dans ce guide, nous avons montré comment créer différents types de matrices à l’aide de l’utilitaire RAID logiciel Linux + mdadm. Les matrices RAID offrent des améliorations de performances et de redondance intéressantes par rapport à l’utilisation de plusieurs disques individuellement.

Une fois que vous avez défini le type de matrice nécessaire pour votre environnement et créé le périphérique, vous devez apprendre à gérer le quotidien avec + mdadm +. Notre guide sur la page https://www.digitalocean.com/community/tutorials/how-to-manage-raid-arrays-with-mdadm-on-ubuntu-16-04 pour gérer les grappes RAID avec + mdadm +] peut vous aider à démarrer.

Related