Создание дисков virtIO для виртуальных машин#
Чтобы повысить производительность ввода-вывода виртуальных машин, с ними можно использовать диски virtIO. По умолчанию виртуальные машины создаются с дисками, присоединенными к шине SCSI, что нельзя изменить позже.
Можно создать том для ВМ и присоединить его к шине virtIO во время развертывания ВМ с помощью утилиты vinfra. Этот метод может применяться для создания загрузочных томов из образов ISO и шаблонов (QCOW2). Его также можно использовать для присоединения незагрузочных томов. Обратите внимание, что нужно будет использовать утилиту vinfra каждый раз при создании виртуальной машины.
Как вариант, можно применить свойство шины virtIO к образу через средство командной строки OpenStack. Это свойство позволяет создать несколько ВМ из настроенных образов в интерфейсе командной строки, а также на панелях администрирования и самообслуживания. Однако оно работает только для шаблонов.
Предварительные требования
Образ загружен в вычислительный кластер, как описано в разделе Подготовка загрузочного носителя для виртуальных машин.
Для авторизации выполнения приведенных ниже команд настроен клиент командной строки OpenStack, как описано в разделе Подключение к интерфейсу командной строки OpenStack.
Создание виртуальной машины с томом virtIO
Используйте параметр --volume bus=virtio при выполнении команды vinfra service compute server create.
Пример 1. Чтобы создать ВМ из QCOW2-образа mytemplate, выполните:
# vinfra service compute server create myvm1 --network id=private,fixed-ip=192.168.128.100 --flavor medium\
--volume source=image,id=mytemplate,bus=virtio,size=100
Пример 2. Чтобы создать ВМ из ISO-образа myiso, выполните:
# vinfra service compute server create myvm2 --network id=private,fixed-ip=192.168.128.100 --flavor medium\
--volume source=blank,size=100,bus=virtio,boot-index=0,type=disk \
--volume source=image,id=myiso,size=5,boot-index=1,type=cdrom
После создания ВМ все добавляемые к ней тома будут присоединяться к шине virtIO.
Создание виртуальной машины из шаблона virtIO
Примените свойство шины virtIO к шаблону. Например:
# openstack --insecure image set mytemplate --property hw_disk_bus=virtio
Создайте том из шаблона virtIO. Например:
# openstack --insecure volume create --image=mytemplate --size=10 myvolume
Создайте ВМ с новым томом. Например:
# openstack --insecure server create myvm --volume=myvolume --flavor small --network public
После создания ВМ все добавляемые к ней тома будут присоединяться к шине virtIO.