Мы оцениваем KVM для виртуализации Linux в нескольких проектах. Пока все идет хорошо. Но одним из наших требований является возможность добавления дискового пространства работающему гостю без перезагрузки или перевода его в автономный режим. Это возможно с KVM?
Единственное, что я обнаружил до сих пор (но еще не тестировал), - это возможность горячего подключения дисков к машине. Если я пойду по этому пути, то всегда смогу добавить новый диск в группу томов LVM на гостевой, а затем расширить выбранный логический том. Самым большим недостатком этого подхода является то, что со временем у нас могут появиться гости с переменным количеством виртуальных дисков. «Реальное» дисковое пространство будет предоставлено хосту через SAN, поэтому мы всегда можем добавить больше места хосту.
Ответы:
Я думаю, что вы застряли, делая то, что вы упомянули, если вы хотите сделать это, не останавливая машину.
Почему бы просто не дать виртуальным машинам LUN прямо из SAN и управлять этим пространством? Это работает лучше, если вы все равно хотите использовать такие функции, как живая миграция.
KVM основан на QEMU, поэтому вся поддержка форматов изображений происходит из этого проекта. Вот хороший способ изменения размера различных форматов, которые поддерживает Qemu / KVM. Но форум Qemu был бы хорошим местом для того, чтобы задать этот вопрос, если вы не получили здесь четких ответов.
Другим вариантом, который может быть не идеальным, является использование действительно большого qcow2 или другого разреженного формата изображения для накопителей. Таким образом, вы можете предоставить каждой машине небольшой диск для ОС и большой разреженный образ для данных в LVM. Это, по крайней мере, сохранит количество виртуальных дисков / образов, которыми вы будете управлять. Но такая тонкая подготовка может стать проблемой, если вы сделаете это с 1000 машинами, и все займут вас на свободном пространстве, которое они видят.
XEN Я считаю, что имеет те же ограничения в настоящее время.
источник
Я знаю, что это старый вопрос, но я нашел его, пытаясь найти решение, и надеюсь, что он может помочь кому-то еще.
На сегодняшний день это является возможным , чтобы изменить размер жесткого диска на компьютере. Я нашел рабочий путь здесь:
https://bugzilla.redhat.com/show_bug.cgi?id=648594
Следующие шаги должны быть выполнены:
Найдите имя файла и имя устройства KVM жесткого диска, размер которого вы хотите изменить:
Интересным для нас является диск. Вы должны искать
source
иalias
блокировать. Для меня имя файлаtest.img
и псевдонимvirtio-disk0
. К этому имени вам нужно предварительноdrive-
получить имя диска qemu.Теперь мы на самом деле изменили размер диска, используя qemu monitor:
Обратите внимание, что имя файла использовалось без расширения .img, а диск был добавлен в псевдоним диска. 100G - итоговый размер диска, который мы хотим получить
Войдите в систему и убедитесь, что фактический размер был изменен:
Это оно! Теперь вы можете создавать новые разделы или изменять размеры существующих.
источник
AFAIK, это невозможно - вы можете добавлять новые образы дисков, и, как вы указали, вы также можете добавлять новые образы в том LVM, но для изменения размера активного загрузочного образа диска вы должны иметь возможность его закрыть. вниз и редактировать разделы.
Вот хорошее объяснение для расширения изображения. Хотя это требует завершения работы, вы, вероятно, можете избежать нескольких минут простоя, особенно если вы не используете опцию --nonsparse image и вставляете диск gparted в iso-файл и заранее монтируете его в гостевой системе KVM. Надеюсь это поможет.
источник
Во время работы системы Linux можно перемещать между дисками. Ограничение заключается в том, что вы не можете изменять разделы на диске, на котором используются разделы .
Чтобы сделать это, ваша корневая файловая система должна быть в LVM, это часто означает, что у вас должна быть отдельная загрузочная файловая система (однако это не обязательно, это просто упрощает работу)
После подключения нового диска вы добавляете его в LVM с помощью vgextend, используете pvmove для перемещения rootfs на новый диск, используйте lvextend и resize2fs для расширения логического тома и файловой системы соответственно, а затем используйте vgreduce для удаления старого диска из тома группа. После удаления старый том можно отключить.
Для простого случая у вас есть крошечный диск для загрузочной файловой системы, который вам никогда не придется трогать. Но если он сам по себе, его легко отключить, отсоединить, подключить новый и восстановить загрузочный диск, не останавливая систему. (только не разбивайтесь, пока вы это делаете)
Примечание: resize2fs также может сжимать файловые системы.
источник
Это невозможно, но afaik, эта функция находится в стадии разработки. Вместо этого вы можете подключиться к цели iSCSI с ВМ и управлять пространством этой цели на стороне SAN.
источник