Spec-Zone.ru › Ansible

Модуль community.general.proxmox_kvm — Управление виртуальными машинами Qemu(KVM) в кластере Proxmox VE

Примечание

Этот модуль является частью коллекции community.general (версия 9.5.0).

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

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

Для использования в книге задач укажите: community.general.proxmox_kvm.

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

Описание

  • Позволяет создавать/удалять/останавливать виртуальные машины Qemu(KVM) в кластере Proxmox VE.
  • Начиная с версии community.general 4.0.0, значения по умолчанию больше не используются, см. proxmox_default_behavior.

Требования

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

  • proxmoxer
  • requests

Параметры

Параметр

Комментарии

acpi

логическое

Указать, должен ли быть включён/выключен ACPI.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не задано compatibility; в этом случае значение по умолчанию true.

Варианты:

  • false
  • true

agent

строка

Указать, должен ли быть включён/выключен QEMU Guest Agent.

Начиная с community.general 5.5.0, это также может быть строка вместо логического значения. Это позволяет указать значения, такие как enabled=1,fstrim_cloned_disks=1.

api_host

строка / обязательно

Указать целевой хост кластера Proxmox VE.

api_password

строка

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

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

api_port

целое число

добавлен в community.general 9.1.0

Указать целевой порт кластера Proxmox VE.

Использует переменную окружения PROXMOX_PORT, если не указано.

api_token_id

строка

добавлен в community.general 1.3.0

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

Требуется proxmoxer>=1.1.0, чтобы работать.

api_token_secret

строка

добавлен в community.general 1.3.0

Указать секрет токена.

Требуется proxmoxer>=1.1.0, чтобы работать.

api_user

строка / обязательно

Указать пользователя для аутентификации.

archive

строка

добавлен в community.general 6.5.0

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

args

строка

Передать произвольные аргументы в kvm.

Этот параметр предназначен только для экспертов!

Если proxmox_default_behavior установлено на compatibility, по умолчанию используется -serial unix:/var/run/qemu-server/<vmid>.serial,server,nowait.

autostart

логическое

Указать, должна ли ВМ автоматически перезапускаться после сбоя (в настоящее время игнорируется в API PVE).

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не задано compatibility; в этом случае значение по умолчанию false.

Варианты:

  • false
  • true

balloon

целое число

Указать количество оперативной памяти для ВМ в МБ.

Использование нуля отключает драйвер balloon.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не задано compatibility; в этом случае значение по умолчанию 0.

bios

строка

Указать реализацию BIOS.

Варианты:

  • "seabios"
  • "ovmf"

boot

строка

Указать порядок загрузки: с дискеты a, жесткого диска c, CD-ROM d, или сети n.

Для более новых версий Proxmox VE используйте порядок загрузки, такой как order=scsi0;net0;hostpci0.

Можно комбинировать для установки порядка.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не задано compatibility; в этом случае значение по умолчанию cnd.

bootdisk

строка

Включить загрузку с указанного диска. Формат (ide|sata|scsi|virtio)\d+.

cicustom

строка

добавлен в community.general 1.3.0

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

cipassword

строка

добавлен в community.general 1.3.0

cloud-init: пароль пользователя по умолчанию для создания.

citype

строка

добавлен в community.general 1.3.0

cloud-init: Указывает формат конфигурации cloud-init.

Значение по умолчанию зависит от настроенного типа операционной системы (ostype).

Мы используем формат nocloud для Linux и configdrive2 для Windows.

Варианты:

  • "nocloud"
  • "configdrive2"

ciuser

строка

добавлен в community.general 1.3.0

cloud-init: имя пользователя по умолчанию для создания.

clone

строка

Имя ВМ для клонирования. Если vmid установлено, clone может принимать произвольное значение, но обязательно для запуска клонирования.

cores

integer

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

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлено в compatibility; в противном случае значение по умолчанию - 1.

cpu

string

Указать тип эмулируемого процессора.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлено в compatibility; в противном случае значение по умолчанию - kvm64.

cpulimit

integer

Указать, будет ли ограничена загрузка процессора. Значение 0 означает отсутствие ограничения.

Если компьютер имеет 2 процессора, общее время работы процессора составляет «2».

cpuunits

integer

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

Вы можете отключить конфигурацию fair-scheduler, установив это значение в 0

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлено в compatibility; в противном случае значение по умолчанию - 1000.

