Spec-Zone.ru › Ansible

Модуль community.libvirt.virt_install — создание новых виртуальных машин с помощью инструмента virt-install

Примечание

Этот модуль входит в коллекцию community.libvirt (версия 2.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.libvirt. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.libvirt.virt_install.

Добавлено в community.libvirt 2.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создание и установка виртуальных машин с помощью virt-install на основе декларативной конфигурации.

Требования

На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • привязки Python для libvirt
  • lxml
  • Python >= 2.6
  • virt-install

Параметры

Параметр

Комментарии

arch

string

Запросить для гостевой виртуальной машины архитектуру ЦП, отличную от нативной.

Если параметр не указан, в гостевой системе будет использоваться архитектура ЦП хоста.

audio

dictionary

Настроить вывод звука на хосте для звукового оборудования гостевой системы.

Словарь содержит пары ключ/значение, задающие отдельные свойства аудиобэкенда.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

audio_devices

list / elements=dictionary

Настроить несколько аудиобэкендов для гостевой системы.

autostart

boolean

Установить флаг автоматического запуска для домена.

Варианты:

  • false
  • true

blkiotune

dictionary

Настроить политику блочного ввода-вывода для процесса домена.

devices

list / elements=dictionary

Настроить веса отдельных блочных устройств хоста, используемых гостевой системой.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

weight

integer

Общий вес ввода-вывода гостевой системы.

Значение должно находиться в диапазоне [100, 1000]. Начиная с ядра 2.6.39 значение может находиться в диапазоне [10, 1000].

boot

string

Задать приоритет загрузочных устройств для настройки после установки.

boot_opts

dictionary

Дополнительные параметры конфигурации загрузки.

Словарь содержит пары ключ/значение, задающие отдельные параметры загрузки.

cdrom

string

Файл ISO или устройство CDROM, используемое в качестве установочного носителя виртуальной машины.

channel

dictionary

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

Словарь содержит пары ключ/значение, задающие отдельные свойства канала.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

channel_devices

list / elements=dictionary

Настроить несколько устройств каналов связи для гостевой системы.

clock

dictionary

Настроить часы гостевой системы.

offset

string

Задать смещение часов, например utc или localtime.

timers

list / elements=dictionary

Настроить параметры таймеров гостевой системы для конкретного гипервизора.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

cloud_init

dictionary

Передать метаданные cloud-init виртуальной машине.

Будет создан файл ISO cloud-init NoCloud и подключен к виртуальной машине как устройство CDROM.

clouduser_ssh_key

string

Указать файл открытого ключа для внедрения в гостевую систему, чтобы предоставить доступ по SSH к учетной записи пользователя cloud-init по умолчанию.

disable

boolean

Отключить cloud-init в виртуальной машине для последующих загрузок.

Если этого не сделать, cloud-init может сбрасывать настройки аутентификации при каждой загрузке.

Варианты:

  • false
  • true

meta_data

any

Указать содержимое файла метаданных cloud-init.

Можно передать строку YAML (например, используя оператор ‘|’ в Ansible) или структуру словаря.

Примечание: предпочтительнее использовать строковые значения, поскольку значения словаря не позволяют гарантировать сохранение порядка.

network_config

any

Указать содержимое файла конфигурации сети cloud-init.

Можно передать строку YAML (например, используя оператор ‘|’ в Ansible) или структуру словаря.

Примечание: предпочтительнее использовать строковые значения, поскольку значения словаря не позволяют гарантировать сохранение порядка.

root_password_file

string

Файл, из которого будет задан пароль root виртуальной машины.

root_password_generate

boolean

Создать новый пароль root для виртуальной машины.

Варианты:

  • false
  • true

root_ssh_key

string

Указать файл открытого ключа для внедрения в гостевую систему.

user_data

any

Указать содержимое файла пользовательских данных cloud-init.

Можно передать строку YAML (например, используя оператор ‘|’ в Ansible) или структуру словаря.

Примечание: предпочтительнее использовать строковые значения, поскольку значения словаря не позволяют гарантировать сохранение порядка.

console

dictionary

Подключить текстовую консоль между гостевой системой и хостом.

Словарь содержит пары ключ/значение, задающие отдельные свойства консоли.

К распространенным свойствам для разных типов консолей относятся type и target.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

console_devices

list / elements=dictionary

Настроить несколько устройств консоли для гостевой системы.

container

boolean

Гостевая система должна быть контейнерного типа.

Варианты:

  • false
  • true

controller

dictionary

Подключить устройство контроллера к гостевой системе.

Словарь содержит пары ключ/значение, задающие отдельные свойства контроллера.

Примеры: type=usb,model=none для отключения USB или type=scsi,model=virtio-scsi для VirtIO SCSI.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

controller_devices

list / elements=dictionary

Настроить несколько устройств контроллера для гостевой системы.

cpu

dictionary

Настроить модель ЦП и функции ЦП, доступные гостевой системе.

cache

dictionary

Настройка кэша vCPU для гостевой системы.

level

integer

Указать уровень кэша ЦП.

mode

string

Если задано значение emulate, гипервизор предоставит фиктивные данные кэша ЦП.

Если задано значение passthrough, данные кэша ЦП хоста, полученные от ЦП хоста, будут переданы в vCPU.

Если задано значение disable, vCPU не будет сообщать о наличии кэша ЦП.

Варианты:

  • "emulate"
  • "passthrough"
  • "disable"

features

dictionary

Точно настроить функции, предоставляемые выбранной моделью ЦП.

Значение должно быть словарём, в котором каждый ключ — это имя функции, а значение — словарь параметров этой функции.

Пустой объект {} для функции означает, что эту функцию следует включить.

policy

string

Политика для функции ЦП.

Если задано значение force, vCPU будет заявлять о поддержке функции независимо от того, поддерживается ли она ЦП хоста.

Если задано значение require, создание гостевой системы завершится ошибкой, если функция не поддерживается ЦП хоста и гипервизор не может её эмулировать.

Если задано значение optional, функция будет поддерживаться vCPU только в том случае, если она поддерживается ЦП хоста.

Если задано значение disable, виртуальный ЦП не будет поддерживать эту функцию.

Если задано значение forbid, создание гостевой системы завершится ошибкой, если функция поддерживается ЦП хоста.

Варианты:

  • "force"
  • "require"
  • "optional"
  • "disable"
  • "forbid"

match

string

Указать строгость соответствия модели ЦП.

Варианты:

  • "exact"
  • "minimum"
  • "strict"

migratable

boolean

Указать, допускает ли эта модель ЦП миграцию.

Варианты:

  • false
  • true

model

string

Допустимая модель ЦП или режим конфигурации для гостевой системы.

Возможные значения: host-model, host-passthrough и maximum.

model_opts

dictionary

Дополнительные параметры конфигурации модели ЦП.

fallback

string

Указать, следует ли автоматически переключаться на ближайшую модель, поддерживаемую гипервизором, если невозможно использовать точную модель ЦП.

Варианты:

  • "forbid"
  • "allow"

vendor_id

string

Задать идентификатор производителя, который будет виден гостевой системе. Он должен содержать ровно 12 символов.

Типичные возможные значения: AuthenticAMD и GenuineIntel.

numa

dictionary

Настроить топологию NUMA для гостевой системы.

cell_specs

list / elements=dictionary

Указать конфигурацию ячейки NUMA.

cache_specs

list / elements=dictionary

Описать кэш на стороне памяти для доменов близости памяти.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

cpus

string

Указать ЦП или диапазон ЦП, относящихся к этому узлу.

discard

boolean

Точно настроить функцию discard для указанного узла NUMA.

Варианты:

  • false
  • true

distances

dictionary

Задать расстояние между ячейками NUMA.

sibling_specs

list / elements=dictionary

Указать значение расстояния между соседними ячейками NUMA.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

id

integer

Указать идентификатор узла NUMA.

mem_access

string

Указать режим доступа к памяти для узла NUMA.

Допустимо только для памяти на основе hugepages и модулей nvdimm.

Варианты:

  • "shared"
  • "private"

memory

integer

Указать размер памяти узла с суффиксом единицы измерения.

interconnects

list / elements=dictionary

Описывает нормализованные задержку и пропускную способность чтения/записи памяти между доменами близости инициатора и целевыми доменами близости.

bandwidth_specs

list / elements=dictionary

Описать пропускную способность между двумя узлами памяти.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

latency_specs

list / elements=dictionary

Описать задержку между двумя узлами памяти.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

vendor

string

Указать производителя ЦП, запрашиваемого гостевой системой

Список поддерживаемых производителей приведен в файлах cpu_map/*_vendors.xml.

cputune

dictionary

Настроить параметры ЦП для гостевой системы.

emulator_period

integer

Указать интервал контроля (единица измерения: микросекунды) для потоков эмулятора домена.

emulator_quota

integer

Указать максимальную допустимую пропускную способность (единица измерения: микросекунды) для потоков эмулятора домена.

emulatorpin

dictionary

Укажите, к каким процессорам хоста будет привязан эмулятор домена.

cpuset

string

Укажите, к каким физическим процессорам выполнить привязку.

emulatorsched

dictionary

Укажите тип планировщика для потока эмулятора.

priority

integer

Для планировщиков реального времени (fifo, rr) также необходимо указать приоритет (для планировщиков, не работающих в режиме реального времени, он игнорируется).

Диапазон значений приоритета зависит от ядра хоста (обычно 1–99).

scheduler

string

Тип планировщика.

Варианты:

  • "batch"
  • "idle"
  • "fifo"
  • "rr"

global_period

integer

Укажите интервал принудительного применения планировщика CFS (в микросекундах) для всего домена.

global_quota

integer

Укажите максимальную допустимую пропускную способность (в микросекундах) в течение периода для всего домена.

iothread_period

integer

Укажите интервал принудительного применения (в микросекундах) для потоков ввода-вывода домена.

iothread_quota

integer

Укажите максимальную допустимую пропускную способность (в микросекундах) для потоков ввода-вывода домена.

iothreadpin_specs

list / elements=dictionary

Укажите, к каким физическим процессорам хоста будут привязаны потоки ввода-вывода.

cpuset

string

Укажите, к каким физическим процессорам выполнить привязку.

iothread

integer

Укажите идентификатор потока ввода-вывода.

iothreadsched_specs

list / elements=dictionary

Укажите тип планировщика для определённых потоков ввода-вывода.

iothreads

string

Выберите потоки ввода-вывода, к которым применяется эта настройка.

priority

integer

Для планировщиков реального времени (fifo, rr) также необходимо указать приоритет (для планировщиков, не работающих в режиме реального времени, он игнорируется).

Диапазон значений приоритета зависит от ядра хоста (обычно 1–99).

scheduler

string

Тип планировщика.

Варианты:

  • "batch"
  • "idle"
  • "fifo"
  • "rr"

period

integer

Укажите интервал принудительного применения (в микросекундах).

Значение должно находиться в диапазоне [1000, 1000000]. Значение периода 0 означает отсутствие значения.

quota

integer

Укажите максимальную допустимую пропускную способность (в микросекундах).

Если квота домена имеет любое отрицательное значение, это означает, что пропускная способность потоков vCPU домена не ограничена.

shares

integer

Укажите пропорциональную взвешенную долю для домена.

vcpupin_specs

list / elements=dictionary

Укажите, к каким физическим процессорам хоста будет привязан vCPU домена

cpuset

string

Список номеров физических процессоров, разделённых запятыми.

vcpu

integer

Укажите идентификатор vCPU.

vcpusched_specs

list / elements=dictionary

Укажите тип планировщика для определённых vCPU.

priority

integer

Для планировщиков реального времени (fifo, rr) также необходимо указать приоритет (для планировщиков, не работающих в режиме реального времени, он игнорируется).

Диапазон значений приоритета зависит от ядра хоста (обычно 1–99).

scheduler

string

Тип планировщика.

Варианты:

  • "batch"
  • "idle"
  • "fifo"
  • "rr"

vcpus

string

Выберите vCPU, к которым применяется эта настройка.

destroy_on_exit

boolean

Если задано значение true, виртуальная машина будет уничтожена при закрытии окна консоли.

Варианты:

  • false
  • true

disks

list / elements=dictionary

Укажите устройства хранения данных для гостевой системы.

address

dictionary

Укажите свойства контроллера, к которому следует подключить диск.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

backing_format

string

Формат образа диска для backing_store.

backing_store

string

Путь к диску, который будет использоваться в качестве базового хранилища для нового образа.

blockio

dictionary

Переопределите свойства блочного устройства диска по умолчанию.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

boot

dictionary

Укажите порядок загрузки для дискового устройства.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

Параметры загрузки для отдельных устройств нельзя использовать одновременно с общими параметрами загрузки в разделе загрузчика ОС.

bus

string

Тип шины диска (например, ide, sata, scsi, usb, virtio, xen)

cache

string

Используемый режим кэширования.

Варианты:

  • "none"
  • "writethrough"
  • "directsync"
  • "unsafe"
  • "writeback"

driver

dictionary

Укажите параметры драйвера диска гипервизора.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

format

string

Формат образа диска. Для файловых томов это может быть raw, qcow2, vmdk и т. д.

geometry

dictionary

Переопределите параметры геометрии диска.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

iotune

dictionary

Укажите дополнительные параметры настройки ввода-вывода для отдельного устройства.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

path

string

Путь к существующему или ещё не созданному носителю данных.

pool

string

Имя существующего пула хранения libvirt, в котором следует создать хранилище.

rawio

boolean

Укажите, требуется ли диску возможность прямого ввода-вывода (rawio).

Варианты:

  • false
  • true

readonly

boolean

Установить для диска режим только для чтения

Варианты:

  • false
  • true

serial

string

Серийный номер эмулируемого дискового устройства.

sgio

string

Укажите, следует ли фильтровать непривилегированные команды SG_IO для диска.

Доступно только для устройства типа «lun».

Варианты:

  • "filtered"
  • "unfiltered"

shareable

boolean

Установить для диска режим совместного использования

Варианты:

  • false
  • true

size

integer

Размер (в ГиБ), используемый при создании нового хранилища.

snapshot

string

Задает поведение диска по умолчанию при создании снимков диска.

Варианты:

  • "internal"
  • "external"
  • "no"

source

dictionary

Укажите параметры источника диска.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

sparse

boolean

Следует ли пропустить полное выделение пространства для вновь созданного хранилища.

Варианты:

  • false
  • true

target

dictionary

Укажите параметры целевого дискового устройства.

Словарь содержит пары «ключ/значение», задающие отдельные свойства.

transient

boolean

Если задано значение true, это означает, что изменения содержимого устройства автоматически отменяются при выходе из гостевой системы.

Варианты:

  • false
  • true

transient_opts

dictionary

Дополнительные параметры конфигурации временного диска.

share_backing

boolean

Если задано значение true, временный диск предполагается использовать совместно несколькими одновременно работающими виртуальными машинами.

Варианты:

  • false
  • true

vol

string

Используемый существующий том хранилища libvirt.

events

dictionary

Укажите значения событий для гостевой системы.

on_crash

string

Действие при сбое гостевой системы.

Варианты:

  • "destroy"
  • "restart"
  • "preserve"
  • "rename-restart"
  • "coredump-destroy"
  • "coredump-restart"

on_lockfailure

string

Действие при потере менеджером блокировок блокировок ресурсов.

Варианты:

  • "poweroff"
  • "restart"
  • "pause"
  • "ignore"

on_poweroff

string

Действие, выполняемое при запросе гостевой системой выключения.

Варианты:

  • "destroy"
  • "restart"
  • "preserve"
  • "rename-restart"

on_reboot

string

Действие, выполняемое при запросе гостевой системой перезагрузки.

Варианты:

  • "destroy"
  • "restart"
  • "preserve"
  • "rename-restart"

extra_args

string

Дополнительные аргументы командной строки ядра, передаваемые установщику при установке гостевой системы с помощью location.

features

dictionary

Включить или отключить отдельные функции компьютера.

Значение должно представлять собой словарь, в котором каждый ключ — это название функции, а значение — словарь параметров этой функции.

Пустой объект {} для функции означает, что её следует включить с параметрами по умолчанию.

Пример: hyperv.spinlocks: {state: off}, pvspinlock: {}

filesystems

list / elements=dictionary

Указывает каталоги на хосте, которые необходимо экспортировать в гостевую систему.

accessmode

string

Указывает режим безопасности для доступа к источнику.

Варианты:

  • "passthrough"
  • "mapped"
  • "squash"

address

dictionary

Указывает свойства контроллера, к которому следует подключить файловую систему.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

binary

dictionary

Настраивает параметры virtiofsd.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

dmode

string

Режим создания каталогов при использовании значения mapped для accessmode.

driver

dictionary

Указывает параметры драйвера гипервизора.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

fmode

string

Режим создания файлов при использовании значения mapped для accessmode.

multidevs

string

Указывает, как обрабатывать экспорт файловой системы, содержащий более одного устройства.

Варианты:

  • "default"
  • "remap"
  • "forbid"
  • "warn"

readonly

boolean

Включает экспорт файловой системы в гостевую систему в режиме только для чтения.

Варианты:

  • false
  • true

source

dictionary

Конфигурация исходного каталога на хосте.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

space_hard_limit

integer

Максимальный объём пространства, доступный файловой системе этой гостевой системы

space_soft_limit

integer

Максимальный объём пространства, доступный файловой системе этой гостевой системы.

target

dictionary

Конфигурация точки монтирования в гостевой системе.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

type

string

Указывает тип источника файловой системы.

Варианты:

  • "mount"
  • "template"
  • "file"
  • "block"
  • "ram"
  • "bind"

graphics

dictionary

Настраивает графический дисплей гостевой виртуальной машины.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

К распространённым свойствам относятся type (например, vnc, spice) и listen.

graphics_devices

list / elements=dictionary

Настраивает несколько графических устройств для гостевой системы.

host_devices

list / elements=dictionary

Настраивает несколько устройств хоста для гостевой системы.

hostdev

dictionary

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

Словарь содержит пары «ключ/значение», определяющие отдельные свойства устройства хоста.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет указано в командной строке перед другими свойствами.

hvm

boolean

Запрашивает использование полной виртуализации.

Варианты:

  • false
  • true

idmap

dictionary

Настраивает сопоставление UID или GID для гостевой системы.

gid

dictionary

Конфигурация сопоставления GID.

count

integer

Количество групп в контейнере, которым разрешено сопоставление с пользователем хоста.

start

integer

Идентификатор первой группы в контейнере.

target

integer

Идентификатор первой группы в контейнере будет сопоставлен с этим целевым идентификатором пользователя на хосте.

uid

dictionary

Конфигурация сопоставления UID.

count

integer

Количество пользователей в контейнере, которым разрешено сопоставление с пользователем хоста.

start

integer

Идентификатор первого пользователя в контейнере.

target

integer

Идентификатор первого пользователя в контейнере будет сопоставлен с этим целевым идентификатором пользователя на хосте.

import

boolean

Пропускает установку ОС и создаёт гостевую систему на основе существующего образа диска.

Варианты:

  • false
  • true

initrd_inject

string

Добавляет PATH в корень initrd, полученного с помощью location.

input

dictionary

Подключает устройство ввода к гостевой системе.

К типам устройств ввода относятся мышь, планшет или клавиатура.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства устройства ввода.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет указано в командной строке перед другими свойствами.

input_devices

list / elements=dictionary

Настраивает несколько устройств ввода для гостевой системы.

install

dictionary

Дополнительные параметры установки.

Этот параметр предназначен исключительно для установки виртуальной машины и используется для настройки первой загрузки.

bootdev

string

Указывает загрузочное устройство для этапа установки.

initrd

string

Указывает пару «ядро и initrd», используемую в качестве установочного носителя.

kernel

string

Указывает пару «ядро и initrd», используемую в качестве установочного носителя.

kernel_args

string

Указывает аргументы ядра, используемые во время установки.

kernel_args_overwrite

boolean

Переопределяет аргументы ядра virt-install по умолчанию, а не добавляет новые к ним.

Варианты:

  • false
  • true

no_install

boolean

Сообщает virt-install, что установка фактически не выполняется и требуется только создать виртуальную машину.

Варианты:

  • false
  • true

os

string / обязательный

Название ОС из libosinfo, например fedora29.

iommu

dictionary

Добавляет устройство IOMMU в гостевую систему.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства IOMMU.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет указано в командной строке перед другими свойствами.

iommu_devices

list / elements=dictionary

Настраивает несколько устройств IOMMU для гостевой системы.

iothreads

integer

Количество потоков ввода-вывода, которые необходимо настроить для гостевой системы.

iothreads_opts

dictionary

Дополнительные параметры конфигурации потоков ввода-вывода.

defaultiothread

dictionary

Позволяет определить цикл событий по умолчанию в гипервизоре.

thread_pool_max

integer

Задаёт верхний предел количества рабочих потоков для указанного IOThread.

thread_pool_min

integer

Задаёт нижний предел количества рабочих потоков для указанного IOThread.

iothread_specs

list / elements=dictionary

Позволяет явно задать идентификаторы IOThread для домена.

id

integer

Задаёт идентификатор IOThread.

thread_pool_max

integer

Задаёт верхний предел количества рабочих потоков для указанного IOThread.

thread_pool_min

integer

Задаёт нижний предел количества рабочих потоков для указанного IOThread.

keywrap

dictionary

Настраивает параметры keywrap домена, используемые для операций управления криптографическими ключами S390.

ciphers

list / elements=dictionary

Указывает параметры шифров для домена.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

launch_security

dictionary

Включает защиту запуска для гостевой системы.

cbitpos

integer

Положение C-бита (также называемого битом шифрования) в записи таблицы страниц гостевой системы.

dh_cert

string

Ключ Диффи — Хеллмана (DH) владельца гостевой системы в кодировке base64.

policy

string

Политика гостевой системы, которую должна соблюдать прошивка SEV, например 0x01.

reduced_phys_bits

integer

Сокращение разрядности физического адреса, например 1.

session

string

Двоичный объект сеанса владельца гостевой системы в кодировке base64, определённый в спецификации API SEV.

type

string / обязательный

Тип защиты запуска, которую необходимо включить, например sev.

location

string

Источник установки: URL или путь к каталогу, содержащему установочный носитель дистрибутива ОС.

location_opts

dictionary

Дополнительные параметры источника установки.

initrd

string

Путь к initrd относительно указанного расположения.

kernel

string

Путь к ядру относительно указанного расположения.

machine

string

Тип эмулируемой машины. Обычно для Xen или KVM его указывать не требуется.

memballoon

dictionary

Подключить к гостевой системе устройство виртуального баллона памяти.

Словарь содержит пары «ключ/значение», задающие отдельные свойства баллона памяти.

К распространённым свойствам относится model (например, virtio, xen).

Можно использовать специальный атрибут value, чтобы задать основное значение, которое в командной строке будет указано перед другими свойствами.

memballoon_devices

list / elements=dictionary

Настроить для гостевой системы несколько устройств баллона памяти.

memory

integer

Объём памяти, выделяемой гостевой системе, в МиБ.

memory_opts

dictionary

Дополнительные параметры выделения памяти.

current_memory

integer

Фактически выделенный гостевой системе объём памяти, в МиБ.

max_memory

integer

Максимальный объём памяти, который может быть выделен гостевой системе во время работы, в МиБ.

max_memory_opts

dictionary

Дополнительные параметры настройки максимального объёма памяти.

slots

integer

Количество слотов, доступных для добавления памяти гостевой системе.

memorybacking

dictionary

Указать, как страницы виртуальной памяти обеспечиваются страницами хоста

access

dictionary

Настроить разрешения доступа к памяти.

mode

string

Режим доступа к памяти.

Варианты:

  • "shared"
  • "private"

allocation

dictionary

Настроить поведение при выделении памяти.

mode

string

Указать, когда выделять память: при помощи immediate или ondemand.

Варианты:

  • "immediate"
  • "ondemand"

threads

integer

Количество потоков, используемых гипервизором для выделения памяти.

discard

boolean

Если задано значение true, содержимое памяти отбрасывается непосредственно перед завершением работы гостевой системы (или при извлечении модуля DIMM).

Варианты:

  • false
  • true

hugepage_specs

list / elements=dictionary

Настроить параметры страниц большого размера для обеспечения памяти.

nodeset

string

Указать узлы NUMA гостевой системы для использования страниц определённого размера.

page_size

integer

Указать размер страницы большого размера с суффиксом единицы измерения.

hugepages

boolean

Использовать страницы большого размера для обеспечения памяти.

Варианты:

  • false
  • true

locked

boolean

Страницы памяти будут заблокированы в памяти хоста и не будут выгружаться в подкачку.

Варианты:

  • false
  • true

nosharepages

boolean

Указывает гипервизору отключить совместное использование страниц (объединение памяти, KSM) для этого домена.

Варианты:

  • false
  • true

source

dictionary

добавлено в community.libvirt 2.1.0

Настроить источник обеспечения памяти.

type

string

Тип источника обеспечения памяти.

Варианты:

  • "anonymous"
  • "file"
  • "memfd"

memtune

dictionary

Настроить политику памяти для процесса домена.

Словарь содержит пары «ключ/значение», определяющие отдельные параметры memtune.

metadata

dictionary

Указать метаданные виртуальной машины гостевой системы.

Словарь содержит пары «ключ/значение», определяющие отдельные записи метаданных.

например, {uuid: 4dea22b3-1d52-d8f3-2516-782e98ab3fa0}

Используйте virt-install --metadata=?, чтобы просмотреть список всех доступных дополнительных параметров.

name

string / обязательный

Имя нового экземпляра виртуальной машины гостевой системы.

networks

list / elements=dictionary

Подключить гостевую систему к сети хоста.

Пустой список [] означает отсутствие сетевого интерфейса по умолчанию.

address

dictionary

Указать свойства контроллера, к которому должна быть подключена файловая система.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

boot

dictionary

Указать порядок загрузки для сетевого интерфейса.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

Параметры загрузки для отдельных устройств нельзя использовать одновременно с общими параметрами загрузки в разделе загрузчика ОС.

bridge

string

Имя моста хоста, к которому нужно подключиться.

driver

dictionary

Указать параметры драйвера гипервизора.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

filterref

dictionary

Настроить правила фильтрации сетевого трафика для гостевой системы.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

hostdev

string

Имя устройства хоста для подключения при type=hostdev.

Для прямого назначения сетевого устройства используется сквозная передача PCI.

mac

dictionary

Настройка MAC-адреса сетевого интерфейса.

address

string

Фиксированный MAC-адрес интерфейса гостевой системы.

Если адрес не указан, будет случайным образом сгенерирован подходящий адрес.

model

dictionary

Настройка модели сетевого устройства.

type

string

Модель сетевого устройства, видимая гостевой системе.

Примеры: virtio, e1000, rtl8139.

mtu

dictionary

Настроить параметры MTU для виртуального сетевого канала. — Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

network

string

Имя виртуальной сети libvirt, к которой нужно подключиться.

rom

dictionary

Указать конфигурацию ПЗУ BIOS интерфейса

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

source

dictionary

Указать параметры напрямую подключённого интерфейса macvtap.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

Можно использовать специальный атрибут value, чтобы задать основное значение, которое в командной строке будет указано перед другими свойствами.

Пример: source={value: bond0, mode: bridge}

state

dictionary

Задать состояние виртуального сетевого канала

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

target

dictionary

Указать параметры целевого сетевого устройства.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

trust_guest_rx_filters

boolean

Если задано значение true, хосту разрешается доверять изменениям MAC-адреса и изменениям фильтров приёма, передаваемым виртуальной машиной гостевой системы.

Варианты:

  • false
  • true

type

string

Тип сетевого интерфейса.

direct обеспечивает прямое подключение к сетевому интерфейсу хоста с использованием macvtap.

Если тип сетевого интерфейса не указан, он определяется по другим параметрам.

Варианты:

  • "direct"

virtualport

dictionary

Настроить параметры виртуального порта сетевого интерфейса.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

К распространённым свойствам относятся type (например, 802.1Qbg, 802.1Qbh, openvswitch, midonet) и parameters, содержащий параметры, зависящие от типа.

noreboot

boolean

Если задано значение true, виртуальная машина не будет автоматически перезагружена после завершения установки.

Варианты:

  • false
  • true

numatune

dictionary

Настроить политику NUMA для процесса домена.

memnode_specs

list / elements=dictionary

Указать политики выделения памяти для каждого узла NUMA гостевой системы.

cellid

integer

Указать идентификатор узла NUMA.

mode

string

Может принимать значение interleave, preferred или strict (по умолчанию)

Варианты:

  • "interleave"
  • "preferred"
  • "strict"

nodeset

string

Указывает узлы NUMA, из которых будет выделяться память.

memory

dictionary

Указывает, как выделять память процессу домена на хосте NUMA.

mode

string

Может принимать значение interleave, preferred или strict (по умолчанию)

Варианты:

  • "interleave"
  • "preferred"
  • "strict"

nodeset

string

Указывает узлы NUMA, из которых будет выделяться память.

placement

string

Указать режим размещения памяти для процесса домена.

Варианты:

  • "static"
  • "auto"

osinfo

dictionary

Оптимизировать конфигурацию гостевой системы для конкретной операционной системы.

detect

boolean

Следует ли virt-install попытаться определить ОС по указанному установочному носителю.

Варианты:

  • false
  • true

id

string

Полный идентификатор libosinfo в формате URL.

name

псевдонимы: short_id

string

Название ОС из libosinfo. (например, fedora32, win10)

require

boolean

Следует ли virt-install завершиться с ошибкой, если обнаружить ОС не удастся.

Варианты:

  • false
  • true

panic

dictionary

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

Словарь содержит пары ключ/значение, определяющие отдельные свойства устройства паники.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

panic_devices

list / elements=dictionary

Настроить несколько устройств паники для гостевой системы.

parallel

dictionary

Подключить параллельное устройство к гостевой системе.

Словарь содержит пары ключ/значение, определяющие отдельные свойства параллельного устройства.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

parallel_devices

list / elements=dictionary

Настроить несколько параллельных устройств для гостевой системы.

paravirt

boolean

Эта гостевая система должна быть паравиртуализированной.

Варианты:

  • false
  • true

pm

dictionary

Настроить управление питанием гостевой системы.

suspend_to_disk

dictionary

Настроить поддержку BIOS для состояний сна ACPI S4 (приостановка с сохранением на диск).

enabled

boolean

Включить или отключить это состояние сна.

Варианты:

  • false
  • true

suspend_to_mem

dictionary

Настроить поддержку BIOS для состояний сна ACPI S3 (приостановка с сохранением в память).

enabled

boolean

Включить или отключить это состояние сна.

Варианты:

  • false
  • true

pxe

boolean

Установить гостевую систему из PXE.

Варианты:

  • false
  • true

qemu_commandline

string

Передать параметры непосредственно эмулятору qemu. Работает только с драйвером qemu в libvirt.

recreate

boolean

Используется со значением present для принудительного пересоздания существующей виртуальной машины.

Варианты:

  • false ← (по умолчанию)
  • true

redirdev

dictionary

Добавить перенаправляемое устройство для USB или перенаправления других устройств.

Словарь содержит пары ключ/значение, определяющие отдельные свойства перенаправления.

Среди распространённых свойств — bus=usb, type=tcp или type=spicevmc.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

redirected_devices

list / elements=dictionary

Настроить несколько перенаправляемых устройств для гостевой системы.

resource

dictionary

Задать разделение ресурсов для гостевой системы.

Словарь содержит пары ключ/значение, определяющие отдельные записи ресурсов.

Используйте virt-install --resource=?, чтобы просмотреть список всех доступных вложенных параметров.

rng

dictionary

Настроить виртуальное устройство генератора случайных чисел (RNG).

Словарь содержит пары ключ/значение, определяющие отдельные свойства RNG.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

rng_devices

list / elements=dictionary

Настроить несколько устройств RNG для гостевой системы.

security

dictionary

Настроить параметры метки безопасности домена (seclabel).

Словарь содержит пары ключ/значение, определяющие отдельные записи безопасности.

serial

dictionary

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

Словарь содержит пары ключ/значение, определяющие отдельные свойства последовательного устройства.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

serial_devices

list / elements=dictionary

Настроить несколько последовательных устройств для гостевой системы.

shmem

dictionary

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

Словарь содержит пары ключ/значение, определяющие отдельные свойства разделяемой памяти.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

shmem_devices

list / elements=dictionary

Настроить несколько устройств разделяемой памяти для гостевой системы.

smartcard

dictionary

Настроить виртуальное устройство смарт-карты.

Словарь содержит пары ключ/значение, определяющие отдельные свойства смарт-карты.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

smartcard_devices

list / elements=dictionary

Настроить несколько устройств смарт-карт для гостевой системы.

sound

dictionary

Подключить к гостевой системе виртуальное аудиоустройство.

Словарь содержит пары ключ/значение, определяющие отдельные свойства звукового устройства.

Среди распространённых свойств — model (например, ich6, ich9, ac97).

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

sound_devices

list / elements=dictionary

Настроить несколько звуковых устройств для гостевой системы.

state

string

Если задано значение present, создать виртуальную машину, если она не существует.

Если задано значение absent, удалить виртуальную машину, если она существует.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

sysinfo

dictionary

Настроить значения sysinfo/SMBIOS, доступные ОС виртуальной машины.

Словарь содержит пары ключ/значение, определяющие отдельные записи sysinfo.

Используйте virt-install --sysinfo=?, чтобы просмотреть список всех доступных вложенных параметров.

tpm

dictionary

Настроить виртуальное устройство TPM (доверенного платформенного модуля).

Словарь содержит пары ключ/значение, определяющие отдельные свойства TPM.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

tpm_devices

list / elements=dictionary

Настроить несколько устройств TPM для гостевой системы.

transient

boolean

Если задано значение true, libvirt удаляет XML-конфигурацию виртуальной машины после завершения работы или перезапуска узла.

Варианты:

  • false
  • true

unattended

dictionary

Выполнить автоматическую установку с использованием поддержки сценариев установки в libosinfo.

admin_password_file

string

Файл, из которого будет взят пароль администратора/root ОС виртуальной машины.

product_key

string

Задать ключ продукта Windows.

profile

string

Выбрать профиль автоматической установки libosinfo.

user_login

string

Имя пользователя для виртуальной машины.

user_password_file

string

Файл, используемый для задания пароля пользователя виртуальной машины.

uri

string

URI подключения к libvirt.

По умолчанию: "qemu:///system"

vcpus

integer

Количество виртуальных ЦП, настраиваемых для гостевой системы.

vcpus_opts

dictionary

Дополнительные параметры конфигурации виртуального ЦП.

clusters

integer

Количество кластеров на кристалл

cores

integer

Количество ядер на кластер

cpuset

string

Список номеров физических ЦП через запятую, к которым по умолчанию можно привязать процесс домена и виртуальные ЦП.

current

integer

Указать, следует ли включить меньшее, чем максимальное, число виртуальных ЦП.

dies

integer

Количество кристаллов на сокет

maxvcpus

integer

Если параметр указан, во время работы гостевой системы можно будет подключить до MAX виртуальных ЦП.

placement

string

Указать режим размещения ЦП для процесса домена

Варианты:

  • "static"
  • "auto"

sockets

integer

Общее количество сокетов ЦП

threads

integer

Количество потоков на ядро

vcpu_specs

list / elements=dictionary

Настроить отдельные свойства виртуального ЦП.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

video

dictionary

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

Словарь содержит пары ключ/значение, определяющие отдельные свойства видеоустройства.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

video_devices

list / elements=dictionary

Настроить несколько видеоустройств для гостевой системы.

virt_type

string

Гипервизор, используемый для создания гостевой виртуальной машины. Примеры вариантов: kvm, qemu или xen.

vsock

dictionary

Настроить интерфейс vsock между узлом и гостевой системой.

Словарь содержит пары ключ/значение, определяющие отдельные свойства vsock.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

vsock_devices

list / elements=dictionary

Настроить несколько устройств vsock для гостевой системы.

watchdog

dictionary

Подключить к гостевой системе виртуальное аппаратное устройство сторожевого таймера.

Словарь содержит пары ключ/значение, определяющие отдельные свойства сторожевого таймера.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами.

watchdog_devices

list / elements=dictionary

Настроить несколько устройств сторожевого таймера для гостевой системы.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Поддерживается режим проверки.

Примечания

Примечание

  • Команда virt-install предоставляется разными пакетами в разных дистрибутивах.
  • В Debian/Ubuntu установите пакет virtinst.
  • В RHEL/CentOS/Fedora и openSUSE установите пакет virt-install.

См. также

См. также

Страница руководства virt-install

Страница руководства Ubuntu по инструменту virt-install.

Примеры

# Basic VM creation with Fedora installation
- name: Create a basic Fedora VM
  community.libvirt.virt_install:
    name: my-fedora-vm
    memory: 2048
    vcpus: 2
    disks:
      - size: 20
    osinfo:
      name: fedora39
    location: https://download.fedoraproject.org/pub/fedora/linux/releases/39/Server/x86_64/
    graphics:
      type: spice
    networks:
      - network: default

# Windows 10 VM with CDROM installation
- name: Create Windows 10 VM
  community.libvirt.virt_install:
    name: my-win10-vm
    memory: 4096
    vcpus: 4
    disks:
      - size: 40
        format: qcow2
    osinfo:
      name: win10
    cdrom: /path/to/my/win10.iso
    graphics:
      type: vnc
      password: mypassword
    networks:
      - network: default
        model:
          type: e1000

# Import existing disk image
- name: Import existing Debian VM
  community.libvirt.virt_install:
    name: my-debian-vm
    memory: 1024
    vcpus: 2
    disks:
      - path: /home/user/VMs/my-debian9.img
    osinfo:
      name: debian9
    import: true
    networks:
      - bridge: br0

# CentOS installation with custom storage and network configuration
- name: Create CentOS VM with custom configuration
  community.libvirt.virt_install:
    name: centos-server
    memory: 8192
    vcpus: 8
    disks:
      - pool: default
        size: 50
        format: qcow2
        cache: writeback
      - pool: default
        size: 100
        format: qcow2
        bus: virtio
    osinfo:
      name: centos7.0
    location: http://mirror.centos.org/centos-7/7/os/x86_64/
    extra_args: "ks=http://myserver/centos7.ks"
    graphics:
      type: vnc
      listen: 0.0.0.0
      port: 5901
    networks:
      - bridge: br0
        model:
          type: virtio
      - network: isolated-net

# Ubuntu server with unattended installation
- name: Create Ubuntu server with unattended install
  community.libvirt.virt_install:
    name: ubuntu-server
    memory: 2048
    vcpus: 2
    disks:
      - size: 25
    osinfo:
      name: ubuntu20.04
    location: http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/
    unattended:
      profile: jeos
      admin_password_file: /tmp/root_password
      user_login: ansible
      user_password_file: /tmp/user_password
    networks:
      - network: default

# ARM VM with custom kernel
- name: Create ARM VM with custom kernel
  community.libvirt.virt_install:
    name: arm-test-vm
    memory: 1024
    vcpus: 2
    arch: armv7l
    machine: vexpress-a9
    disks:
      - path: /home/user/VMs/myarmdisk.img
    boot:
      kernel: /tmp/my-arm-kernel
      initrd: /tmp/my-arm-initrd
      dtb: /tmp/my-arm-dtb
      kernel_args: "console=ttyAMA0 rw root=/dev/mmcblk0p3"
    graphics:
      type: none
    networks:
      - network: default

# VM with SEV launch security (AMD)
- name: Create SEV-enabled VM
  community.libvirt.virt_install:
    name: sev-vm
    memory: 4096
    memtune:
      hard_limit: 4563402
    vcpus: 4
    machine: q35
    boot: uefi
    disks:
      - size: 15
        bus: scsi
    controller_devices:
      - type: scsi
        model: virtio-scsi
        driver:
          iommu: "on"
      - type: virtio-serial
        driver:
          iommu: "on"
    networks:
      - network: default
        model:
          type: virtio
        driver:
          iommu: "on"
    rng:
      backend:
        type: random
        source: /dev/random
      driver:
        iommu: "on"
    memballoon:
      model: virtio
      driver:
        iommu: "on"
    launch_security:
      type: sev
      policy: "0x01"
    osinfo:
      name: fedora39
    import: true


# VM with PCI passthrough for a network device
- name: Create VM with PCI network passthrough
  community.libvirt.virt_install:
    name: passthrough-vm
    memory: 4096
    vcpus: 4
    disks:
      - size: 30
    osinfo:
      name: ubuntu20.04
    import: true
    host_devices:
      - value: "81:00.0"

# Recreate existing VM
- name: Recreate existing VM with new configuration
  community.libvirt.virt_install:
    name: existing-vm
    state: present
    recreate: true
    memory: 4096
    vcpus: 4
    disks:
      - size: 40
    osinfo:
      name: fedora39
    cdrom: /path/to/fedora39.iso
    networks:
      - network: default

# Remove VM
- name: Remove VM
  community.libvirt.virt_install:
    name: unwanted-vm
    state: absent

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

commands

list / elements=string

добавлено в community.libvirt 2.2.0

Список команд virt-install, выполненных этим модулем.

Заполняется только при создании или повторном создании ВМ (state=present и ВМ ещё не существовала либо recreate=true).

В режиме проверки команда включает флаг --dry-run.

Возвращается: если была выполнена команда virt-install

Пример: ["virt-install --name test-vm --memory 2048 --vcpus 2 --import --disk path=/var/lib/libvirt/images/test.qcow2"]

Авторы

  • Joey Zhang (@thinkdoggie)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/libvirt/virt_install_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API