Создание дисков virtIO для виртуальных машин

Чтобы повысить производительность ввода-вывода виртуальных машин, с ними можно использовать диски virtIO. По умолчанию виртуальные машины создаются с дисками, присоединенными к шине SCSI, что нельзя изменить позже.

Можно создать том для ВМ и присоединить его к шине virtIO во время развертывания ВМ с помощью утилиты vinfra. Этот метод может применяться для создания загрузочных томов из образов ISO и шаблонов (QCOW2). Его также можно использовать для присоединения незагрузочных томов. Обратите внимание, что нужно будет использовать утилиту vinfra каждый раз при создании виртуальной машины.

Как вариант, можно применить свойство шины virtIO к образу через средство командной строки 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

  1. Примените свойство шины virtIO к шаблону. Например:

    # openstack --insecure image set mytemplate --property hw_disk_bus=virtio
  2. Создайте том из шаблона virtIO. Например:

    # openstack --insecure volume create --image=mytemplate --size=10 myvolume
  3. Создайте ВМ с новым томом. Например:

    # openstack --insecure server create myvm --volume=myvolume --flavor small --network public

После создания ВМ все добавляемые к ней тома будут присоединяться к шине virtIO.