delete

string

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

description

string

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

Сохраняется как комментарий в файле конфигурации.

digest

string

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

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

efidisk0

dictionary

добавлено в community.general 4.5.0

Указать хеш/словарь параметров диска EFI.

Требуется, чтобы bios=ovmf был установлен, чтобы использовать его.

efitype

string

efitype указывает размер EFI-диска.

2m позволит создать EFI-диск размером 2 МБ, чего будет достаточно для сохранения порядка загрузки и новых записей загрузки.

4m позволит создать EFI-диск размером 4 МБ, что дополнительно позволит хранить ключи EFI для включения Secure Boot.

Варианты:

  • "2m"
  • "4m"

format

string

format - это формат данных файла резервной копии диска. Обратитесь к руководству администратора Proxmox VE, раздел Proxmox VE Storage (см. https://pve.proxmox.com/pve-docs/chapter-pvesm.html для последней версии, таблицы с 3 по 14), чтобы узнать, какой формат поддерживается предоставленным хранилищем.

pre_enrolled_keys

boolean

pre_enrolled_keys указывает, должны ли ключи EFI для Secure Boot быть внесены 1 в микропрограмму ВМ при создании или нет (0).

Если установлено 1, Secure Boot также будет включен по умолчанию при создании виртуальной машины.

Варианты:

  • false
  • true

storage

string

storage - идентификатор хранилища, в котором нужно создать диск.

force

boolean

Разрешить принудительное завершение работы ВМ.

Можно использовать с состояниями stopped, restarted, и absent.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлено в compatibility; в противном случае значение по умолчанию - false.

Требуется параметр archive.

Варианты:

  • false
  • true

format

string

Формат данных файла резервной копии целевого диска.

Используется только с клонированием

Используйте format=unspecified и full=false для связанного клонирования.

Обратитесь к руководству администратора Proxmox VE, раздел Proxmox VE Storage (см. https://pve.proxmox.com/pve-docs/chapter-pvesm.html для последней версии, таблицы с 3 по 14), чтобы узнать, какой формат поддерживается предоставленным хранилищем.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлено в compatibility; в противном случае значение по умолчанию - qcow2. Если proxmox_default_behavior установлено в no_defaults, отсутствие указания этого параметра эквивалентно его установке в unspecified.

Варианты:

  • "cloop"
  • "cow"
  • "qcow"
  • "qcow2"
  • "qed"
  • "raw"
  • "vmdk"
  • "unspecified"

freeze

boolean

Указать, нужно ли заморозить процессор PVE при запуске (использовать команду монитора «c» для начала выполнения).

Варианты:

  • false
  • true

full

boolean

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

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

Используется только с клонированием.

Варианты:

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

hookscript

string

добавлено в community.general 8.1.0

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

hostpci

dictionary

Укажите хэш/словарь сопоставления устройств хоста pci с гостевыми. hostpci='{"key":"value", "key":"value"}'.

Допустимые ключи - hostpci[n] где 0 ≤ n ≤ N.

Допустимые значения - "host="HOSTPCIID[;HOSTPCIID2...]",pcie="1|0",rombar="1|0",x-vga="1|0"".

Параметр host - это передача устройства хоста PCI. Синтаксис HOSTPCIID: bus:dev.func (шестнадцатеричные числа).

pcie=boolean default=0 Выберите шину PCI-express (требуется модель машины q35).

rombar=boolean default=1 Укажите, будет ли ROM устройства отображаться в карте памяти гостевой системы.

x-vga=boolean default=0 Включить поддержку устройства vfio-vga.

/!\ Этот параметр позволяет прямой доступ к оборудованию хоста. Таким образом, миграция таких машин больше невозможна - используйте с осторожностью.

hotplug

string

Выборочно включить функции горячей замены.

Это список функций горячей замены, разделенных запятыми network, disk, cpu, memory и usb.

Значение 0 полностью отключает горячую замену, а значение 1 является псевдонимом для значения по умолчанию network,disk,usb.

hugepages

string

Включить/отключить память hugepages.

Варианты:

  • "any"
  • "2"
  • "1024"

ide

dictionary

Хэш/словарь томов, используемых в качестве жесткого диска IDE или CD-ROM. ide='{"key":"value", "key":"value"}'.

Допустимые ключи - ide[n] где 0 ≤ n ≤ 3.

Допустимые значения - "storage:size,format=value".

storage - это идентификатор хранилища, где будет создан диск.

size - это размер диска в ГБ.

format - это формат данных файла резервной копии диска. qcow2|raw|subvol. Обратитесь к руководству администратора Proxmox VE, раздел Хранилище Proxmox VE (см. https://pve.proxmox.com/pve-docs/chapter-pvesm.html для последней версии, таблицы 3-14), чтобы узнать, какие форматы поддерживаются предоставленным хранилищем.

ipconfig

dictionary

добавлено в community.general 1.3.0

cloud-init: Настройка IP-конфигурации.

Хэш/словарь IP-конфигураций сети. ipconfig='{"key":"value", "key":"value"}'.

Допустимые ключи - ipconfig[n] где 0 ≤ n ≤ сетевых интерфейсов.

Допустимые значения - "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]".

cloud-init: Укажите IP-адреса и шлюзы для соответствующего интерфейса.

IP-адреса используют нотацию CIDR, шлюзы необязательны, но должны находиться в той же подсети, что и указанный IP-адрес.

Специальная строка «dhcp» может использоваться для IP-адресов для использования DHCP, в этом случае явно указывать шлюз не следует.

Для IPv6 специальная строка «auto» может использоваться для использования бесстатной автоматической конфигурации.

Если cloud-init включен и не указан ни IPv4, ни IPv6 адрес, по умолчанию используется dhcp для IPv4.

keyboard

string

Устанавливает раскладку клавиатуры для VNC-сервера.

kvm

boolean

Включить/отключить аппаратную виртуализацию KVM.

Этот параметр не имеет значения по умолчанию, если только proxmox_default_behavior не установлен в compatibility; тогда значением по умолчанию будет true.

Варианты:

  • false
  • true

localtime

boolean

Устанавливает часы реального времени на локальное время.

Включено по умолчанию, если ostype указывает на операционную систему Microsoft.

Варианты:

  • false
  • true

lock

string

Блокировать/разблокировать ВМ.

Варианты:

  • "migrate"
  • "backup"
  • "snapshot"
  • "rollback"

machine

string

Указывает тип машины Qemu.

Тип => (pc|pc(-i440fx)?-\d+\.\d+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?).

memory

integer

Размер памяти в МБ для экземпляра.

Этот параметр не имеет значения по умолчанию, если только proxmox_default_behavior не установлен в compatibility; тогда значением по умолчанию будет 512.

migrate

boolean

добавлено в community.general 7.0.0

Мигрировать ВМ на node, если она находится на другом узле.

Варианты:

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

migrate_downtime

integer

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

migrate_speed

integer

Устанавливает максимальную скорость (в МБ/с) для миграций.

Значение 0 означает отсутствие ограничения.

name

string

Указывает имя ВМ. Имя может быть не уникальным в кластере.

Требуется только для state=present.

С state=present, если vmid не указан и ВМ с таким именем существует в кластере, никаких изменений не будет произведено.

nameservers

list / elements=string

добавлено в community.general 1.3.0

cloud-init: IP-адрес(а) DNS-сервера.

Если не указано, используются настройки хоста PVE.

net

dictionary

Хэш/словарь сетевых интерфейсов для виртуальной машины. net='{"key":"value", "key":"value"}'.

Допустимые ключи - net[n] где 0 ≤ n ≤ N.

Допустимые значения - "model="XX:XX:XX:XX:XX:XX",bridge="value",rate="value",tag="value",firewall="1|0",trunks="vlanid"".

Модель - одна из e1000 e1000-82540em e1000-82544gc e1000-82545em i82551 i82557b i82559er ne2k_isa ne2k_pci pcnet rtl8139 virtio vmxnet3.

XX:XX:XX:XX:XX:XX должен быть уникальным MAC-адресом. Он генерируется автоматически, если не указан.

Параметр bridge может использоваться для автоматического добавления интерфейса к мостовому устройству. Стандартный мост Proxmox VE называется «vmbr0».

Параметр rate используется для ограничения полосы пропускания трафика от и до этого интерфейса. Он задается как число с плавающей точкой, единица измерения - «мегабайт в секунду».

Если мост не указан, мы создаем сетевое устройство kvm «user» (NATed), которое предоставляет службы DHCP и DNS.

newid

integer

VMID для клона. Используется только с клонированием.

Если newid не задан, следующий доступный идентификатор VM будет получен из ProxmoxAPI.

node

string

Узел Proxmox VE, на котором нужно выполнить операцию.

Требуется только для state=present.

Для всех остальных состояний он будет автоматически обнаружен.

numa

dictionary

Хэш/словари топологии NUMA. numa='{"key":"value", "key":"value"}'.

Допустимые ключи - numa[n] где 0 ≤ n ≤ N.

Допустимые значения - "cpu="<id[-id];...>",hostnodes="<id[-id];...>",memory="number",policy="(bind|interleave|preferred“).

cpus процессоров, обращающихся к этому узлу NUMA.

hostnodes узлы NUMA хоста для использования.

memory объем памяти, предоставляемый этим узлом NUMA.

policy политика распределения NUMA.

numa_enabled

boolean

Включает NUMA.

Варианты:

  • false
  • true

onboot

boolean

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

Этот параметр не имеет значения по умолчанию, если только proxmox_default_behavior не установлен в compatibility; тогда значение по умолчанию - true.

Варианты:

  • false
  • true

ostype

string

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

l26 - это ядро Linux 2.6/3.X.

Этот параметр не имеет значения по умолчанию, если только proxmox_default_behavior не установлен в compatibility; тогда значение по умолчанию - l26.

Варианты:

  • "other"
  • "wxp"
  • "w2k"
  • "w2k3"
  • "w2k8"
  • "wvista"
  • "win7"
  • "win8"
  • "win10"
  • "win11"
  • "l24"
  • "l26"
  • "solaris"

parallel

dictionary

Хэш/словарь отображения параллельных устройств хоста. parallel='{"key":"value", "key":"value"}'.

Допустимые ключи - (parallel[n]), где 0 ≤ n ≤ 2.

Допустимые значения - "/dev/parport\d+|/dev/usb/lp\d+".

pool

string

Добавить новую виртуальную машину в указанный пул.

protection

boolean

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

Варианты:

  • false
  • true

proxmox_default_behavior

string

добавлено в community.general 1.3.0

Начиная с community.general 4.0.0, различные параметры больше не имеют значений по умолчанию. Эти значения по умолчанию вызывали проблемы, когда пользователи ожидали другого поведения от Proxmox по умолчанию или заполняли параметры, которые вызывали проблемы при установке. - Значение compatibility (по умолчанию до community.general 4.0.0) гарантирует, что значения по умолчанию будут использоваться, если значения не указаны явно пользователем. Новое значение по умолчанию - no_defaults, которое гарантирует, что эти параметры не имеют значений по умолчанию. - Это влияет на параметры acpi, autostart, balloon, boot, cores, cpu, cpuunits, force, format, kvm, memory, onboot, ostype, sockets, tablet, template и vga. - Этот параметр устарел и будет удален в community.general 10.0.0.

Варианты:

  • "compatibility"
  • "no_defaults" ← (по умолчанию)

reboot

boolean

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

Варианты:

  • false
  • true

revert

string

Отменить ожидающее изменение.

sata

dictionary

Хэш/словарь томов, используемых в качестве жесткого диска SATA или CD-ROM. sata='{"key":"value", "key":"value"}'.

Допустимые ключи - sata[n] где 0 ≤ n ≤ 5.

Допустимые значения - "storage:size,format=value".

storage - это идентификатор хранилища, где нужно создать диск.

size - это размер диска в ГБ.

format - это формат данных файла резервной копии диска. qcow2|raw|subvol. Обратитесь к руководству администратора Proxmox VE, раздел Хранилище Proxmox VE (см. https://pve.proxmox.com/pve-docs/chapter-pvesm.html для последней версии, таблицы 3-14), чтобы узнать о форматах, поддерживаемых предоставленным серверным хранилищем.

scsi

dictionary

Хэш/словарь томов, используемых в качестве SCSI-жесткого диска или CD-ROM. scsi='{"key":"value", "key":"value"}'.

Допустимые ключи - scsi[n] где 0 ≤ n ≤ 13.

Допустимые значения - "storage:size,format=value".

storage - это идентификатор хранилища, где будет создан диск.

size - это размер диска в ГБ.

format - это формат данных файла резервной копии диска. qcow2|raw|subvol. Обратитесь к руководству администратора Proxmox VE, раздел Хранилище Proxmox VE (см. https://pve.proxmox.com/pve-docs/chapter-pvesm.html для последней версии, таблицы 3-14), чтобы узнать о форматах, поддерживаемых предоставленным хранилищем.

scsihw

string

Указывает модель контроллера SCSI.

Варианты:

  • "lsi"
  • "lsi53c810"
  • "virtio-scsi-pci"
  • "virtio-scsi-single"
  • "megasas"
  • "pvscsi"

searchdomains

list / elements=string

добавлено в community.general 1.3.0

cloud-init: Устанавливает домен(ы) поиска DNS.

Если не задано, используются настройки хоста PVE.

serial

dictionary

Хэш/словарь последовательных устройств для создания внутри виртуальной машины. '{"key":"value", "key":"value"}'.

Допустимые ключи - serial[n](str; требуется), где 0 ≤ n ≤ 3.

Допустимые значения - (/dev/.+|socket).

/!\ Если вы передаете последовательное устройство хоста, миграция таких машин становится невозможной - используйте с осторожностью.

shares

integer

Устанавливает количество долей памяти для автоматического баллонинга (0 - 50000).

Чем больше число, тем больше памяти получает эта виртуальная машина.

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

Использование 0 отключает автоматический баллонинг, это означает отсутствие ограничения.

skiplock

boolean

Игнорировать блокировки

Только root может использовать этот параметр.

Варианты:

  • false
  • true

smbios

string

Указывает поля SMBIOS типа 1.

Разделенные запятыми, закодированные в Base64 (необязательно) свойства SMBIOS:

[base64=<1|0>] [,family=<Base64 encoded string>]

[,manufacturer=<Base64 encoded string>]

[,product=<Base64 encoded string>]

[,serial=<Base64 encoded string>]

[,sku=<Base64 encoded string>]

[,uuid=<UUID>]

[,version=<Base64 encoded string>]

snapname

string

Имя снимка. Используется только с клонированием.

sockets

integer

Задает количество сокетов CPU (1 - N).

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлен в compatibility; тогда значение по умолчанию - 1.

sshkeys

string

добавлено в community.general 1.3.0

cloud-init: SSH-ключ для назначения пользователю по умолчанию. НЕ ТЕСТИРОВАНО с несколькими ключами, но многострочное значение должно работать.

startdate

string

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

Допустимый формат даты: 'now' или '2016-09-25T16:01:21' или '2016-09-25'.

startup

string

Поведение при запуске и выключении. [[order=]\d+] [,up=\d+] [,down=\d+].

Порядок - неотрицательное число, определяющее общий порядок запуска.

Выключение выполняется в обратном порядке.

state

string

Указывает желаемое состояние экземпляра.

Если current, текущее состояние виртуальной машины будет получено. Вы можете получить доступ к нему с помощью results.status

template было добавлено в community.general 8.1.0.

Варианты:

  • "present" ← (по умолчанию)
  • "started"
  • "absent"
  • "stopped"
  • "restarted"
  • "current"
  • "template"

storage

string

Целевое хранилище для полного клонирования.

tablet

boolean

Включает/отключает устройство USB-планшета.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлен в compatibility; тогда значение по умолчанию - false.

Варианты:

  • false
  • true

tags

list / elements=string

добавлено в community.general 2.3.0

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

Теги должны начинаться с [a-z0-9_] с последующим нулем или более следующих символов [a-z0-9_-+.].

Теги доступны только в Proxmox 6+.

target

string

Целевой узел. Допускается только в случае, если исходная виртуальная машина находится на общем хранилище.

Используется только с клонированием

tdf

boolean

Включает/отключает исправление сдвига времени.

Варианты:

  • false
  • true

template

boolean

Включает/выключает шаблон.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлено в compatibility; в этом случае значение по умолчанию равно false.

Варианты:

  • false
  • true

timeout

integer

Таймаут для операций.

При использовании с state=stopped параметр устанавливает таймаут для остановки виртуальной машины, после чего виртуальная машина будет остановлена принудительно.

Значение по умолчанию: 30

tpmstate0

dictionary

добавлен в community.general 7.1.0

Хэш/словарь параметров для диска Модуля защищенной платформы.

Диск состояния TPM необходим для установки Windows 11.

storage

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

tpmstate0.storage — идентификатор хранилища для создания диска.

version

string

Версия TPM для использования.

Варианты:

  • "1.2"
  • "2.0" ← (значение по умолчанию)

update

boolean

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

Из-за работы API и соображений безопасности обновление следующих параметров отключено: net, virtio, ide, sata, scsi. Например, обновление net обновляет MAC-адрес, а virtio всегда создаёт новый диск… Эта функция безопасности может быть отключена, установив update_unsafe в true.

Обновление pool отключено. Для этого требуется дополнительный API-точке входа, не поддерживаемый этим модулем.

Варианты:

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

update_unsafe

boolean

добавлен в community.general 8.4.0

Если true, ограничения на параметры net, virtio, ide, sata, scsi, efidisk0, и tpmstate0 не будут применяться. Используйте этот параметр с осторожностью, так как неправильная настройка может привести к постоянной потере данных (например, пересозданию диска).

Варианты:

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

usb

dictionary

добавлен в community.general 9.0.0

Хэш/словарь USB-устройств для виртуальной машины. usb='{"key":"value", "key":"value"}'.

Разрешенные ключи — usb[n], где 0 ≤ n ≤ N.

Разрешенные значения — host="value|spice",mapping="value",usb3="1|0".

host — это spice или идентификатор/порт USB.

Параметр mapping — имя сопоставленного USB-устройства.

Параметр usb3 включает поддержку USB 3.

validate_certs

boolean

Если false, сертификаты SSL не будут проверяться.

Это следует использовать только на контролируемых вами сайтах, использующих самозаверяющие сертификаты.

Варианты:

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

vcpus

integer

Устанавливает количество подключаемых vCPU.

vga

string

Выбор типа VGA. Если вы хотите использовать режимы высокого разрешения (≥ 1280x1024x16), используйте параметр ‘std’ или ‘vmware’.

Этот параметр не имеет значения по умолчанию, если proxmox_default_behavior не установлено в compatibility; в этом случае значение по умолчанию равно std.

Варианты:

  • "std"
  • "cirrus"
  • "vmware"
  • "qxl"
  • "serial0"
  • "serial1"
  • "serial2"
  • "serial3"
  • "qxl2"
  • "qxl3"
  • "qxl4"

virtio

dictionary

Хэш/словарь тома, используемого в качестве жесткого диска VIRTIO. virtio='{"key":"value", "key":"value"}'.

Разрешенные ключи — virtio[n], где 0 ≤ n ≤ 15.

Разрешенные значения — "storage:size,format=value".

storage — идентификатор хранилища для создания диска.

size — размер диска в ГБ.

format — формат данных файла-образа диска. qcow2|raw|subvol. Обратитесь к руководству администратора Proxmox VE, раздел Proxmox VE Storage (см. https://pve.proxmox.com/pve-docs/chapter-pvesm.html для последней версии, таблицы с 3 по 14), чтобы узнать, какой формат поддерживается предоставленным хранилищем.

vmid

integer

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

Если не задано, следующий доступный идентификатор будет получен из ProxmoxAPI.

watchdog

string

Создаёт виртуальное устройство сигнализации.

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.general.proxmox

добавлено в community.general 9.0.0

Используйте group/community.general.proxmox в module_defaults для установки значений по умолчанию для данного модуля.

check_mode

Поддержка: отсутствует

Может работать в режиме check_mode и возвращать прогноз о внесённых изменениях без модификации целевого объекта.

diff_mode

Поддержка: отсутствует

В режиме сравнения вернёт подробную информацию о внесённых изменениях (или, возможно, изменениях, которые необходимо внести в check_mode).

См. также

См. также

community.general.proxmox_vm_info

Получение информации об одной или нескольких виртуальных машинах Proxmox VE.

Примеры

- name: Create new VM with minimal options
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf

- name: Create a VM from archive (backup)
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    archive: backup-storage:backup/vm/140/2023-03-08T06:41:23Z
    name: spynal

- name: Create new VM with minimal options and given vmid
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    vmid: 100

- name: Create new VM with two network interface options
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    net:
      net0: 'virtio,bridge=vmbr1,rate=200'
      net1: 'e1000,bridge=vmbr2'

- name: Create new VM with one network interface, three virto hard disk, 4 cores, and 2 vcpus
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    net:
      net0: 'virtio,bridge=vmbr1,rate=200'
    virtio:
      virtio0: 'VMs_LVM:10'
      virtio1: 'VMs:2,format=qcow2'
      virtio2: 'VMs:5,format=raw'
    cores: 4
    vcpus: 2

- name: Create VM with 1 10GB SATA disk and an EFI disk, with Secure Boot disabled by default
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    sata:
      sata0: 'VMs_LVM:10,format=raw'
    bios: ovmf
    efidisk0:
      storage: VMs_LVM_thin
      format: raw
      efitype: 4m
      pre_enrolled_keys: false

- name: Create VM with 1 10GB SATA disk and an EFI disk, with Secure Boot enabled by default
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    sata:
      sata0: 'VMs_LVM:10,format=raw'
    bios: ovmf
    efidisk0:
      storage: VMs_LVM
      format: raw
      efitype: 4m
      pre_enrolled_keys: 1

- name: >
    Clone VM with only source VM name.
    The VM source is spynal.
    The target VM name is zavala
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    clone: spynal
    name: zavala
    node: sabrewulf
    storage: VMs
    format: qcow2
    timeout: 500

- name: >
    Create linked clone VM with only source VM name.
    The VM source is spynal.
    The target VM name is zavala
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    clone: spynal
    name: zavala
    node: sabrewulf
    storage: VMs
    full: false
    format: unspecified
    timeout: 500

- name: Clone VM with source vmid and target newid and raw format
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    clone: arbitrary_name
    vmid: 108
    newid: 152
    name: zavala
    node: sabrewulf
    storage: LVM_STO
    format: raw
    timeout: 300

- name: Create new VM and lock it for snapshot
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    lock: snapshot

- name: Create new VM and set protection to disable the remove VM and remove disk operations
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    protection: true

- name: Create new VM using cloud-init with a username and password
  community.general.proxmox_kvm:
    node: sabrewulf
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    ide:
      ide2: 'local:cloudinit,format=qcow2'
    ciuser: mylinuxuser
    cipassword: supersecret
    searchdomains: 'mydomain.internal'
    nameservers: 1.1.1.1
    net:
      net0: 'virtio,bridge=vmbr1,tag=77'
    ipconfig:
      ipconfig0: 'ip=192.168.1.1/24,gw=192.168.1.1'

- name: Create new VM using Cloud-Init with an ssh key
  community.general.proxmox_kvm:
    node: sabrewulf
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    ide:
      ide2: 'local:cloudinit,format=qcow2'
    sshkeys: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJkVm98B71lD5XHfihwcYHE9TVpsJmK1vR1JcaU82L+'
    searchdomains: 'mydomain.internal'
    nameservers:
      - '1.1.1.1'
      - '8.8.8.8'
    net:
      net0: 'virtio,bridge=vmbr1,tag=77'
    ipconfig:
      ipconfig0: 'ip=192.168.1.1/24'

- name: Start VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: started

- name: Stop VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: stopped

- name: Stop VM with force
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: stopped
    force: true

- name: Restart VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: restarted

- name: Convert VM to template
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: template

- name: Convert VM to template (stop VM if running)
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: template
    force: true

- name: Remove VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: absent

- name: Get VM current state
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: current

- name: Update VM configuration
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    cores: 8
    memory: 16384
    update: true

- name: Update VM configuration (incl. unsafe options)
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    cores: 8
    memory: 16384
    net:
        net0: virtio,bridge=vmbr1
    update: true
    update_unsafe: true

- name: Delete QEMU parameters
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    delete: 'args,template,cpulimit'

- name: Revert a pending change
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    revert: 'template,cpulimit'

- name: Migrate VM on second node
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf-2
    migrate: true

- name: Add hookscript to existing VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    vmid: 999
    node: sabrewulf
    hookscript: local:snippets/hookscript.pl
    update: true

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

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

Ключ

Описание

msg

строка

Краткое сообщение

Возвращается: всегда

Пример: "VM kropta with vmid = 110 is running"

status

строка

Текущее состояние виртуальной машины.

Возвращается: успех, не клон, не отсутствует, не обновление

Пример: "running"

vmid

целое число

vmid ВМ.

Возвращается: успех

Пример: 115

Авторы

  • Abdoul Bah (@helldorado) <bahabdoul at gmail.com>

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

  • Система отслеживания ошибок
  • Репозиторий (исходные коды)
  • Задать вопрос
  • Отправить отчет об ошибке
  • Запросить функцию
  • Связь

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

Spec-Zone.ru

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