Добрый день, уважаемые
Дело было вечером в четверг и один из наших админов, должен был сделать изменение размера диска на одной из виртуалок KVM. Казалось бы совсем тривиальная задача, но она может привести к потере данных вообще… И так… вся история уже под катом
Как я уже сказал — вечером в четверг (дождика вроде как не было) один из наших админов решили выполнить давно поставленную задачу и увиличить размер ФС внутри виртуалки KVM.
Предварительно я уже увеличил размер самого диска с 14 ГБ до 60ГБ и админу нужно было просто уже увеличить размер ФС внутри виртуальной машины.
Примерно в 12 ночи админ присылает сообщение — где спрашивает, должен ли быть раздел extented или primary… В ответ я ему написал, что нужно сделать так, как было до этого на самой виртуалки.
Время шло… и админ скидывает, что у него посыпались ошибки, что расширить раздел не получается… и он перестал монтироваться… на часах уже 2 ночи…
Я ему написал, чтобы он ничего уже не делал и оставил виртуальку в покое и сам пошел делать копию образа диска VM — назвав vmname_bad
Все еще усложнялось тем, что админ — не сделал snapshot и не скопировал разметку до своих действий… Имея эту информацию можно было бы откатиться назад и пробовать еще раз.
На утро, со свежими мыслями поднимаю виртуалку с такой же ОС (Debian 9) и подключаю диск. через fdisk я вижу этот диск уже расширенный до 60GB и партицию… которая собственно немного битая.
Пытаюсь по скриншотам, что предоставил админ — найти предыдущую разметку, но увы тщетно. Пытаюсь через fdisk подобрать значения, но увы все попытки failed.
Раз fdisk мне не может помочь… призываю на помощь parted. Загрузим parted — я удаляю старую партицию rm 2 и зная примерные значения разбивки делаю rescue — указываю начальное значение и конечное значение, где может быть пратиция. Минутное ожидание и parted находит партицию и предлагает внести о ней информацию в систему — Я согласился и вышел из parted.
Монтирую раздел — все ОК. Файлы на месте все хорошо, но размер еще старый 14GB. Размонтировал /dev/sdd1 и делаю resize2fs /dev/sdd1, затем e2fsck /dev/sdd1 и монтирую вновь и вижу уже расширенный раздел со всеми файлами и вполне себе живой.
Все закончилось хорошо и для меня и для админа.
Источник: habr.com