Модуль 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 | Установить флаг автоматического запуска для домена. Варианты:
|
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 |
Задать смещение часов, например |
|
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 может сбрасывать настройки аутентификации при каждой загрузке. Варианты:
|
|
meta_data any |
Указать содержимое файла метаданных cloud-init. Можно передать строку YAML (например, используя оператор ‘|’ в Ansible) или структуру словаря. Примечание: предпочтительнее использовать строковые значения, поскольку значения словаря не позволяют гарантировать сохранение порядка. |
|
network_config any |
Указать содержимое файла конфигурации сети cloud-init. Можно передать строку YAML (например, используя оператор ‘|’ в Ansible) или структуру словаря. Примечание: предпочтительнее использовать строковые значения, поскольку значения словаря не позволяют гарантировать сохранение порядка. |
|
root_password_file string |
Файл, из которого будет задан пароль root виртуальной машины. |
|
root_password_generate boolean |
Создать новый пароль root для виртуальной машины. Варианты:
|
|
root_ssh_key string |
Указать файл открытого ключа для внедрения в гостевую систему. |
|
user_data any |
Указать содержимое файла пользовательских данных cloud-init. Можно передать строку YAML (например, используя оператор ‘|’ в Ansible) или структуру словаря. Примечание: предпочтительнее использовать строковые значения, поскольку значения словаря не позволяют гарантировать сохранение порядка. |
console dictionary | Подключить текстовую консоль между гостевой системой и хостом. Словарь содержит пары ключ/значение, задающие отдельные свойства консоли. К распространенным свойствам для разных типов консолей относятся type и target. Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами. |
console_devices list / elements=dictionary | Настроить несколько устройств консоли для гостевой системы. |
container boolean | Гостевая система должна быть контейнерного типа. Варианты:
|
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 |
Если задано значение Если задано значение Если задано значение Варианты:
|
|
features dictionary |
Точно настроить функции, предоставляемые выбранной моделью ЦП. Значение должно быть словарём, в котором каждый ключ — это имя функции, а значение — словарь параметров этой функции. Пустой объект |
|
policy string |
Политика для функции ЦП. Если задано значение Если задано значение Если задано значение Если задано значение Если задано значение Варианты:
|
|
match string |
Указать строгость соответствия модели ЦП. Варианты:
|
|
migratable boolean |
Указать, допускает ли эта модель ЦП миграцию. Варианты:
|
|
model string |
Допустимая модель ЦП или режим конфигурации для гостевой системы. Возможные значения: |
|
model_opts dictionary |
Дополнительные параметры конфигурации модели ЦП. |
|
fallback string |
Указать, следует ли автоматически переключаться на ближайшую модель, поддерживаемую гипервизором, если невозможно использовать точную модель ЦП. Варианты:
|
|
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. Варианты:
|
|
distances dictionary |
Задать расстояние между ячейками NUMA. |
|
sibling_specs list / elements=dictionary |
Указать значение расстояния между соседними ячейками NUMA. Каждая запись словаря содержит имя свойства и соответствующее ему значение. |
|
id integer |
Указать идентификатор узла NUMA. |
|
mem_access string |
Указать режим доступа к памяти для узла NUMA. Допустимо только для памяти на основе hugepages и модулей nvdimm. Варианты:
|
|
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 |
Тип планировщика. Варианты:
|
|
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 |
Тип планировщика. Варианты:
|
|
period integer |
Укажите интервал принудительного применения (в микросекундах). Значение должно находиться в диапазоне [1000, 1000000]. Значение периода 0 означает отсутствие значения. |
|
quota integer |
Укажите максимальную допустимую пропускную способность (в микросекундах). Если квота домена имеет любое отрицательное значение, это означает, что пропускная способность потоков vCPU домена не ограничена. |
|
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 |
Тип планировщика. Варианты:
|
|
vcpus string |
Выберите vCPU, к которым применяется эта настройка. |
destroy_on_exit boolean | Если задано значение Варианты:
|
disks list / elements=dictionary | Укажите устройства хранения данных для гостевой системы. |
|
address dictionary |
Укажите свойства контроллера, к которому следует подключить диск. Словарь содержит пары «ключ/значение», задающие отдельные свойства. |
|
backing_format string |
Формат образа диска для backing_store. |
|
backing_store string |
Путь к диску, который будет использоваться в качестве базового хранилища для нового образа. |
|
blockio dictionary |
Переопределите свойства блочного устройства диска по умолчанию. Словарь содержит пары «ключ/значение», задающие отдельные свойства. |
|
boot dictionary |
Укажите порядок загрузки для дискового устройства. Словарь содержит пары «ключ/значение», задающие отдельные свойства. Параметры загрузки для отдельных устройств нельзя использовать одновременно с общими параметрами загрузки в разделе загрузчика ОС. |
|
bus string |
Тип шины диска (например, |
|
cache string |
Используемый режим кэширования. Варианты:
|
|
driver dictionary |
Укажите параметры драйвера диска гипервизора. Словарь содержит пары «ключ/значение», задающие отдельные свойства. |
|
format string |
Формат образа диска. Для файловых томов это может быть |
|
geometry dictionary |
Переопределите параметры геометрии диска. Словарь содержит пары «ключ/значение», задающие отдельные свойства. |
|
iotune dictionary |
Укажите дополнительные параметры настройки ввода-вывода для отдельного устройства. Словарь содержит пары «ключ/значение», задающие отдельные свойства. |
|
path string |
Путь к существующему или ещё не созданному носителю данных. |
|
pool string |
Имя существующего пула хранения libvirt, в котором следует создать хранилище. |
|
rawio boolean |
Укажите, требуется ли диску возможность прямого ввода-вывода (rawio). Варианты:
|
|
readonly boolean |
Установить для диска режим только для чтения Варианты:
|
|
serial string |
Серийный номер эмулируемого дискового устройства. |
|
sgio string |
Укажите, следует ли фильтровать непривилегированные команды SG_IO для диска. Доступно только для устройства типа «lun». Варианты:
|
|
boolean |
Установить для диска режим совместного использования Варианты:
|
|
size integer |
Размер (в ГиБ), используемый при создании нового хранилища. |
|
snapshot string |
Задает поведение диска по умолчанию при создании снимков диска. Варианты:
|
|
source dictionary |
Укажите параметры источника диска. Словарь содержит пары «ключ/значение», задающие отдельные свойства. |
|
sparse boolean |
Следует ли пропустить полное выделение пространства для вновь созданного хранилища. Варианты:
|
|
target dictionary |
Укажите параметры целевого дискового устройства. Словарь содержит пары «ключ/значение», задающие отдельные свойства. |
|
transient boolean |
Если задано значение Варианты:
|
|
transient_opts dictionary |
Дополнительные параметры конфигурации временного диска. |
|
boolean |
Если задано значение Варианты:
|
|
vol string |
Используемый существующий том хранилища libvirt. |
events dictionary | Укажите значения событий для гостевой системы. |
|
on_crash string |
Действие при сбое гостевой системы. Варианты:
|
|
on_lockfailure string |
Действие при потере менеджером блокировок блокировок ресурсов. Варианты:
|
|
on_poweroff string |
Действие, выполняемое при запросе гостевой системой выключения. Варианты:
|
|
on_reboot string |
Действие, выполняемое при запросе гостевой системой перезагрузки. Варианты:
|
extra_args string | Дополнительные аргументы командной строки ядра, передаваемые установщику при установке гостевой системы с помощью |
features dictionary | Включить или отключить отдельные функции компьютера. Значение должно представлять собой словарь, в котором каждый ключ — это название функции, а значение — словарь параметров этой функции. Пустой объект Пример: |
filesystems list / elements=dictionary | Указывает каталоги на хосте, которые необходимо экспортировать в гостевую систему. |
|
accessmode string |
Указывает режим безопасности для доступа к источнику. Варианты:
|
|
address dictionary |
Указывает свойства контроллера, к которому следует подключить файловую систему. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
binary dictionary |
Настраивает параметры virtiofsd. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
dmode string |
Режим создания каталогов при использовании значения |
|
driver dictionary |
Указывает параметры драйвера гипервизора. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
fmode string |
Режим создания файлов при использовании значения |
|
multidevs string |
Указывает, как обрабатывать экспорт файловой системы, содержащий более одного устройства. Варианты:
|
|
readonly boolean |
Включает экспорт файловой системы в гостевую систему в режиме только для чтения. Варианты:
|
|
source dictionary |
Конфигурация исходного каталога на хосте. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
space_hard_limit integer |
Максимальный объём пространства, доступный файловой системе этой гостевой системы |
|
space_soft_limit integer |
Максимальный объём пространства, доступный файловой системе этой гостевой системы. |
|
target dictionary |
Конфигурация точки монтирования в гостевой системе. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
type string |
Указывает тип источника файловой системы. Варианты:
|
graphics dictionary | Настраивает графический дисплей гостевой виртуальной машины. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. К распространённым свойствам относятся type (например, |
graphics_devices list / elements=dictionary | Настраивает несколько графических устройств для гостевой системы. |
host_devices list / elements=dictionary | Настраивает несколько устройств хоста для гостевой системы. |
hostdev dictionary | Подключает физическое устройство хоста к гостевой системе. Словарь содержит пары «ключ/значение», определяющие отдельные свойства устройства хоста. Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет указано в командной строке перед другими свойствами. |
hvm boolean | Запрашивает использование полной виртуализации. Варианты:
|
idmap dictionary | Настраивает сопоставление UID или GID для гостевой системы. |
|
gid dictionary |
Конфигурация сопоставления GID. |
|
count integer |
Количество групп в контейнере, которым разрешено сопоставление с пользователем хоста. |
|
start integer |
Идентификатор первой группы в контейнере. |
|
target integer |
Идентификатор первой группы в контейнере будет сопоставлен с этим целевым идентификатором пользователя на хосте. |
|
uid dictionary |
Конфигурация сопоставления UID. |
|
count integer |
Количество пользователей в контейнере, которым разрешено сопоставление с пользователем хоста. |
|
start integer |
Идентификатор первого пользователя в контейнере. |
|
target integer |
Идентификатор первого пользователя в контейнере будет сопоставлен с этим целевым идентификатором пользователя на хосте. |
import boolean | Пропускает установку ОС и создаёт гостевую систему на основе существующего образа диска. Варианты:
|
initrd_inject string | Добавляет PATH в корень initrd, полученного с помощью |
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 по умолчанию, а не добавляет новые к ним. Варианты:
|
|
no_install boolean |
Сообщает virt-install, что установка фактически не выполняется и требуется только создать виртуальную машину. Варианты:
|
|
os string / обязательный |
Название ОС из libosinfo, например |
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, например |
|
reduced_phys_bits integer |
Сокращение разрядности физического адреса, например |
|
session string |
Двоичный объект сеанса владельца гостевой системы в кодировке base64, определённый в спецификации API SEV. |
|
type string / обязательный |
Тип защиты запуска, которую необходимо включить, например |
location string | Источник установки: URL или путь к каталогу, содержащему установочный носитель дистрибутива ОС. |
location_opts dictionary | Дополнительные параметры источника установки. |
|
initrd string |
Путь к initrd относительно указанного расположения. |
|
kernel string |
Путь к ядру относительно указанного расположения. |
machine string | Тип эмулируемой машины. Обычно для Xen или KVM его указывать не требуется. |
memballoon dictionary | Подключить к гостевой системе устройство виртуального баллона памяти. Словарь содержит пары «ключ/значение», задающие отдельные свойства баллона памяти. К распространённым свойствам относится model (например, Можно использовать специальный атрибут 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 |
Режим доступа к памяти. Варианты:
|
|
allocation dictionary |
Настроить поведение при выделении памяти. |
|
mode string |
Указать, когда выделять память: при помощи Варианты:
|
|
threads integer |
Количество потоков, используемых гипервизором для выделения памяти. |
|
discard boolean |
Если задано значение Варианты:
|
|
hugepage_specs list / elements=dictionary |
Настроить параметры страниц большого размера для обеспечения памяти. |
|
nodeset string |
Указать узлы NUMA гостевой системы для использования страниц определённого размера. |
|
page_size integer |
Указать размер страницы большого размера с суффиксом единицы измерения. |
|
hugepages boolean |
Использовать страницы большого размера для обеспечения памяти. Варианты:
|
|
locked boolean |
Страницы памяти будут заблокированы в памяти хоста и не будут выгружаться в подкачку. Варианты:
|
|
boolean |
Указывает гипервизору отключить совместное использование страниц (объединение памяти, KSM) для этого домена. Варианты:
|
|
source dictionary добавлено в community.libvirt 2.1.0 |
Настроить источник обеспечения памяти. |
|
type string |
Тип источника обеспечения памяти. Варианты:
|
memtune dictionary | Настроить политику памяти для процесса домена. Словарь содержит пары «ключ/значение», определяющие отдельные параметры memtune. |
metadata dictionary | Указать метаданные виртуальной машины гостевой системы. Словарь содержит пары «ключ/значение», определяющие отдельные записи метаданных. например, Используйте |
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 |
Модель сетевого устройства, видимая гостевой системе. Примеры: |
|
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 |
Если задано значение Варианты:
|
|
type string |
Тип сетевого интерфейса.
Если тип сетевого интерфейса не указан, он определяется по другим параметрам. Варианты:
|
|
virtualport dictionary |
Настроить параметры виртуального порта сетевого интерфейса. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. К распространённым свойствам относятся type (например, |
noreboot boolean | Если задано значение Варианты:
|
numatune dictionary | Настроить политику NUMA для процесса домена. |
|
memnode_specs list / elements=dictionary |
Указать политики выделения памяти для каждого узла NUMA гостевой системы. |
|
cellid integer |
Указать идентификатор узла NUMA. |
|
mode string |
Может принимать значение Варианты:
|
|
nodeset string |
Указывает узлы NUMA, из которых будет выделяться память. |
|
memory dictionary |
Указывает, как выделять память процессу домена на хосте NUMA. |
|
mode string |
Может принимать значение Варианты:
|
|
nodeset string |
Указывает узлы NUMA, из которых будет выделяться память. |
|
placement string |
Указать режим размещения памяти для процесса домена. Варианты:
|
osinfo dictionary | Оптимизировать конфигурацию гостевой системы для конкретной операционной системы. |
|
detect boolean |
Следует ли Варианты:
|
|
id string |
Полный идентификатор libosinfo в формате URL. |
|
name псевдонимы: short_id string |
Название ОС из libosinfo. (например, |
|
require boolean |
Следует ли Варианты:
|
panic dictionary | Подключить к гостевой системе устройство уведомления о панике. Словарь содержит пары ключ/значение, определяющие отдельные свойства устройства паники. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами. |
panic_devices list / elements=dictionary | Настроить несколько устройств паники для гостевой системы. |
parallel dictionary | Подключить параллельное устройство к гостевой системе. Словарь содержит пары ключ/значение, определяющие отдельные свойства параллельного устройства. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами. |
parallel_devices list / elements=dictionary | Настроить несколько параллельных устройств для гостевой системы. |
paravirt boolean | Эта гостевая система должна быть паравиртуализированной. Варианты:
|
pm dictionary | Настроить управление питанием гостевой системы. |
|
suspend_to_disk dictionary |
Настроить поддержку BIOS для состояний сна ACPI S4 (приостановка с сохранением на диск). |
|
enabled boolean |
Включить или отключить это состояние сна. Варианты:
|
|
suspend_to_mem dictionary |
Настроить поддержку BIOS для состояний сна ACPI S3 (приостановка с сохранением в память). |
|
enabled boolean |
Включить или отключить это состояние сна. Варианты:
|
pxe boolean | Установить гостевую систему из PXE. Варианты:
|
qemu_commandline string | Передать параметры непосредственно эмулятору qemu. Работает только с драйвером qemu в libvirt. |
recreate boolean | Используется со значением present для принудительного пересоздания существующей виртуальной машины. Варианты:
|
redirdev dictionary | Добавить перенаправляемое устройство для USB или перенаправления других устройств. Словарь содержит пары ключ/значение, определяющие отдельные свойства перенаправления. Среди распространённых свойств — bus=usb, type=tcp или type=spicevmc. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами. |
redirected_devices list / elements=dictionary | Настроить несколько перенаправляемых устройств для гостевой системы. |
resource dictionary | Задать разделение ресурсов для гостевой системы. Словарь содержит пары ключ/значение, определяющие отдельные записи ресурсов. Используйте |
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 (например, Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами. |
sound_devices list / elements=dictionary | Настроить несколько звуковых устройств для гостевой системы. |
state string | Если задано значение Если задано значение Варианты:
|
sysinfo dictionary | Настроить значения sysinfo/SMBIOS, доступные ОС виртуальной машины. Словарь содержит пары ключ/значение, определяющие отдельные записи sysinfo. Используйте |
tpm dictionary | Настроить виртуальное устройство TPM (доверенного платформенного модуля). Словарь содержит пары ключ/значение, определяющие отдельные свойства TPM. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами. |
tpm_devices list / elements=dictionary | Настроить несколько устройств TPM для гостевой системы. |
transient boolean | Если задано значение Варианты:
|
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. По умолчанию: |
vcpus integer | Количество виртуальных ЦП, настраиваемых для гостевой системы. |
vcpus_opts dictionary | Дополнительные параметры конфигурации виртуального ЦП. |
|
clusters integer |
Количество кластеров на кристалл |
|
cores integer |
Количество ядер на кластер |
|
cpuset string |
Список номеров физических ЦП через запятую, к которым по умолчанию можно привязать процесс домена и виртуальные ЦП. |
|
current integer |
Указать, следует ли включить меньшее, чем максимальное, число виртуальных ЦП. |
|
dies integer |
Количество кристаллов на сокет |
|
maxvcpus integer |
Если параметр указан, во время работы гостевой системы можно будет подключить до MAX виртуальных ЦП. |
|
placement string |
Указать режим размещения ЦП для процесса домена Варианты:
|
|
sockets integer |
Общее количество сокетов ЦП |
|
threads integer |
Количество потоков на ядро |
|
vcpu_specs list / elements=dictionary |
Настроить отдельные свойства виртуального ЦП. Каждая запись словаря содержит имя свойства и соответствующее ему значение. |
video dictionary | Указать модель видеоустройства, которое будет подключено к гостевой системе. Словарь содержит пары ключ/значение, определяющие отдельные свойства видеоустройства. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке выводится перед другими свойствами. |
video_devices list / elements=dictionary | Настроить несколько видеоустройств для гостевой системы. |
virt_type string | Гипервизор, используемый для создания гостевой виртуальной машины. Примеры вариантов: |
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, выполненных этим модулем. Заполняется только при создании или повторном создании ВМ ( В режиме проверки команда включает флаг Возвращается: если была выполнена команда virt-install Пример: |
Ссылки на коллекцию
© 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