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 utilisateursudo
. 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.
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
OutputPersonalities : 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 :
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
OutputNAME 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
. . .# /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
. . .# 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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
OutputNAME 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:
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.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
OutputPersonalities : 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
OutputFilesystem 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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
OutputPersonalities : 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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
OutputNAME 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
OutputPersonalities : 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
OutputFilesystem 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.