На моем хосте 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 ГБ, хотя на самом деле это не означало, что я повредил ее без возможности восстановления?