В базовой конфигурации 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 примет такой вид:
Все ли верно можно проверить применив правила из /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 можно использовать также на отдельном сервере или виртуальной машине.