Il est très différent d'un système à l'autre. Le logiciel linux raid utilise un superbock raid, qui se trouve sur les derniers 64kB de chacun des périphériques membres.
Plus précisément, si la taille de l'appareil est de n
octet, le superbloc du raid est à n&~65535-65536
.
Le superbloc raid se trouve à la fin, car dans les niveaux raid en miroir, il est plus facile d'utiliser un périphérique membre indépendamment de la matrice (parce que vous pouvez simplement le monter, bien sûr vous devez faire une récupération de la matrice après cela).
Le format exact des superblocs de raid est décrit en détail dans le document suivant ce wiki .
Ses données réelles en octets peuvent être visualisées/modifiées par n'importe quel éditeur hexa, par exemple dhex .
En pratique, il décrit l'ensemble de la configuration du raid (niveau du raid, somme de contrôle), ainsi que le périphérique membre de l'ensemble de la matrice.
Lors de l'initialisation du raid, le noyau lit les superblocs et examine leur cohérence. Les membres incohérents ne sont pas insérés dans le tableau.
mdadm --examine --scan
affiche exactement ces informations sur les superblocs raid, sans l'intervention du pilote raid du noyau.
Dans votre cas, il y a une incohérence évidente dans votre tableau. D'ici, il n'est pas facile d'en trouver la cause. Mais vous disposez d'un RAID1, qui est un miroir, et il n'y a donc pas de risque réel de perte de données. Le plus simple est de faire ce qui suit :
- Vous détruisez le superbloc du raid sur l'un des membres du raid avec un
mdadm --zero-superblock
commandement,
- Puis réinsérer ce dispositif dans le tableau avec un
mdadm --add
.
Une nouvelle resynchronisation sera lancée.
P.s.#1 :
Je pense que le superbloc raid a déjà été réécrit par votre ubuntu, mais ce n'est pas sûr. Mettre à zéro le superbloc et réinsérer le périphérique devrait résoudre le problème.
P.s.#2 :
Le format du superbloc raid est indépendant de la plate-forme, il devrait être identique jusqu'au dernier octet entre les différentes architectures, même dans le cas d'une incompatibilité d'endianness. Votre problème n'est certainement pas une incompatibilité architecturale, mais une erreur d'écrasement du superbloc raid sur l'un de vos appareils.