Spec-Zone.ru › Ansible

community.general.proxmox_disk модуль — Управление диском виртуальной машины 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_disk.

Впервые появился в community.general 5.7.0

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примеры
  • Значения возврата

Описание

  • Позволяет выполнять некоторые поддерживаемые операции с диском в виртуальных машинах Qemu(KVM) в кластере Proxmox VE.

Требования

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

  • proxmoxer
  • requests

Параметры

Параметр

Комментарии

aio

string

Тип AIO для использования.

Варианты:

  • "native"
  • "threads"
  • "io_uring"

api_host

string / required

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

api_password

string

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

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

api_port

integer

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

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

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

api_token_id

string

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

Укажите ID токена.

Требуется proxmoxer>=1.1.0 для работы.

api_token_secret

string

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

Укажите секретный ключ токена.

Требуется proxmoxer>=1.1.0 для работы.

api_user

string / required

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

backup

boolean

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

Варианты:

  • false
  • true

bps_max_length

integer

Максимальная длина общих ВВ/Ч выбросов I/O в секундах.

bps_rd_max_length

integer

Максимальная длина выбросов I/O чтения в секундах.

bps_wr_max_length

integer

Максимальная длина выбросов I/O записи в секундах.

bwlimit

integer

Переопределить лимит пропускной способности I/O (в KB/s).

Используется только когда state=moved.

cache

string

Режим кэша диска.

Варианты:

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

create

string

С флагом create вы можете управлять поведением state=present.

Когда create=disabled, он не будет создавать новый диск (если он не существует), а будет обновлять параметры существующего диска.

Когда create=regular, он будет либо создавать новый диск (если он не существует), либо обновлять параметры существующего диска.

Когда create=forced, он всегда будет создавать новый диск (если диск существует, он будет отсоединен и оставлен неиспользованным).

Варианты:

  • "disabled"
  • "regular" ← (по умолчанию)
  • "forced"

cyls

integer

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

delete_moved

boolean

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

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

Используется только когда state=moved.

Варианты:

  • false
  • true

detect_zeroes

boolean

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

Варианты:

  • false
  • true

discard

string

Управлять передачей запросов discard/trim на нижележащее хранилище.

Варианты:

  • "ignore"
  • "on"

disk

string / required

Ключ диска (unused[n], ide[n], sata[n], scsi[n] или virtio[n]) с которым вы хотите работать.

Шинны дисков (IDE, SATA и т.д.) имеют фиксированные диапазоны n принимаемые API Proxmox.

Для IDE: 0-3; для SCSI: 0-30; для SATA: 0-5; для VirtIO: 0-15; для Unused: 0-255.

format

string

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

Варианты:

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

heads

integer

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

import_from

string

Импортировать том из существующего.

Формат строки тома

<STORAGE>:<VMID>/<FULL_NAME> или <ABSOLUTE_PATH>/<FULL_NAME>

Внимание! Только root может использовать абсолютные пути.

Этот параметр взаимоисключающий с size.

Увеличьте параметр timeout при импорте больших образов дисков или использовании медленного хранилища.

iops

integer

Максимальное общее количество операций ввода/вывода в операциях в секунду.

Можно указать общий лимит или на операцию (взаимоисключающее с iops_rd и iops_wr).

iops_max

integer

Максимальный нерегулируемый общий пул ввода/вывода в операциях в секунду.

iops_max_length

integer

Максимальная длительность импульсов ввода/вывода в секундах.

iops_rd

integer

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

Можно указать либо лимит чтения, либо общий лимит (взаимоисключающее с iops).

iops_rd_max

integer

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

iops_rd_max_length

integer

Максимальная длительность импульсов чтения в секундах.

iops_wr

integer

Максимальное количество операций записи в секунду.

Можно указать либо лимит записи, либо общий лимит (взаимоисключающее с iops).

iops_wr_max

integer

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

iops_wr_max_length

integer

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

iothread

boolean

Использовать ли iothreads для этого диска (только для SCSI и VirtIO)

Варианты:

  • false
  • true

iso_image

string

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

ISO-образ, который будет смонтирован на указанный в disk CD-ROM.

Необходимо указать media=cdrom для работы этой опции.

Формат строки образа:

<STORAGE>:iso/<ISO_NAME> для монтирования ISO.

cdrom для использования физического CD/DVD-привода.

none для размонтирования образа с существующего CD-ROM или создания пустого CD-ROM-привода.

mbps

float

Максимальная скорость чтения/записи в мегабайтах в секунду.

Может быть дробным, но используйте с осторожностью - дробные значения меньше 1 официально не поддерживаются.

Можно указать либо общий лимит, либо на операцию (взаимоисключающее с mbps_rd и mbps_wr).

mbps_max

float

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

mbps_rd

float

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

Можно указать либо лимит чтения, либо общий лимит (взаимоисключающее с mbps).

mbps_rd_max

float

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

mbps_wr

float

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

Можно указать либо лимит записи, либо общий лимит (взаимоисключающее с mbps).

mbps_wr_max

float

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

media

string

Тип носителя диска.

Варианты:

  • "cdrom"
  • "disk"

name

string

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

Можно указать name или vmid или оба.

queues

integer

Количество очередей (только SCSI).

replicate

boolean

Следует ли учитывать диск для задач репликации.

Варианты:

  • false
  • true

rerror

string

Действие при ошибке чтения.

Варианты:

  • "ignore"
  • "report"
  • "stop"

ro

boolean

Является ли диск только для чтения.

Варианты:

  • false
  • true

scsiblock

boolean

Использовать scsi-block для полного проброса устройства блока хоста.

Может привести к ошибкам ввода-вывода в сочетании с малым объёмом памяти или высокой фрагментацией памяти на хосте.

Варианты:

  • false
  • true

secs

integer

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

serial

string

Отчётный серийный номер диска, закодированный в URL, длиной до 20 байт.

shared

boolean

Отметить локальный том как доступный на всех узлах.

Этот параметр не разделяет том автоматически, предполагается, что он уже разделен!

Варианты:

  • false
  • true

size

string

Желаемый размер тома в ГБ для выделения при state=present (указать size без суффикса).

Новый (или дополнительный) размер тома при state=resized. С знаком + значение добавляется к фактическому размеру тома, без него значение принимается как абсолютное.

snapshot

boolean

Управление функцией режима снимков qemu.

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

Варианты:

  • false
  • true

ssd

boolean

Представить ли это устройство в качестве SSD, а не вращающегося жёсткого диска.

Варианты:

  • false
  • true

state

string

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

state=present может использоваться для создания, замены диска или обновления параметров в существующем диске. По умолчанию будет создан отсутствующий диск или обновлены параметры в существующем. Обратитесь к описанию параметра create, чтобы контролировать поведение этого параметра.

Некоторые обновления параметров (например, cache) не применяются мгновенно и требуют перезагрузки виртуальной машины.

Используйте state=detached для отсоединения существующего диска от виртуальной машины, но не удаляйте его полностью. При state=detached и диске unused[n] он останется в том же состоянии (не будет удален).

state=moved может использоваться для изменения носителя хранения диска в рамках одной и той же виртуальной машины или для отправки диска в другую виртуальную машину (используя тот же носитель хранения).

state=resized предназначено для изменения размера диска. Начиная с Proxmox 7.2 вы можете только увеличить размер диска, так как уменьшение размеров дисков не поддерживается API PVE и должно выполняться вручную.

Для полного удаления диска из носителя хранения используйте state=absent.

Варианты:

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

storage

string

Носитель хранения диска.

Используется только тогда, когда state равно present.

target_disk

string

Ключ конфигурации, в который диск будет перемещен на целевой виртуальной машине (например, ide0 или scsi1).

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

Используется только при state=moved.

target_storage

string

Переместить диск в это хранилище при state=moved.

Вы можете перемещать между хранилищами только в рамках одной виртуальной машины.

Взаимоисключающие с target_vmid.

Рассмотрите возможность увеличения timeout в случае больших образов дисков или медленного хранилища.

target_vmid

integer

(Уникальный) идентификатор виртуальной машины, в которую будет помещен диск при state=moved.

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

Взаимоисключающие с target_vmid.

timeout

integer

Таймаут в секундах для ожидания медленных операций, таких как импорт диска или перемещение диска между хранилищами.

Используется только когда state равно present или moved.

По умолчанию: 600

trans

string

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

Варианты:

  • "auto"
  • "lba"
  • "none"

validate_certs

boolean

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

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

Варианты:

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

vmid

integer

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

Вы можете указать vmid или name, или оба.

werror

string

Действие при ошибке записи.

Варианты:

  • "enospc"
  • "ignore"
  • "report"
  • "stop"

wwn

string

Глобальное имя устройства (Wwn), закодированное как 16-байтовая шестнадцатеричная строка, префикс 0x.

Атрибуты

Атрибут

Поддержка

Описание

action_group

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

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

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

check_mode

Поддержка: нет

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

diff_mode

Поддержка: нет

В режиме сравнения вернёт детали о том, что изменилось (или, возможно, что нужно изменить в check_mode).

Примеры

- name: Create new disk in VM (do not rewrite in case it exists already)
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_token_id: token1
    api_token_secret: some-token-data
    name: vm-name
    disk: scsi3
    backup: true
    cache: none
    storage: local-zfs
    size: 5
    state: present

- name: Create new disk in VM (force rewrite in case it exists already)
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_token_id: token1
    api_token_secret: some-token-data
    vmid: 101
    disk: scsi3
    format: qcow2
    storage: local
    size: 16
    create: forced
    state: present

- name: Update existing disk
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_token_id: token1
    api_token_secret: some-token-data
    vmid: 101
    disk: ide0
    backup: false
    ro: true
    aio: native
    state: present

- name: Grow existing disk
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_token_id: token1
    api_token_secret: some-token-data
    vmid: 101
    disk: sata4
    size: +5G
    state: resized

- name: Detach disk (leave it unused)
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_token_id: token1
    api_token_secret: some-token-data
    name: vm-name
    disk: virtio0
    state: detached

- name: Move disk to another storage
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_password: secret
    vmid: 101
    disk: scsi7
    target_storage: local
    format: qcow2
    state: moved

- name: Move disk from one VM to another
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_token_id: token1
    api_token_secret: some-token-data
    vmid: 101
    disk: scsi7
    target_vmid: 201
    state: moved

- name: Remove disk permanently
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_password: secret
    vmid: 101
    disk: scsi4
    state: absent

- name: Mount ISO image on CD-ROM (create drive if missing)
  community.general.proxmox_disk:
    api_host: node1
    api_user: root@pam
    api_token_id: token1
    api_token_secret: some-token-data
    vmid: 101
    disk: ide2
    media: cdrom
    iso_image: local:iso/favorite_distro_amd64.iso
    state: present

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

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

Ключ

Описание

msg

string

Короткое сообщение о том, что сделал модуль.

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

Пример: "Disk scsi3 created in VM 101"

vmid

integer

vmid виртуальной машины.

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

Пример: 101

Авторы

  • Castor Sky (@castorsky)

Ссылки на сборку

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

© 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_disk_module.html

Spec-Zone.ru

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