Рейтинг:0

Восстановление вложенного PV

флаг us

На моем хосте Proxmox 6.4 у меня был тонкий пул LVM размером 250 ГБ. Я создал на ней виртуальную машину Ubuntu (которая также использовала LVM для корневого раздела), но случайно переподписал ее, поэтому PV внутри виртуальной машины был установлен на 500 ГБ.

Некоторое время все работало отлично, пока я не превысил скрытый лимит в 250 ГБ, и виртуальная машина рухнула с ошибкой ввода-вывода и отказалась загружаться. Так что теперь я пытаюсь восстановить диск. Таблица разделов диска выглядит неповрежденной:

$ fdisk -l /dev/VM-диски/VM-101-диск-0
Диск /dev/vm-disks/vm-101-disk-0: 500 ГиБ, 536870912000 байт, 1048576000 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 65536 байт / 65536 байт
Тип метки диска: gpt
Идентификатор диска: 30874BBC-0B29-4083-B5BF-E973C665D87F

Размер начальных и конечных секторов устройства Тип
/dev/vm-disks/vm-101-disk-0p1 2048 4095 2048 1M Загрузка BIOS
/dev/vm-disks/vm-101-disk-0p2 4096 2101247 2097152 1G файловая система Linux
/dev/vm-disks/vm-101-disk-0p3 2101248 1048573951 1046472704 Файловая система Linux 499G

я бежал

$ kpartx -a /dev/VM-диски/VM-101-диск-0

создавать /dev/маппер записи для 3 разделов внутри вм-101-диск-0, и это работает. Если я бегу:

$ файл -sL /dev/mapper/vm--disks-vm--101--disk--0p3
/dev/mapper/vm--disks-vm--101--disk--0p3: LVM2 PV (диспетчер логических томов Linux), UUID: fdOzWR-sPcy-hyYo-Lj2H-YEnZ-wK3c-J6biES, размер: 535794024448

Затем я вижу этот PV внутри 3-го раздела диска. Но как я могу смонтировать это где-нибудь на хосте, чтобы начать восстанавливать данные? Очевидно pvscan из хост-системы не видит его, так как он находится внутри другого LV. Есть ли у меня вообще какие-либо варианты восстановления, или тот факт, что виртуальная машина думала, что у нее 500 ГБ, хотя на самом деле это не означало, что я повредил ее без возможности восстановления?

флаг in
Загрузите виртуальную машину с образа компакт-диска восстановления.
Nikita Kipriyanov avatar
флаг za
Сначала вы должны восстановить работу Thin LVM на хосте, то есть увеличить тонкий пул с помощью простого lvextend. Только когда этот шаг выполнен и у вас есть свободное место в тонком пуле, вы можете приступить к восстановлению виртуальной машины, что не должно быть очень сложно, просто загрузите виртуальную машину в режим восстановления и запустите соответствующий fsck. Повторяю еще раз, не пытайтесь продолжить, пока ваш тонкий lvm на хосте не будет исправлен!
флаг eg
Просто запустите `vgchange -ay`, чтобы активировать тома... хост должен их нормально видеть.
флаг us
Спасибо большое, @NikitaKipriyanov! Вы действительно спасли мой день :) Вы хотели преобразовать свой комментарий в ответ, чтобы я мог его принять, а вы могли получить репутацию? Если нет, я просто напишу шаги, которые я предпринял, как самостоятельный ответ.
Рейтинг:2
флаг za

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

В случае виртуальных машин у вас нет сломанного оборудования, вы можете «починить» «жесткий диск», восстановив работу тонкого тома. Просто увеличьте тонкий бассейн, используйте lvextend на тонком пуле LV, чтобы добавить немного места.

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


Следите за тонким LVM. Хотя исчерпание пространства данных не является такой большой проблемой, метаданные истощение может иметь гораздо большее влияние. Не позволяйте этому случиться.

Ответить или комментировать

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