Хост-сервер KVM работает под управлением CentOS 6.5, а группа томов LVM storage_pool используется в качестве основного пула хранения для KVM.
Гость Ubuntu устанавливается с использованием файловой системы ext4 и монтирует весь / dev / vda1 как /. Это конфигурация гостевого диска:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/storage_pool/kvmguest.img'/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
Как лучше всего увеличить размер гостевого диска? В VG много свободного места.
Я нашел несколько примеров, но большинство из них также используют LVM внутри гостей или не полностью применимы. Насколько я понимаю, распространенным методом является создание большего LV в том же VG, выключение гостя, передача данных, редактирование конфигурации для использования нового LV?
Заранее благодарим за любые предложения или указатели
Нет необходимости выключать гостя (по крайней мере, в 2019 году).
Просто
lvextend -L+<size>G /dev/<group>/<volume>
затем
virsh blockresize <domain> /dev/<group>/<volume> --size <newsize>
и, наконец, войдите в гостя и сделайте в нем все необходимое, чтобы использовать дополнительное пространство.
В гостевой ОС Windows вы можете делать
diskpart
list volume
select volume <n>
extend
Это точные шаги, которые я выполнил, чтобы расширить диск C: гостя Windows 10, работающего как домен KVM под Ubuntu 19.04 с qemu 3.1.0.
Это процедура, которой я придерживался:
Расширьте логический том гостя kvm
# lvextend -L+50G /dev/storage_pool/guest.img
Завершите работу гостя kvm и отключите логический том
# virsh shutdown guest
# lvchange -a n /dev/storage_pool/guest.img
Перечислите и отметьте информацию о разделах гостя kvm, особенно о первом секторе. Если он не отображает секторы, вам может потребоваться добавить переключатель «-u» или «-u секторы».
# fdisk -l /dev/storage_pool/guest.img
Удалите и воссоздайте раздел, чтобы заполнить все расширенное пространство, убедитесь, что вы используете сектора как единицы, и чтобы выбрать тот же самый первый сектор (обычно 2048, если раздел выровнен), вы можете использовать команду fdisk 'u' для переключения между единицами
# fdisk /dev/storage_pool/guest.img
Command (m for help): d
Partition number (1-4): 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (...): 2048
Last sector...: hit enter and use the default last sector
Command (m for help): a
Partition number (1-4): 1
Command (m for help): w
Откройте файловую систему ext3 / 4 и измените ее размер
# kpartx -a -v /dev/storage_pool/guest.img
# e2fsck -p -f /dev/mapper/storage_pool-guest.img1
# resize2fs /dev/mapper/storage_pool-guest.img1
# e2fsck -p -f /dev/mapper/storage_pool-guest.img1
# kpartx -d -v /dev/storage_pool/guest.img
Активируйте логический том и запустите гостевой kvm
# lvchange -a y /dev/storage_pool/guest.img
# virsh start guest
Пытаясь найти то же самое, я нашла ваш вопрос, на который пока нет ответов. Для меня сработало следующее:
завершите работу гостя (в моем случае - debian 7.0) обычным способом.
расширить "исходный" LV (конечно, в VG хоста), например, на 5G. Для этого вы должны быть root / sudo на хосте:
lvextend -L + 5G / dev / YourStoragePoolVG / YourVirtualMachinesVGToExtend
Откройте новый расширенный lv (т. Е. «Диск» вашей виртуальной машины) в gparted:
gparted / dev / mapper / YourStoragePoolVG-YourVirtualMachinesVGToExtend
- Примечание: вы должен используйте путь "/ dev / mapper / ...", не "/ dev / dm-77" или "/ dev / YourStoragePoolVG / ..." или другое (похоже, это ошибка / особенность LVM)!
- Примечание. Обратите внимание на предупреждения о потере данных, типах файловых систем и т. Д.!
- Примечание: будьте осторожны.
- В gparted, вы можете изменять размер разделов и перемещать их в таблице разделов, хранящейся на диске virtio в LV.
- Расширение одного или нескольких разделов - ИМХО не проблема. Для сжатия раздела / fs используйте Google ...
- gparted также адаптирует файловые системы на разделах (не только сами разделы.
Как я уже сказал, у меня это сработало (я мог бы попробовать это на какой-нибудь игрушечной установке, не рискуя). Может ли кто-нибудь просмотреть приведенную выше инструкцию и прокомментировать, работает ли это в целом? Спасибо.
Всем, кто ищет ответ на этот вопрос, нужно проверить это:
Гость KVM не распознает новый размер необработанного диска после lvresize
думаю virsh blockreisze
намного лучше чем fdisk
или parted
.
Это просто - после загрузки LVEXTEND | LVRESIZE хоста в виртуальную машину с ISO-образа LiveCD с GPARTED на борту. После завершения загрузки с компакт-диска запустите GPARTED с именем корневого раздела, используемым внутри виртуальной машины:
$ gparted /dev/vda1" # for VirtIO /dev/vda
или
$ gparted /dev/sda1" # for SATA emulated /dev/sda
и выполните изменение размера раздела обычным способом GPARTED