web-dev-qa-db-fra.com

mdadm échoue après la mise à niveau de 10.04 -> 12.04

Je viens de mettre à niveau mon serveur Ubuntu (dans le rôle de NAS) du 10.04 au 12.04. Étant donné que les deux versions sont LTS, je ne m'attendais à aucun problème et ... n'a effectué aucune sauvegarde. Ma faute.

Après la mise à niveau, le serveur n'est pas arrivé, le sauvetage de grub m'a accueilli.

A l'origine, j'avais 4 baies RAID: une, 10 Go pour le système/dev/md0, a été assemblée à partir de/dev/sd [bcdef] 1 en mode RAID1. Deuxièmement, 10 Go pour le cache,/dev/md1, ont été assemblés à partir de/dev/sd [bcdef] 2 en mode RAID1 (?). Troisièmement,/dev/md5 a été assemblé à partir de/dev/sd [bcdef] 6 en mode RAID5. Toutes les partitions 500 Go chacune. Enfin,/dev/md6 a été assemblé à partir de/dev/sd [bcdef] 5 en mode RAID6. Toutes les partitions 500 Go chacune.

Comme je n'ai pas 5 To (ni même 3,5 To) de supports pour faire une sauvegarde, j'ai installé un système de serveur Ubuntu en parfait état sur/dev/sda en utilisant un cd minimal. Je ne pouvais pas démarrer eighter, mais cela pourrait être dû à une partie de mon matériel, qui est assez ancien et qui n’a pas l’option de démarrer à partir d’un disque dur différent. J'ai donc lancé XUbuntu live cd et à partir de là, j'ai pu monter une des partitions du système et faire une sauvegarde complète des fichiers système. Ensuite, j'ai installé le 12.04 correctement reconnu au cours de l'installation/dev/sd [bcdef] 1 RAID1. Malheureusement, le système s’est installé uniquement sur/dev/sde1, en ignorant la structure du raid. Après cela, le système n’a pas démarré. Craignant de toucher à autre chose, j'ai saisi à nouveau le cd live de XUbuntu et j'ai pu en extraire les données de diagnostic suivantes.

Je suis intéressé à récupérer uniquement/dev/md5 et/dev/md6.

On dirait que l'installateur a bousillé les superblocs sur/dev/sde. J'espère que ce n'est pas fatal ...

#Sudo /usr/share/mdadm/mkconf
...

# definitions of existing MD arrays
ARRAY /dev/md124 UUID=01b9a5fe:1be857d7:c20db638:73a0ec38
ARRAY /dev/md127 UUID=00000000:00000000:00000000:00000000
   spares=2
ARRAY /dev/md/6 metadata=1.2 UUID=2a8fd2df:3ad53552:e8b80ecf:a46d93a2 name=pieciodysk:6
ARRAY /dev/md/5 metadata=1.2 UUID=a3945c40:73237cd6:3d61998e:8f773d03 name=pieciodysk:5
ARRAY /dev/md127 UUID=00000000:00000000:00000000:00000000
   spares=4
ARRAY /dev/md/6 metadata=1.2 UUID=2a8fd2df:3ad53552:e8b80ecf:a46d93a2 name=pieciodysk:6
   spares=4
ARRAY /dev/md/5 metadata=1.2 UUID=a3945c40:73237cd6:3d61998e:8f773d03 name=pieciodysk:5
   spares=4

fdsik/dev/sdb:

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c3e8a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048    19531775     9764864   fd  Linux raid autodetect
/dev/sdb2        19531776    21485567      976896   fd  Linux raid autodetect
/dev/sdb3        21485568  1953510662   966012547+   5  Extended
/dev/sdb5        21485631   987490082   483002226   fd  Linux raid autodetect
/dev/sdb6       987490146  1953510662   483010258+  fd  Linux raid autodetect

fdsik/dev/sdc:

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *          63    19535039     9767488+  fd  Linux raid autodetect
/dev/sdc2        19535040    21494969      979965   fd  Linux raid autodetect
/dev/sdc3        21494970  1953520064   966012547+   5  Extended
/dev/sdc5        21495033   987499484   483002226   fd  Linux raid autodetect
/dev/sdc6       987499548  1953520064   483010258+  fd  Linux raid autodetect

