J'ai créé un RAID 5 basé sur mdadm à partir de six disques durs à l'aide de la commande suivante:
# mdadm --create /dev/md0 --level=5 --raid-devices=5 \
/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 \
--spare-devices=1 /dev/sdg1
Je m'attendais à ce que le tableau ait un disque de secours, à savoir / dev / sdg1. Cependant, la vérification mdadm --detail
montre 2 pièces de rechange:
# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 spares=2 name=...
En outre, la taille de la baie indiquée par df
est de 2 To, ce qui correspondrait à seulement quatre de mes disques de 500 Go utilisés.
Alors, quelle est exactement la sémantique de --spare-devices
? La page de manuel indique qu'il "spécifie [s] le nombre de périphériques de rechange (eXtra) dans la matrice initiale", mais cela ne semble pas être le cas ici.
mdadm
software-raid
jstarek
la source
la source
mdadm --detail
y compris le lecteur de parité dans le nombre de "pièces de rechange".) Vous pouvez le vérifier en créant une matrice RAID 6 sans disque de secours; si ma théorie est vraie, elle montrera également des pièces de rechange = 2.cat /proc/mdstat
), je pense que vous verrez le 1. attenduRéponses:
Cette sortie est correcte. Vous avez créé un RAID 5 avec 5 disques (seuls 4 d'entre eux seront "utilisés" pour l'espace). Et vous avez ajouté un disque de rechange supplémentaire.
Vous disposez donc en fait d'un RAID 5 qui permet une panne de disque + un disque de rechange supplémentaire.
Si ce que vous voulez est en fait RAID 5 avec 6 disques et avoir l'espace de 5 disques, vous devez changer votre commande en:
Mais dans ce cas, vous ne pouvez tolérer qu'une seule défaillance de disque selon les spécifications de RAID 5.
EDIT: Ajout du lien à partir de la page officielle de raid: Vous pouvez voir un raid 5 avec 6 disques et il indique rechange = 1: Création de la matrice initiale
MISE À JOUR: J'ai décidé de créer un raid 5 dans mon système et la valeur de réserve disparaît une fois que la baie est dans un état propre:
État propre:
C'est donc comme le commentaire OP, pendant la création initiale du raid 5, il a le disque de rechange jusqu'à ce que la construction / synchronisation du raid soit terminée.
la source
Par souci de clarté, je vais regrouper les informations fournies par derobert et Alexandre Alves et quelques autres tests de la mienne ici:
mdadm
Le--spare-devices
paramètre fonctionne comme l'indique la page de manuel, c'est-à-dire qu'il définit le nombre de disques "hot spare" dans un module RAID. Un «disque de secours», comme dans la terminologie RAID normale, n'a rien à voir avec les disques supplémentaires présents dans une matrice RAID 5 ou RAID 6 - c'est un disque supplémentaire destiné à prendre le relais dès qu'un disque dans la matrice a échoué.Le nombre de disques de rechange est indiqué au moment de la création de la baie. Plus tard, il peut être vérifié à l'aide de
#mdadm --detail --scan
.Cependant, pendant la brève période d'initialisation d'un RAID 5 basé sur mdadm, une optimisation, décrite dans https://raid.wiki.kernel.org/index.php/Initial_Array_Creation , fait apparaître un disque de rechange supplémentaire dans la sortie de cette commande:
"Pour raid5, il y a une optimisation: mdadm prend l'un des disques et le marque comme" de rechange "; il crée ensuite le tableau en mode dégradé. Le noyau marque le disque de rechange comme" reconstruit "et commence à lire à partir du" bon " disques, calcule la parité et détermine ce qui doit se trouver sur le disque de rechange, puis y écrit. "
Une fois l'initialisation de la baie terminée, le nombre de pièces de rechange signalées revient au nombre sélectionné au moment de la création.
la source