Как уменьшить или уменьшить размер диска виртуальной машины KVM?
Я выделил виртуальный диск объемом 500 ГБ (хранится в /var/lib/libvirt/images/vm1.img) и обнаружил, что это избыточное количество ресурсов, поэтому теперь я хотел бы освободить часть этого пространства для использования с другими виртуальными машины. Кажется, есть много ответов о том, как увеличить хранилище изображений, но не уменьшить его. Я нашел инструмент virt-resize , но кажется, что он работает только с необработанными разделами диска, а не с образами дисков.
Изменить: я использую LVM с отформатированным разделом Ext4.
Изменить: GParted скриншот, показывающий мой макет раздел LVM. Мне нужно сделать гораздо больше, чем просто изменить размер файловой системы. Я не знаю ни одного безопасного способа изменить размер LVM. И, пожалуйста, не говорите мне, чтобы использовать pvresize
. Несмотря на название, он не поддерживает изменение размера LVM.
Я пытался sudo pvresize /dev/vda5
, но он просто говорит, physical volume "/dev/vda5" changed
но на самом деле не уменьшает размер.
Я попытался parted
вручную установить размер раздела (очень опасно), но при этом print all
просто выдает ошибку «/ dev / sr0 нераспознанная метка диска».
Редактировать: следуя этим инструкциям , я смог успешно сжать как логические, так и физические тома (хотя я должен был не забыть активировать и деактивировать lvm до и после определенных команд, которые в инструкциях пропущены.
Теперь GParted показывает 250G нераспределенного свободного пространства. Как мне удалить это из образа диска KVM и вернуть его базовому гипервизору?
qemu-img -O qcow2 vm1.img vm1-compact.qcow2
.Ответы:
Спасибо тем, кто написал, но ваши ответы были слишком расплывчаты, чтобы помочь вам.
После нескольких часов поиска в Google я, наконец, нашел руководство ( ссылка отредактирована ), в котором приведены пошаговые инструкции о том, как сжать мою файловую систему, логические тома и физические тома. Уловка, которую пропускает большинство руководств, заключается в необходимости фактически удалить физические разделы и воссоздать их с правильным размером, потому что parted не может изменить размер разделов lvm.
Затем я нашел эту документацию на qemu-img, которая объясняет, как сжать образ виртуального диска в необработанном формате, выполнив:
источник
qemu-img convert -f qcow2 -O raw image.qcow2 image.img
а затем вы можете запустить приведенную выше команду.Что тебе необходимо сделать,
Это может быть выполнено через графический интерфейс и CLI
Ресурсы
инструменты
источник
Это сработало очень хорошо для меня. Он сжимает и сжимает 0 блоков в образе диска. Изображение будет расширяться со временем, так как оно перезаписано снова.
источник
Я рекомендую, прежде чем делать что-либо из этого, вы берете полную копию образа диска, как он есть, затем, когда он сломается, вы можете просто скопировать его обратно, чтобы начать все сначала.
Вам нужно сделать 3 вещи:
1) Увеличьте размер диска. В вашем хосте:
qemu-img resize foo.qcow2 + 32G
Теперь ваш гость может видеть больший диск, но все еще имеет старые разделы и файловые системы.
2) Увеличьте размер раздела внутри образа диска. Для этого вам нужно загрузиться с LiveCD в вашем госте, поскольку вы не сможете связываться с подключенным разделом. Это довольно сложная и, возможно, самая опасная часть. Копировать здесь довольно много, поэтому я просто покажу ссылку. Вы хотите сделать что-то вроде этого:
http://www.howtoforge.com/linux_resizing_ext3_partitions_p2
ИЛИ 2b) создание нового раздела будет проще (и безопаснее), если вы просто хотите больше места для хранения. Используйте fdisk или cfdisk, или все, что вам удобно - вы должны увидеть целую кучу нераспределенного пространства на вашем гостевом диске.
3) Наконец, если вы изменили размер существующего раздела, сделайте файловую систему внутри нового большего раздела больше (это на самом деле в руководстве, связанном выше). Внутри вашего гостя:
источник