fdsik/dev/sdd:

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1   *        2048    19531775     9764864   fd  Linux raid autodetect
/dev/sdd2        19531776    21485567      976896   fd  Linux raid autodetect
/dev/sdd3        21485568  1953510662   966012547+   5  Extended
/dev/sdd5        21485631   987490082   483002226   fd  Linux raid autodetect
/dev/sdd6       987490146  1953510662   483010258+  fd  Linux raid autodetect

fdsik/dev/sde:

Disk /dev/sde: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1   *          63    19535039     9767488+  fd  Linux raid autodetect
/dev/sde2        19535040    21494969      979965   fd  Linux raid autodetect
/dev/sde3        21494970  2930272064  1454388547+   5  Extended
/dev/sde5        21495033   987499484   483002226   fd  Linux raid autodetect
/dev/sde6       987499548  1953520064   483010258+  fd  Linux raid autodetect
/dev/sde7      1953520128  2930272064   488375968+  83  Linux

fdsik/dev/sdf:

Disk /dev/sdf: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3743db4a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1              63    19535039     9767488+  fd  Linux raid autodetect
/dev/sdf2        19535040    21494969      979965   fd  Linux raid autodetect
/dev/sdf3        21494970  1953520064   966012547+   5  Extended
/dev/sdf5        21495033   987499484   483002226   fd  Linux raid autodetect
/dev/sdf6       987499548  1953520064   483010258+  fd  Linux raid autodetect

/ dev/sda est un disque auxiliaire, qui n’est utilisé pour rien en particulier.

