Как увеличить размер гостевого диска 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 .

  • Объем, полный в соответствии с vgdisplay, но не df
  • Hox для удаления метаданных lvm после физического объема был удален
  • ZFS виртуализован в объеме LVM
  • find file по номеру блока на ext3 fs на lvm
  • Выделение раздела ext3 в группе томов LVM RAID
  • Устройство / dev / sda1 не найдено (или игнорируется filterацией) при использовании LVM
  • Изменение размера LVM и потери данных
  • Как ускорить process восстановления с помощью gziped LVM?
  • Должно ли место подкачки быть в логическом томе или прямо на диске?
  • Снимки LVM и моментальные снимки fileовой системы
  • Параметры Readahead для LVM, Device-Mapper, Software Raid и Block Devices - что выигрывает?