Как увеличить размер гостевого диска KVM с помощью LVM VG в качестве пула хранения?

На главном serverе KVM работает CentOS 6.5, а группа томов LVM «storage_pool» используется как основной пул хранения для KVM.

Гость Ubuntu устанавливается с использованием fileовой системы ext4 и монтирует весь / dev / vda1 как /. Это configuration гостевого диска:

<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 внутри гостей, или они не были полностью применимы. Насколько я понимаю, общий метод заkeyается в создании большего LV в том же VG, выkeyение гостя, передача данных, редактирование конфигурации для использования нового LV?

Спасибо заранее за любые предложения или pointers

3 Solutions collect form web for “Как увеличить размер гостевого диска KVM с помощью LVM VG в качестве пула хранения?”

Ищет то же самое, я нашел ваш вопрос без ответов. Для меня работало следующее:

  1. выkeyите гостя (в моем случае, debian 7.0) обычным способом.

  2. простирайте «оригинальную» LV (конечно, в VG хоста), например, на 5G. Для этого вы должны быть root / sudo на хосте:

    lvextend -L + 5G / dev / YourStoragePoolVG / YourVirtualMachinesVGToExtend

  3. Откройте недавно расширенный lv (т. Е. «Диск» вашей виртуальной машины) в gparted:

    gparted / dev / mapper / YourStoragePoolVG-YourVirtualMachinesVGToExtend

  • Примечание. Вы должны использовать path «/ dev / mapper / …», а не «/ dev / dm-77» или «/ dev / YourStoragePoolVG / …» или другие (это, кажется, ошибка / особенность LVM)!
  1. Скрипты вокруг разделов на измененном томе (обычно используйте graphический interface)
  • Примечание. Учитывайте предупреждения об утрате данных, типах fs и т. Д.!
  • Примечание. Будьте осторожны.
  • В gparted вы можете изменять размер разделов и перемещать их в таблице разделов, хранящейся на диске virtio внутри LV.
  • Расширение одного или нескольких разделов – это не проблема. Чтобы уменьшить размер раздела / fs, используйте Google …
  • gparted также адаптирует fileовые системы на разделы (не только сами разделы.
  1. Перезагрузите виртуальную машину. Теперь он viewит измененные разделы.

Как я уже сказал, это сработало для меня (я мог попробовать это на какой-то игрушечной установке, не рискуя). Может кто-нибудь, пожалуйста, просмотрите приведенную выше инструкцию и прокомментируйте, если это работает вообще? Спасибо.

Это процедура, с которой я пошел:

  1. Расширьте логический том гостевого клиента kvm

     # lvextend -L+50G /dev/storage_pool/guest.img 
  2. Выkeyение гостевой системы kvm и деактивация логического тома

     # virsh shutdown guest # lvchange -an /dev/storage_pool/guest.img 
  3. Перечислите и обратите внимание на информацию о разделе гостя kvm, а самое главное – первый сектор. Если он не отображает сектора, вам может потребоваться добавить переkeyатель «-u» или «-u»

     # fdisk -l /dev/storage_pool/guest.img 
  4. Удалите и заново создайте раздел для заполнения всего расширенного пространства, убедитесь, что вы используете сектора в качестве единиц и выбираете один и тот же первый сектор (обычно 2048, если раздел выровнен), вы можете использовать команду «u» fdisk для переkeyения между единицами

     # 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 
  5. Откройте fileовую систему 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 
  6. Активируйте логический том и запустите kvm guest

     # lvchange -ay /dev/storage_pool/guest.img # virsh start guest 

Любой, кто ищет ответ на этот вопрос, должен проверить это:

Гость KVM не распознает новый размер необработанного диска после lvresize

Я думаю, что virsh blockreisze намного лучше, чем fdisk или parted .

  • LVM RAID 5 не приводит к ожидаемому логическому объему
  • Сохраняет ли / boot поверх LV LV (логический том)?
  • sed fix для BusyBox - ошибка загрузки не смогла установить LVM
  • Изменение размера PV на LVM
  • Добавление устройств блока Virtio во time выполнения в Libvirt KVM
  • XFS I / O Ошибка доступа к логическому блоку 0 моментального снимка LVM: плохой диск или моментальный снимок?
  • расширять нераспределенный диск до существующего lvm
  • Метаданные слишком большие для кругового буфера - альтернативы восстановлению конфигов или миграции LVM
  • Выделение раздела ext3 в группе томов LVM RAID
  • Настройка RAID или LVM для HTPC
  • Какую fileовую систему я использовал?