Увеличить объем диска ext4 виртуальной машины Linux без потери данных на базе Hyper-V и KVM
В роли Hyper-V используется Windows 2012R2.
В роли KVM используется Ubuntu 14.04.1 и старше.
В роли Виртуальной машины используется Ubuntu 16.04.1.
1. Первым делом выключаем виртуальную машину и обязательно делаем копию образа, который будем увеличивать. На случай если, что то пойдет не так.
Сделать это можно обычным копированием, если места мало можно копируемый образ сжать.
a. В системе Linux это делается так
I. dd if=/img/образ-расширяемого-диска.qcow2 bs=8M conv=sync,noerror | gzip -c > /backup/img/образ-расширяемого-диска.qcow2-$(date "+%F").gz
Данная команда выполняет по секторное копирование образа с текущей датой одновременно сжимая образ утилитой gzip
split -b 9000m /backup/img/образ-расширяемого-диска.qcow2-$(date "+%F").gz /backup/img/образ-расширяемого-диска.qcow2-$(date "+%F").gz.part
Split выполняет разбиение архива на несколько частей размером 9 GB (эту команду выполнять не обязательно. Она полезна, когда вам нужно перемести копию в другое место)
II. Или создать слепок диска
qemu-img snapshot -c <имя слепка> <образ виртуальной машины>
b. В системе Windows все достаточно просто
Открываем Диспетчер Hyper-V
I. Выбираем нужную виртуальную машину, нажимаем правой кнопкой мыши и выбираем пункт Контрольная точка (делается слепок виртуальной машины целиком)
II. Так же можно скопировать образ расширяемого диска в проводнике.
2. После того как сделали копию, приступаем к увеличению
a. В системе Linux используем команду qemu-img
qemu-img resize /img/образ-расширяемого-диска.qcow2 +20G (т.е. увеличить объем на 20Gb)
b. В системе Windows в меню справа выбираем изменить диск
I. Выбираем нужный нам образ.
II. В следующем меню выбираем пункт Развернуть.
III. На следующем этапе указываем полный размер образа (в Linux указывается на сколько увеличить, а в Windows указывается полный объем диска).
IV. Нажимаем Готово.
3. Во избежания каких либо проблем, лучше запустить систему с помощью LiveCD (в некоторых случаях, когда система загружается, запускаются процессы использующие диск, если диск не смонтирован, в том месте где он был ранее смонтирован создадутся новые файлы и вам придется потом их объединять)
После того как загрузится система, выполняем команду
parted /dev/sdb (sdb диск который мы увеличиваем)
в консоле parted выводим командой print на экран наши разделы диска
Размер диска увеличился на 10GB (Диск /dev/sdb: 75.2GB)
Раздел ранее размеченного диска занимает 64.0GB primary ext4
вводим команду
resizepart 1 (1 - раздел который мы увеличиваем)
На вопрос где конец разделе указываем 75.2GB и нажимаем enter
Еще раз вводим команду print, чтобы убедится, что наш раздел увеличился
Если все в порядке нажимаем q и enter для выхода из parted
4. Запускаем утилиту e2fsck -f /dev/sdb1
5. Дальше нужно выполнить команду resize2fs /dev/sdb1 (без этого пункта система будет выдавать старую информацию о разделе)
6. Желательно после разметки проверить диск на ошибки
fsck.ext4 /dev/sdb1
7. Завершаем работу систему LiveCD
8. Подключаем образ к виртуальной машине и запускаем.
0 комментариев