Mdadm similar superblocks

Bonjour,

Depuis quelques temps au boot de mon serveur raid 5 ma grappe raid ne se monte plus.

# mdadm --assemble --scan /dev/md0 mdadm: WARNING /dev/sdb1 and /dev/sdb appear to have very similar superblocks. If they are really different, please --zero the superblock on one If they are the same or overlap, please remove one from the DEVICE list in mdadm.conf.

/etc/mdadm/mdadm.conf contient ceci :

Si je liste mes DEVICES dans mdadm.conf la grappe se monte bien, mais au boot suivant les lettres changent et ça plante.

Si je veux les lister par uuid pour régler le problème ça ne marche pas, les périphériques raid ne semblent pas avoir d’UUID :

# ls -l /dev/disk/by-uuid total 0 lrwxrwxrwx 1 root root 10 déc. 28 10:17 62ceb68d-cafa-4bda-aca6-8d242e9423e6 -> ../../sdh1

La seule partition visible est ma racine, située sur un autre disque.

J’ai aussi tenté :

Puis j’ai remonté la grappe raid en mode dégradé, réparé le tout, mais au reboot suivant, toujours le même problème.

Une idée ?

Salut,

[quote]# by default (built-in), scan all partitions (/proc/partitions) and all

containers for MD superblocks. alternatively, specify devices to scan, using

wildcards if desired.

DEVICE partitions containers
[/quote]

Le contenu de ce paramètre là serait intéressant :slightly_smiling:

[quote=“ggoodluck47”]
Le contenu de ce paramètre là serait intéressant :slightly_smiling:[/quote]

Oui j’ai tenté en spécifiant une liste de périphériques :

 1 ARRAY /dev/md0 level=raid5 num-devices=7 metadata=0.91 UUID=20667aa2:3b0e7280:033ad75e:4efe13f9
 2    devices=/dev/sdc1,/dev/sdd1,/dev/sde1,/dev/sdf1,/dev/sdg,/dev/sda1,/dev/sdb1

Le problème c’est que je les noms des partitions ne sont pas constants d’un boot à l’autre,
et par UUID je n’ai pas trouvé comment faire.

En ajoutant à /etc/mdadm.conf:

Ça démarre, mais en mode dégradé, parce qu’un de mes superblocks n’est pas sur une partition.
Je vais remédier à ça.

Merci :slightly_smiling:

C’est un bug connu avec les ensembles RAID à l’ancien format 0.90. Le superbloc se trouvant à la fin de la partition, si cette dernière est située à la fin du disque dans certains cas mdadm est incapable de savoir si le superbloc appartient à la partition (/dev/sdb1) ou au disque entier (/dev/sdb), donc pour lui les deux sont des membres potentiels de l’ensemble RAID avec le même superbloc, d’où conflit. Les nouveaux formats 1.1 et 1.2 qui placent le superbloc au début du volume n’ont pas ce problème. Je ne sais pas si le format 1.0 qui place aussi le superbloc à la fin est sujet à ce problème.

Tu dois pouvoir contourner le bug en spécifiant ceci dans mdadm.conf :

pour exclure les disques entiers. Ou bien si toutes les partitions de l’ensemble RAID ont pour nom /dev/sd?1, ajouter [mono]devices=/dev/sd?1[/mono] dans la ligne ARRAY.

Merci pour les explications :slightly_smiling:

Ah, je viens de voir qu’un des membres de l’ensemble est un disque entier (non partitionné). Pas génial à mon avis. Dans ce cas tu peux le spécifier avec son nommage persistant (basé sur le modèle et le numéro de série) dans /dev/disk/by-id/.

J’ai finalement opté pour enlever le volume et recréer une partition correcte. Le tout est en train de se reconstruire.

Merci encore :slightly_smiling:

Pour ton prochain RAID, considère d’utiliser le nouveau format par défaut 1.2, qui apporte divers avantages par rapport à l’ancien format 0.90.

Les seuls avantages du format 0.90 sont les suivants :

  • Possibilité d’assemblage directement par le noyau sans mdadm, mais il faut pour cela que les pilotes RAID soient compilés en dur dans le noyau, or dans les noyaux standard de Debian ils sont compilés en module.
  • Possibilité de monter un membre d’un ensemble RAID 1 directement comme s’il s’agissait d’un volume non RAID, par exemple en cas de problème pour récupération des données depuis un système qui ne gère pas le RAID. Cette possibilité n’existe pas pour les niveaux de RAID en bandes (0, 5, 6, 10).

Ces avantages sont donc très limités dans ton cas.

Merci pour ces précisions :slightly_smiling:

La grappe originelle a été créée sous debian etch en 2007 ou 2008 je ne sais plus trop, depuis j’ai fais des upgrades successives du système. C’est sans doutes pour ça qu’elle est encore sous l’ancien format.

Merci à tous pour votre aide :slightly_smiling: