Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать его в плейбуке, укажите: community.proxmox.proxmox_disk.

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

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

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

Требования

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

  • proxmoxer >= 2.0
  • requests

Параметры

Параметр

Комментарии

aio

string

Используемый тип AIO.

Варианты:

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

api_host

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

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

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

api_password

string

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

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

api_port

integer

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

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

api_timeout

integer

Ограничение времени для запросов к API Proxmox VE.

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

api_token_id

string

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

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

api_token_secret

string

Укажите секрет токена.

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

api_user

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

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

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

backup

boolean

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

Варианты:

  • false
  • true

bps_max_length

integer

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

bps_rd_max_length

integer

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

bps_wr_max_length

integer

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

bwlimit

integer

Переопределить ограничение пропускной способности ввода-вывода (в КБ/с).

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

ca_path

path

Путь к локальному сертификату, который будет использоваться для проверки TLS-соединений.

Игнорируется при validate_certs=false.

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 / обязательный

Ключ диска (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; для неиспользуемых: 0–255.

format

string

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

Варианты:

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

heads

integer

Задать для физической геометрии диска определённое количество головок.

import_from

string

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

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

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

<STORAGE>:import/<FULL_NAME> для PVE 9.x и более поздних версий, чтобы использовать каталог импорта хранилища.

Внимание! Абсолютные пути может использовать только 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

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

Варианты:

  • false
  • true

iso_image

string

ISO-образ, который нужно подключить к CD-ROM, указанному в disk.

Для работы этого параметра необходимо указать 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. Значение со знаком + прибавляется к текущему размеру тома, а без него считается абсолютным (укажите size с суффиксом KMGT).

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

Проверять сертификаты TLS, используемые для подключения к API Proxmox VE.

В настоящее время по умолчанию используется false; в community.proxmox 2.0.0 значение по умолчанию изменится на true.

Если параметр не указан, используется переменная окружения PROXMOX_VALIDATE_CERTS.

Варианты:

  • false
  • true

vmid

integer

Уникальный идентификатор ВМ.

Можно указать vmid, name или оба параметра.

werror

string

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

Варианты:

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

wwn

string

Всемирное имя диска в виде шестнадцатеричной строки длиной 16 байт с префиксом 0x.

Атрибуты

Атрибут

Поддержка

Описание

action_group

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

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

check_mode

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

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

diff_mode

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

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

Примеры

- name: Create new disk in VM (do not rewrite in case it exists already)
  community.proxmox.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.proxmox.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.proxmox.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.proxmox.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.proxmox.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.proxmox.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.proxmox.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.proxmox.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.proxmox.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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/proxmox/proxmox_disk_module.html

Spec-Zone.ru

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