Восстановление поврежденного раздела LVM

Кажется, я повредил мой основной раздел LVM [1], который содержит корневой раздел и раздел подкачки.

$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 223.6 GiB, 240057409536 bytes, 468862128 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
Disklabel type: dos
Disk identifier: 0x00025e8d

Device     Boot    Start       End   Sectors  Size Id Type
/dev/sdb1  *        2048   2099199   2097152    1G 83 Linux
/dev/sdb2       39051264 468862127 429810864  205G  5 Extended
/dev/sdb5       39053312 468860927 429807616  205G 8e Linux LVM

gparted говорит это о /dev/sdb5:

Unable to detect file system! Possible reasons are:
- The file system is damaged
- The file system is unknown to GParted
- There is no file system available (unformatted)
- The device entry /dev/sdb5 is missing

Похоже, система вообще не может найти разделы LVM:

$ sudo vgchange -ay ubuntu-vg
  Volume group "ubuntu-vg" not found
  Cannot process volume group ubuntu-vg
$ sudo lvscan -av
    Using logical volume(s) on command line.
    No volume groups found.

Как я могу исправить /dev/sdb5?

В настоящее время я запускаю gpart в / dev / sdb, чтобы посмотреть, поможет ли это. fsck не работает:

$ sudo fsck /dev/sdb5
fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb5

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
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>
 or
    e2fsck -b 32768 <device>

Я полагаю, что исходная файловая система в / dev / sdb5 была "lvm2 pv", и у меня есть возможность отформатировать / dev / sdb5 так же, как через gparted, но прежде чем сделать что-то еще хуже, я решил спросить здесь.

[1]: я добавил дополнительное пространство к своему загрузочному разделу, когда получил это. Я следовал указаниям здесь, здесь и здесь. Это примерно тот порядок, в котором я делал вещи (насколько мне известно)

  • Я уменьшил ubuntu-vg/root на пару ГБ, чтобы освободить место
  • Я пытался pvmove Ubuntu-VG / Swap, но он пожаловался на нехватку места
  • Я уменьшил Ubuntu-VG / root еще немного
  • я p4moved ubuntu-vg / swap, чтобы перенести нераспределенное пространство в конец /dev/sdb2
  • Я использовал KDE Partition Manager для перемещения / dev / sdb5 в конец /dev/sdb2, так что нераспределенное пространство находится в начале /dev/sdb2
    • Я попытался заставить менеджер разделов KDE затем сжать /dev/sdb2, чтобы освободить нераспределенное пространство для /dev/sdb1, но в этой операции произошла ошибка. Я открыл gparted, и он сказал мне, чтобы перезагрузить, поэтому я сделал
  • Я открыл gparted, сжал /dev/sdb2 и вырос /dev/sdb1. Это когда я заметил, что произошла ошибка на / dev / sdb5

2 ответа

Я знаю, что это старый способ, но он все еще получает много просмотров, поэтому я решил опубликовать полезный ответ:

Эту проблему сложнее всего решить, поскольку корневой диск является частью lvm, и поэтому у вас нет резервных конфигураций lvm, которые можно было бы использовать для восстановления.

Похоже, вам удалось загрузить рабочую версию Ubuntu. Поэтому я бы посоветовал вам установить testdisk.

testdisk может искать и восстанавливать разделы. Если такая ситуация случилась с вами, не перемещайте разделы и ничего не делайте с диском, если в этом нет необходимости. Таблица разделов является индексом. Если вы потеряете таблицу разделов, ее можно «довольно легко» восстановить, однако если вы переместите разделы и/или скопируете данные на диск, ваши данные могут быть переопределены, поскольку контроллер для ваш диск не знает, что в секторах уже хранятся данные. Если ваши данные будут переопределены, вы не сможете восстановить свои данные, это невозможно.

testdisk можно установить через apt. Документацию по использованию testdisk можно найти по адресу https://www.cgsecurity.org/testdisk.pdf. Документация также включает ряд полезных советов по восстановлению различных типов файловых систем.

Это немного устарело, но позвольте мне отдать свои пять центов. У меня несколько раз были повреждены логические тома, и теперь я снова в центре этого. Я не знаю, почему это происходит, но я предполагаю, что это происходит, когда я делаю резервную копию, которая создает временный моментальный том для сохранения целостности данных во время процесса резервного копирования, и сценарий резервного копирования дает сбой из-за некоторых (я поднимаю свой рука) ошибка. Это оставляет моментальный том висящим в пространстве LVM, и я предполагаю, что повреждается логический том, который я резервировал.

К счастью, за эти годы я научился делать резервные копии ежедневно, поэтому у меня всегда есть свежая резервная копия. Вопрос в том, когда произошло повреждение, так как система по-прежнему будет работать нормально, с небольшими сбоями здесь и там, поскольку повреждение усугубляется до тех пор, пока операционная система не сможет даже загрузиться, что может занять от нескольких дней до более недели (возможно). ?).

Я вижу, что в пакете LVM есть инструмент lvmreport, но я им не пользовался. Я должен изучить это и, возможно, сделать это частью моей стандартной процедуры резервного копирования.

Кроме того, к счастью, за эти годы я научился устанавливать несколько версий Linux на каждый из нескольких жестких дисков в моей системе, поэтому, если один или весь диск выйдет из строя, я могу загрузиться с другого, а затем попытаться восстановить глючную установку. Если у вас его нет, вы всегда можете загрузиться с live CD, DVD или флешки.

Как я уже сказал, сначала я не знал, что проблема в lvm, поэтому я выполню восстановление, предпочтительно используя файл образа (я использую fsarchiver для своих резервных копий образа), но в качестве альтернативы использую резервную копию tar. Если восстановленная установка по-прежнему содержит ошибки, я знаю, что логический том поврежден, и мне нужно удалить логические тома и создать их заново. Возможно, мне также придется удалить группу томов и создать ее заново. Если в группе томов есть другие логические тома, может возникнуть вопрос, повреждены они или нет, и можно ли перенести данные на другой чистый том в другой группе или в физический раздел. ДЕЛАЙТЕ то, что считаете нужным.

Затем удалите группу томов, если это необходимо, или просто удалите логические тома, пересоздайте группу томов и/или логические тома, переустановите установку из резервной копии.

Вам также потребуется запустить chroot, чтобы обновить загрузочную папку для новых логических томов. Вы можете найти информацию об этом здесь, как восстановить загрузочную папку?

О, кстати, gparted не видит логические тома и не имеет никакого отношения к их созданию или реструктуризации. для этого вам нужен LVM или KVPM, которые, как я вижу, вы используете. Кроме того, рекомендуется (примите к сведению) оставлять неиспользуемое пространство на жестком диске, а также в физических томах и группах томов LVM, чтобы у вас было место для перемещения вещей, когда вы находитесь в такой ужасной ситуации.

Другие вопросы по тегам