
У меня есть виртуальная машина VMware ESXi под управлением Ubuntu 18.04 с настроенными разделами LVM. Я пытался расширить один из логических томов, смонтированных как /, но по ошибке и глупости удалил раздел LVM с помощью cfdisk (раздел был отформатирован как ext4). Вот что я сделал, что вызвало проблему:
- Увеличен размер диска ВМ в vSphere ESXi
- Выполнено повторное сканирование на устройстве SCSI, чтобы оно распознало изменение размера диска без перезагрузки.
- Подтвердите новый диск disk с помощью fdisk -l
- По глупости удалил раздел LVM (sda2) с помощью cfdisk и создал его заново с новым размером (на самом деле не помню, изменил ли я тип нового раздела на LVM или нет)
- Попытался увеличить размер PV с помощью pvresize /dev/sda2. Попытался запустить partprobe, чтобы проверить, почему размер PV не был изменен, и получил сообщение о том, что раздел используется системой.
- Выполнил перезагрузку, но ОС не загрузилась, так как не смогла смонтировать разделы. Вот тут-то и началась проблема. Что я пробовал:
- Я загрузил систему с помощью загрузочного диска GParted, восстановил разделы LVM с помощью pvcreate с тем же UUID и vgcfgrestore (я восстановил старые резервные копии lvm с помощью инструмента testdisk), но безуспешно, так как том, содержащий корневой раздел, не поддавался монтированию (неизвестная файловая система).
- Я попытался запустить testdisk, чтобы восстановить важные каталоги и файлы, но некоторые восстановленные файлы (я проверил некоторые текстовые файлы, например, файлы конфигурации и php) имеют перемешанное содержимое.
решение1
Решение было простым, но мне потребовалось время, чтобы его понять:
- Запустил testdisk /dev/sda (весь диск)
- Провел быстрый поиск и нашел два раздела (один раздел ext2 /boot размером 500 МБ и один раздел LVM2 размером 60 ГБ)
- Записал найденную таблицу разделов на диск
- Выполнил pvscan, vgscan и vgchange -ay (обнаружил ошибку, указывающую на то, что размер VG больше, чем PV, поэтому lvs показывает корневой lv с флагом приостановки).
- Расширен /dev/sda2 (раздел LVM) для использования оставшегося свободного места на диске с помощью cfdisk
- Снова выполнил vgchange -ay one и вуаля — система смогла нормально перезагрузиться.