Sudo mdadm --examine/dev/sdb5

 /dev/sdb5:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 2a8fd2df:3ad53552:e8b80ecf:a46d93a2
           Name : pieciodysk:6
  Creation Time : Sun Sep 12 19:36:21 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966004180 (460.63 GiB 494.59 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 64b1c028:14da81bd:06bfb40b:c30ff7d6

    Update Time : Tue Sep 11 17:05:27 2012
       Checksum : e4b0a0dd - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sdc5

 /dev/sdc5:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 2a8fd2df:3ad53552:e8b80ecf:a46d93a2
           Name : pieciodysk:6
  Creation Time : Sun Sep 12 19:36:21 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966004180 (460.63 GiB 494.59 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 6b8374d4:4a4f71a1:23f7fa5c:7a7953c1

    Update Time : Tue Sep 11 17:05:27 2012
       Checksum : aff689f7 - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sdd5

 /dev/sdd5:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 2a8fd2df:3ad53552:e8b80ecf:a46d93a2
           Name : pieciodysk:6
  Creation Time : Sun Sep 12 19:36:21 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966004180 (460.63 GiB 494.59 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 017925d6:8db5b2ca:8795d93e:c0205358

    Update Time : Tue Sep 11 17:05:27 2012
       Checksum : 53c72b78 - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sde5

 /dev/sde5:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 2a8fd2df:3ad53552:e8b80ecf:a46d93a2
           Name : pieciodysk:6
  Creation Time : Sun Sep 12 19:36:21 2010
     Raid Level : raid6
   Raid Devices : 5

 Avail Dev Size : 966004180 (460.63 GiB 494.59 GB)
     Array Size : 2898012288 (1381.88 GiB 1483.78 GB)
  Used Dev Size : 966004096 (460.63 GiB 494.59 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : a9a93188:1c1ae289:b56398c7:6be226cb

 Internal Bitmap : 2 sectors from superblock
    Update Time : Mon Sep 10 08:31:33 2012
       Checksum : c0a8031a - correct
         Events : 80390

         Layout : left-symmetric
     Chunk Size : 64K

   Device Role : Active device 3
   Array State : AAAAA ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sdf5

 /dev/sdf5:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 2a8fd2df:3ad53552:e8b80ecf:a46d93a2
           Name : pieciodysk:6
  Creation Time : Sun Sep 12 19:36:21 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966004180 (460.63 GiB 494.59 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : d7b87b43:298cdd3d:3f900370:198f3f48

    Update Time : Tue Sep 11 17:05:27 2012
       Checksum : 555eaafb - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sdb6

 /dev/sdb6:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a3945c40:73237cd6:3d61998e:8f773d03
           Name : pieciodysk:5
  Creation Time : Sun Sep 12 19:36:39 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966020245 (460.63 GiB 494.60 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : a61e9d6f:35b53cb1:96105de8:60991128

    Update Time : Tue Sep 11 17:05:26 2012
       Checksum : 8aa72e70 - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sdc6

 /dev/sdc6:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a3945c40:73237cd6:3d61998e:8f773d03
           Name : pieciodysk:5
  Creation Time : Sun Sep 12 19:36:39 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966020245 (460.63 GiB 494.60 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 2006abf7:13538568:e5cf2d58:2961a894

    Update Time : Tue Sep 11 17:05:26 2012
       Checksum : a6653ae8 - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sdd6

 /dev/sdd6:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a3945c40:73237cd6:3d61998e:8f773d03
           Name : pieciodysk:5
  Creation Time : Sun Sep 12 19:36:39 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966020245 (460.63 GiB 494.60 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 1cf3988f:5259d109:9a8cd419:db31b135

    Update Time : Tue Sep 11 17:05:26 2012
       Checksum : 424ebb86 - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sde6

 /dev/sde6:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : a3945c40:73237cd6:3d61998e:8f773d03
           Name : pieciodysk:5
  Creation Time : Sun Sep 12 19:36:39 2010
     Raid Level : raid5
   Raid Devices : 5

 Avail Dev Size : 966020245 (460.63 GiB 494.60 GB)
     Array Size : 3864080896 (1842.54 GiB 1978.41 GB)
  Used Dev Size : 966020224 (460.63 GiB 494.60 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : a496841f:489b48dc:e330989a:5991ff4f

 Internal Bitmap : 2 sectors from superblock
    Update Time : Mon Sep 10 08:31:33 2012
       Checksum : 3fd62187 - correct
         Events : 66542

         Layout : left-symmetric
     Chunk Size : 64K

   Device Role : Active device 3
   Array State : AAAAA ('A' == active, '.' == missing)

Sudo mdadm --examine/dev/sdf6

 /dev/sdf6:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a3945c40:73237cd6:3d61998e:8f773d03
           Name : pieciodysk:5
  Creation Time : Sun Sep 12 19:36:39 2010
     Raid Level : -unknown-
   Raid Devices : 0

 Avail Dev Size : 966020245 (460.63 GiB 494.60 GB)
    Data Offset : 272 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 36e0774e:6d6fbde9:d979fbe2:9d91b3ba

    Update Time : Tue Sep 11 17:05:26 2012
       Checksum : 2f430bc0 - correct
         Events : 1


   Device Role : spare
   Array State :  ('A' == active, '.' == missing)
3
Adam Ryczkowski

Le problème venait de la combinaison de deux événements:

  1. Le bogue connu dans le noyau utilisé par le programme d’installation Ubuntu, mini-cd, qui a effectivement effacé le superbloc des membres du raid (en excluant en fait un,/dev/sde. Je suppose que c’est à cause d’un problème d’Ubuntu 12.04 avec une condition de course au démarrage qui empêche certains disques doivent être visibles à mdadm - voir ce lien ).
  2. Un autre bogue dans le noyau utilisé par le noyau Ubuntu 12.04 (qui peut affecter d’autres), qui réinitialise effectivement les superblocs sur les membres du raid après la mise à niveau.

La solution:

  1. Récupère le bon ordre des membres du raid à partir de syslog pris dans le système quand il était en bonne santé (ou soyez prêt à permuter l'ordre dans l'étape suivante tant que le raid est restauré)
  2. Lancez mdadm -C /dev/md5 -e 1.2 -l 5 -n 5 /dev/sd{b,f,c,e,d}6 --assume-clean --uuid=a3945c40:73237cd6:3d61998e:8f773d03 et mdadm -C /dev/md6 -e 1.2 -l 6 -n 5 /dev/sd{b,f,c,e,d}5 --assume-clean --uuid=2a8fd2df:3ad53552:e8b80ecf:a46d93a2 en tant que racine à partir du Live CD Ubuntu 10.04 (pas plus récent). (Bien sûr, les noms des périphériques membres, les UUID, le nombre de périphériques RAID, etc. seront différents dans votre configuration.)
  3. Si le contenu des raids est valide - alors nous avons terminé. Plus besoin d'utiliser le 10.04 obsolète.

Pour plus d'informations, consultez cette question relative à l'erreur de serveur: Quels paramètres pour mdadm, pour recréer un périphérique md avec une charge utile commençant à la position 0x22000 sur le stockage de sauvegarde?

3
Adam Ryczkowski