Изменение размера образа виртуальной машины
У некоторых образов KVM недостаточно места. В таких случаях предпочтительнее увеличить размер ВМ, чем просто удалить образ и пересоздать его с нуля. Ниже приведены шаги, которые были выполнены для увеличения размера ВМ Red Hat 5 x86, и их можно легко адаптировать к другим ВМ, если им потребуется аналогичное изменение в будущем.
- Сделайте копию ВМ для работы (мы не хотим изменять оригинал):
cp -avi vm-rhel5-x86-build.qcow2 vm-rhel5-x86-build-new.qcow2
- Используя команду
qemu-img, измените размер образа:
qemu-img info vm-rhel5-x86-build-new.qcow2 qemu-img resize vm-rhel5-x86-build-new.qcow2 +10G qemu-img info vm-rhel5-x86-build-new.qcow2 rsync -avP vm-rhel5-x86-build-new.qcow2 terrier:/kvm/vms/
Не все версии qemu-img могут изменять размер ВМ.
- Запустите недавно измененный образ с помощью gparted:
vm=vm-rhel5-x86-build-new.qcow2
kvm -m 2048 -hda /kvm/vms/${vm} -cdrom /kvm/iso/gparted-live-0.14.1-6-i486.iso -boot d -smp 2 -cpu qemu64 -net nic,model=virtio -net user,hostfwd=tcp:127.0.0.1:22666-:22
- Подключитесь к ВМ с помощью VNC с вашего локального компьютера:
vncviewer -via <vmhost> localhost
В процессе загрузки вам придется повторно подключиться
- Используйте gparted для расширения существующего раздела или, особенно на ВМ с LVM, добавьте новый раздел (поскольку GParted не может изменять разделы LVM). Выйдите, когда закончите, и выключите ВМ.
- Запустите ВМ снова, на этот раз без сервера VNC:
kvm -m 2048 -hda /kvm/vms/${vm} -boot c -smp 2 -cpu qemu64 -net nic,model=virtio -net user,hostfwd=tcp:127.0.0.1:22666-:22 -nographic
- войдите в ВМ:
ssh -t -p 22666 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ~/.ssh/buildbot.id_dsa buildbot@localhost
- если расширен существующий раздел: проверьте новый размер
- иначе, если вы создали новый раздел:
- подмонтируйте новый раздел к временной папке
sudo mount /dev/hda3 /mnt
- синхронизируйте содержимое /home/ с новым разделом
sudo rsync -avP /home/ /mnt/
- отредактируйте fstab для монтирования нового раздела в /home
sudo vi /etc/fstab
- переименуйте
/homeв/home-old, создайте папку/home, и подмонтируйте/homesudo mv -vi /home /home-old;sudo mkdir -v /home;sudo mount /home
- (необязательно) отмонтируйте
/mntsudo umount /mnt
- перезагрузите и проверьте, все ли в порядке
sudo /sbin/shutdown -h now
- если все в порядке (новый диск смонтирован нормально, учетные записи работают и т. д.), удалите
/home-old
- подмонтируйте новый раздел к временной папке
- Переместите старую ВМ в
-old, а новую ВМ - в то имя, которое раньше использовала старая ВМ
sudo mv -vi /kvm/vms/vm-rhel5-x86-build.qcow2 vm-rhel5-x86-build-old.qcow2; sudo mv -vi /kvm/vms/vm-rhel5-x86-build-new.qcow2 /kvm/vms/vm-rhel5-x86-build.qcow2
- на других хостах ВМ сделайте копию старого файла, а затем синхронизируйте обновленные файлы (копия помогает ускорить rsync):
sudo cp -avi /kvm/vms/vm-rhel5-x86-build.qcow2 /kvm/vms/vm-rhel5-x86-build-old.qcow2 sudo rsync -avP terrier.askmonty.org::kvm/vms/vm-rhel5-x86-build* /kvm/vms/
- Протестируйте новую ВМ с помощью сборки, чтобы убедиться, что она работает
Содержание, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется предварительно MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/resizing-a-virtual-machine-image/