Я установил гостевую систему Ubuntu на хосте CentOS KVM с изначально 6 ГБ дискового пространства. Как мне увеличить дисковое пространство гостя Ubuntu из командной строки?
РЕДАКТИРОВАТЬ # 1: я использую файл образа диска (qemu).
Я установил гостевую систему Ubuntu на хосте CentOS KVM с изначально 6 ГБ дискового пространства. Как мне увеличить дисковое пространство гостя Ubuntu из командной строки?
РЕДАКТИРОВАТЬ # 1: я использую файл образа диска (qemu).
Ответы:
qemu-img resize vmdisk.img +10G
чтобы увеличить размер изображения на 10 Гбисточник
start the VM, resize the partitions and LVM structure within it normally
Как это сделать? Пожалуйста, объясните это.Онлайн-метод (с использованием qemu, libvirt и virtio-block)
Что бы там ни было, приведенные ниже команды будут выполняться, даже если целевой виртуальный диск смонтирован. Это может быть полезно в средах, где диск не может быть размонтирован (например, корневой раздел), виртуальная машина должна оставаться включенной, и владелец системы готов принять на себя риск повреждения данных . Чтобы устранить этот риск, вам необходимо войти в виртуальную машину и сначала размонтировать целевой диск, что не всегда возможно.
Выполните следующее из гипервизора KVM.
Увеличьте размер самого файла образа диска (укажите сумму для увеличения):
Получите имя устройства virtio через оболочку libvirt (
drive-virtio-disk0
в этом примере):Подайте сигнал драйверу virtio для определения нового размера (укажите общую новую емкость):
Затем войдите в ВМ. Запуск
dmesg
должен сообщить, что диск virtio обнаружил изменение емкости. На этом этапе, измените размер ваших разделов и структуры LVM по мере необходимости.источник
Эти вопросы о сбое сервера похожи, но конкретнее, изменение размера диска KVM онлайн? & Centos Xen изменяет размер раздела DomU и группы томов . Первый задает вопрос о том, как увеличить гостевой KVM, пока он находится в сети, а второй - для XEN с использованием LVM. Я спрашиваю, как этого добиться, пока KVM отключен.
ПРИМЕЧАНИЕ. Эта ссылка была полезна для МЕТОДА № 1 и показывает, как добиться увеличения дискового пространства KVM (на основе ext3), HOWTO: Изменение размера образа виртуальной машины KVM .
С гостями KVM следует помнить, что используемые ими разделы могут влиять на то, какой метод вы можете использовать для увеличения дискового пространства.
МЕТОД # 1: Разделы основаны на ext2 / ext3 / ext4
Орехами этого метода являются следующие:
Теперь, когда файл mykvm.img увеличен, загрузите gparted и расширьте существующий раздел на только что добавленное дисковое пространство. Этот последний шаг в основном расширяет раздел ОС, чтобы он мог использовать дополнительное пространство.
МЕТОД № 2: Разделы на основе LVM
Вот шаги, которые я примерно выполнил, чтобы изменить размер гостевой системы KVM, которая использовала LVM для внутреннего использования.
запустить fdisk внутри виртуальной машины и удалить и заново создать раздел LVM
Перезагрузите ВМ
Изменить размер физического тома LVM
Изменить размер логического тома LVM
Расти файловую систему
Выше приведен мой пример, но я следовал инструкциям на этом сайте
источник
virt-manager
и широко использовал метод № 1 и № 2, прежде чем перевести наши KVM-серверы на более новую версию KVM (CentOS 5 -> CentOS 6). Я сейчас тоже используюqemu-img resize
метод.lvextend /dev/Volgroup/lvname /dev/vda2
(все в одной строке, где / dev / vda2 будет вашим физическим томом). Без каких-либо других параметров будет использоваться максимальный размер в этой группе томов.Изменение размера и расширение внутренних разделов за один шаг
У меня был хост Ubuntu с образом гостевого файла qcow2, и я хотел изменить размер диска и расширить соответствующие разделы за один шаг. Требуется настроить служебные программы гостевой файловой системы libvirt, но в любом случае их полезно иметь.
Вдохновение отсюда: http://libguestfs.org/virt-resize.1.html
Ключевая команда здесь:
virt-resize
Приготовление:
Теперь сделайте следующее:
1) отключение гостя:
2) Проверьте текущий размер и просмотрите имя раздела, который вы хотите расширить, используя утилиту libvirt:
sudo virt-filesystems --long --parts --blkdevs -h -a name-of-guest-disk-file
3) Создайте новый (40G) выходной диск:
4) Скопируйте старый в новый и разверните соответствующий раздел (при условии, что ваш раздел на диске из шага 2 был / dev / sda1)
5) Переименуйте файл indisk в резервную копию, переименуйте outdisk в indisk (или измените гостевой XML)
6) Перезагрузите гость и тщательно протестируйте новый файл на диске перед удалением исходного файла.
7) Прибыль!
источник
-o preallocation=metadata
создает разреженный файл. С этой опцией он предварительно выделяет весь размер.-o preallocation=metadata
и если вы этого не сделаете, вам также следует пропуститьtruncate
шаг.virt-resize
в любом случае будет увеличивать файл соответствующим образом.Если вы используете LVM в виртуальной машине, самый простой способ сделать это - добавить новый виртуальный диск в виртуальную машину и расширить группу томов и логические тома на нее.
Чтобы проверить, используете ли вы запуск LVM
sudo pvs; sudo vgs; sudo lvs
, вы получите что-то вроде этого:если ОС виртуальной машины использует LVM. В приведенном выше примере виртуальная машина имеет 30-гигабайтный виртуальный диск, настроенный с использованием LVM с одной группой томов vgWWW, содержащей два логических тома: один для подкачки и один для всего остального.
Если LV используется в VM:
sudo pvcreate /dev/vdb
sudo vgextend vgWWW /dev/vdb
sudo lvextend --extents +100%FREE /dev/vgWWW/root
(или что-то вроде того,sudo lvextend --size +8G /dev/vgWWW/root
если вы не хотите увеличивать его полностью, этот пример добавит 8Gb к тому)resize2fs /dev/vgWWW/root
Примечание: приведенное выше предполагает, что имена vg / lv совпадают с моими примерами, что маловероятно, измените их соответствующим образом, также, если виртуальная машина уже имела виртуальный диск, называемый
vdb
новым, будет что-то другое (vdc
и т. Д.)Примечание:
resize2fs
будет работать только на файловой системе ext2, ext3 и ext4. Если вы используете что-то другое, это будет ошибка и ничего не делать.Примечание: так как вы изменяете размер активной файловой системы,
resize2fs
она не будет предлагать вам запуститьfsck
сначала, как это было бы для несмонтированной файловой системы, она просто будет идти вперед. Возможно, вы захотите запустить файловую систему только для чтения, чтобы убедиться в отсутствии проблем, прежде чем продолжить.источник
Возможно сделать онлайн изменение размера. libvirtd поддерживает это изначально:
Найдите имя блочного устройства. Должно быть что-то вроде "Вда"
Изменить размер виртуального устройства:
Вот пример, где я расширяю
vda
диск50GB
для51GB
дляundercloud
виртуальной машины.Теперь взглянем на детали файла изображения .qcow2:
Теперь давайте изменим размер блочного устройства vda:
И подтвердить:
Затем вы можете использовать этот скрипт внутри виртуальной машины, чтобы показать команды для изменения размера блочных устройств и fs: https://github.com/mircea-vutcovici/scripts/blob/master/vol_resize.sh .
источник
Существует возможность увеличить размер диска вашей виртуальной машины без перезагрузки виртуальной машины, если вы используете диск virtio и LVM.
(Необязательно) Создайте основной раздел с помощью fdisk для получения / dev / vdb1, затем используйте kpartx -a / dev / vdb для перечитывания таблицы разделов
Используйте vgextend vg_name / dev / vdb1 (или / dev / vdb, если вы не создали раздел)
Вы сделали
источник
Таким образом, вы можете расширить нужный раздел:
Смотрите больше примеров здесь .
источник
Еще один способ сделать это
Зайдите в make rescan диска и после того, как вы сможете сделать lvm resize.
источник
Если в вашей виртуальной машине есть LVM, то это просто и быстро.
sudo system-config-lvm
в терминале) *.Я нашел графический интерфейс довольно интуитивно понятным, но если у вас есть проблемы, выполните следующие шаги.
Запись! По крайней мере, в CentOS 6 LVM GUI не установлен по умолчанию, но вы можете установить его с помощью
yum install system-config-lvm
.источник
Изменить размер изображения:
увеличивает размер изображения на 16 ГБ.
Если у вашего образа есть GPT (таблица разделов GUID), то размер диска, используемого в GPT, будет отличаться от нового размера, вам нужно исправить это
gdisk
:или с
parted
:По какой-то причине
parted
исправление не работает, когда tty не представлен (например, при подготовке с помощью Vagrant), поэтому я используюgdisk
.Увеличьте размер раздела, чтобы заполнить все доступное пространство:
Эта
x a 2 <Enter>
часть является необязательной и необходима, если вы используете устаревшую версию BIOS.MY_PARTITION_GUID=...
иc $MY_PARTITION_GUID
части также являются необязательными и необходимы, только если вы используете UUID раздела внутри/etc/fstab
или где-то еще.Перезагрузите или перечитайте разделы с помощью
partx -u $MY_DRIVE
илиpartprobe
.Расширить раздел, например
ext2
,ext3
илиext4
:источник
Вы можете использовать solus vm с gparted mount. После использования с gparted вы можете легко загрузить систему и настроить пространство. Убедитесь, что у вас установлен правильный приоритет загрузки. В качестве ссылки, пожалуйста, обратитесь к приведенному ниже URL, который может пригодиться. https://greencloudvps.com/knowledgebase/11/How-to-Extend-the-Hard-drive-on-KVM-after-upgrading-VPS.html
источник