Назад | Перейти на главную страницу

Xen lvm resize2fs: неверное магическое число в суперблоке

Прежде всего, я должен сказать, что просматривал множество сообщений, очень похожих на то, что у меня есть, но ни один не смог решить мою проблему ...

На моем сервере xen я использую 5 дисков lvm на виртуальную машину:

/boot
/
/home
/var
/swap

Я просто создаю диски с помощью lvcreate, добавляю их в файл конфигурации vm и создаю файл vm. Затем каждый раздел диска создается менеджером разделов при установке ОС (сервер Ubuntu 12.04).

Обычно изменение размера lvm-диска должно быть таким же простым, как lvextend.

lvextend -L +100MB /dev/vm-disks/testes-home
Extending logical volume testes-home to 524.00 MiB
Logical volume testes-home successfully resized

Далее следует resize2fs, но выдает ошибку ...

resize2fs /dev/vm-disks/testes-home 
resize2fs 1.42 (29-Nov-2011)
resize2fs: Bad magic number in super-block while trying to open /dev/vm-disks/testes-home
Couldn't find valid filesystem superblock.

Любопытно, что установка для тома lvm также не работает обычным образом:

mount /dev/vm-disks/testes-home /root/mount/
mount: you must specify the filesystem type

Можно было подумать, что существует более одного раздела, но запуск kpartx дает только один ...

kpartx -av /dev/vm-disks/testes-home
add map vm--disks-testes--home1 (252:36): 0 1044480 linear /dev/vm-disks/testes-home 2048

... и установка этого работает нормально ...

mount /dev/mapper/vm--disks-testes--home1 /root/mount/

e2fsck тоже жалуется ...

e2fsck -f /dev/vm-disks/testes-home 
e2fsck 1.42 (29-Nov-2011)
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/vm-disks/testes-home

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Почему все это? Это должно быть очень просто ...

fdisk -l /dev/vm-disks/testes-home 

Disk /dev/vm-disks/testes-home: 549 MB, 549453824 bytes
37 heads, 35 sectors/track, 828 cylinders, total 1073152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 1572864 bytes
Disk identifier: 0x000d462a

                Device Boot      Start         End      Blocks   Id  System
/dev/vm-disks/testes-home1            2048     1046527      522240   83  Linux

Любые идеи? :)

Проблема в том, что вы пытаетесь запустить resize2fs инструмент для всего логического тома, который содержит таблицу разделов и раздел внутри тома.

Сначала вы должны изменить размер таблицы разделов, запустив fdisk на логическом томе.

Тогда вам нужно использовать kpartx чтобы создать сопоставление раздела внутри тома с устройством, как вы уже делали перед монтированием, а затем запустите resize2fs на фактическом разделе.

Итак, вкратце, разверните раздел, запустите:

resize2fs /dev/vm--disks--testes--home1

вместо того:

resize2fs /dev/vm-disks-testes