Superblock corrompu sur une partition LVM EXT4

Un superblock est un block particulièr  d’un système de fichier qui contient les métadonnées de celui-ci ( taille, type du FS, inodes, ..). Ces métadonnées permettent d’exploiter le système de fichier à savoir le monter puis de stocker des données.
Selon le type du FS choisi, le superblock est  dupliqué dans plusieurs endroit du FS, qui permet de le restaurer en cas problème.
Dans le cas ci-dessous, le superblock d’une partion LVM est corrumpu suite à la réduction de sa taille. Par conséquent, il est impossible de monter le FS, et impossible d’exploité les données. Dans le cas d’une partition de boot, la machine ne pourra pas démarré.

[pastacode lang=”bash” message=”” highlight=”” provider=”manual”]

# unmount /test

# resize2fs /dev/root_vg/test

resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/vg_dev/lv_home' first.

# e2fsck -f /dev/root_vg/test

e2fsck 1.41.12 (17-May-2010)
The filesystem size (according to the superblock) is 78113792 blocks
The physical size of the device is 51899392 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort?

[/pastacode]

Solution

Restaurer le superblock en utilisant les backup.

  • Répérer où sont stockés les sauvegardes : dumpe2fs ou mke2fs -n

[pastacode lang=”bash” message=”” highlight=”” provider=”manual”]

# dumpe2fs /dev/root_vg/test|grep superblock
dumpe2fs 1.41.12 (17-May-2010)
  Primary superblock at 0, Group descriptors at 1-1
  Backup superblock at 32768, Group descriptors at 32769-32769
  Backup superblock at 98304, Group descriptors at 98305-98305
  Backup superblock at 163840, Group descriptors at 163841-163841
  Backup superblock at 229376, Group descriptors at 229377-229377
  Backup superblock at 294912, Group descriptors at 294913-294913
  Backup superblock at 819200, Group descriptors at 819201-819201
  Backup superblock at 884736, Group descriptors at 884737-884737

# mke2fs -n /dev/root_vg/test
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

[/pastacode]

  • Restaurer en utilisant un de ces backup

[pastacode lang=”bash” message=”” highlight=”” provider=”manual”]

fsck -b 32768 /dev/root_vg/test

[/pastacode]

NB: il est tout à fait possible d’utiliser les autres block si ça ne marche pas.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *