KVM диски с LVM под виртуальные машины


В базовой конфигурации KVM диски для виртуальных машин представляют собой файлы на диске сервера, на котором запускаются виртуальные машины.

Диск сервера в свою очередь может быть отдельным физическим устройством, md устройством созданными в результате объединения физических устройств в raid или логическим устройством.

Разберём последний вариант.



KVM диски (в LVM) для гипервизора


Принятой практикой является использование LVM, что позволяет увеличивать размер логического устройства на лету.

Поверх физических дисков или на одном диске создается логическая структура.



Диски виртуальных машин размещаются в /var/lib/libvirt/images на мастер хосте.

Рассмотрим настройки, которые нужно выполнить чтобы использовать отдельный физический диск (или диски в raid) с LVM для хранения файловой системы всех машин. Хост машиной является сервер с CentOS 7.



В системе имеем новый чистый и неразмеченный диск /dev/sdb

В LVM создадим VG 'kvm_storage' and LV 'kvm_lv', затем файловую систему xfs



Создаем PV

pvcreate /dev/vdb



Создаём группу давая ей название kvm_storage

vgcreate kvm_storage /dev/sdb



Так можно посмотреть все группы

vgs



Теперь логическое устройство

lvcreate -l +100%FREE -n kvm_lv-kvm_storage



Их список

lvs



Создаем файловую систему xfs

mkfs.xfs /dev/mapper/kvm_lv-kvm_storage



И добавляем запись в /etc/fstab чтобы монтирование выполнялось автоматически после перезагрузки

mcedit /etc/fstab

/dev/mapper/lab_kvm_storage-lab_kvm_lv /var/lib/libvirt/images xfs defaults 0 0



fstab примет такой вид:

KVM диски


Все ли верно можно проверить применив правила из /etc/fstab

mount -a



Устройство под диски KVM создано, осталось добавить его как пул чтобы на нём создавались виртуальные машины.



Далее через virsh добавляем пул


Эти настройки уже специфичны для KVM



Вывести список

virsh pool-list



Создать пул (--target указывает директорию)

virsh pool-define-as kvm_storagepool --type dir --target /var/lib/libvirt/images



Вновь можно просмотреть список

virsh pool-list



Теперь запускаем пул

virsh pool-start kvm_storagepool



И добавляем его в автозагрузку

virsh pool-autostart kvm_storagepool



С двумя дополнительными ключами можно вывести детальную информацию по всем имеющимся пулам

virsh pool-list --all --details


Читайте материалы про LVM и fstab. LVM можно использовать также на отдельном сервере или виртуальной машине.

Сказать спасибо