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

Раздел логического тома LVM поврежден после lvreduce

Я сталкиваюсь с проблемой, когда пытаюсь сжать один логический том. Я предпринял действия, как показано ниже:

# unmount /home
# lvreduce --size -100G /dev/vg_dev/lv_home 
# lvdisplay /dev/vg_dev/lv_home 

--- Logical volume ---
LV Path                /dev/vg_dev/lv_home
LV Name                lv_home
VG Name                vg_dev
LV UUID                QOxrP3-nS36-nZTG-yL7e-sDi0-Wl9z-LXp4pJ
LV Write Access        read/write
LV Creation host, time , 
LV Status              available
# open                 1
LV Size                197.98 GiB
Current LE             50683
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:4

# e2fsck -f /dev/vg_dev/lv_home

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<y>?

# resize2fs /dev/vg_dev/lv_home

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

Я вообще не могу смонтировать логический том, может ли кто-нибудь помочь мне решить эту проблему?

Похоже, вы пытались изменить размер тома и файловой системы в неправильном порядке.

когда сокращение, вы должны выполнять действия в таком порядке

  1. Измените размер файловой системы
  2. Изменить размер логического тома

когда растущий, вы должны выполнять действия в таком порядке

  1. Изменить размер логического тома
  2. Измените размер файловой системы

Для вашего вопроса

Первым делом я бы клонировал весь диск, используя dd на запасной диск и работайте над этим для восстановления.

Если вам повезло, и вы не использовали ни один из доступных экстентов LV и, таким образом, блоки на диске не изменились, вы можете изменить размер LV до того, что было раньше, а затем попробуйте fsck в файловой системе. Если fsck проходит, вы можете изменить размер файловой системы.

Если вы по-прежнему получаете сообщение об ошибке fsck вы могли нанести непоправимый ущерб.

NB

lvresize теперь поддерживает изменение размера файловой системы при передаче дополнительного аргумента -r|--resizefs что снижает необходимость изменения размера в определенном порядке и резко снижает вероятность ошибки.

Я изменил размер логического диска, /dev/mapper и я получил ошибку:

Возможно, поврежден суперблок или таблица разделов!

Решение заключалось в том, чтобы сделать этот порядок с поврежденным разделом:

[root@localhost]# mke2fs /dev/mapper/VolGroup-lv_home && fsck /dev/mapper/VolGroup-lv_home

и это все.

источник: Размер суперблока отличается от физического размера раздела

Одно из возможных решений - расширить файловую систему на 100 ГБ, но при этом возможна потеря данных. Сделайте резервную копию желаемой файловой системы.

# lvextend -L +100G /dev/vg_dev/lv_home 
# resize2fs /dev/vg_dev/lv_home 

Затем вы можете смонтировать файловую систему.

Надеюсь, это решит вашу проблему.

Очевидно, поврежден только суперблок файловой системы. Чтобы решить эту проблему, выполните следующие команды, если это файловая система ext2 / 3:

mke2fs -S / dev / XXX && fsck / dev / XXX

/ dev / XXX необходимо заменить на соответствующее устройство. Для других ФС предполагается использование соответствующих команд mkfs. С опцией «-S» будут повторно инициализированы только суперблок и дескрипторы группы. Команда "fsck" сразу после первой запускается, чтобы исправить / настроить дескрипторы группы.