Files
wiki-decort-ansible/11.0.0/модуль-decort_disk.md
2026-02-11 13:55:42 +03:00

23 KiB
Raw Permalink Blame History

Модуль decort_disk

Обзор модуля decort_disk

Модуль decort_disk предназначен для выполнения следующих действий над дисками:

Параметры модуля decort_disk

Ниже приведен список параметров для модуля decort_disk (за исключением общих параметров):

Параметр Тип Описание
account_id (int) Уникальный целочисленный идентификатор аккаунта, которому принадлежит данный диск.
При идентификации диска по имени (см. параметр name) должен быть задан либо идентификатор, либо имя аккаунта (см. параметр account_name).
Если одновременно заданы и account_id, и account_name, то account_name игнорируется.
account_name (str) Имя аккаунта, которому принадлежит данный диск.
При идентификации диска по имени (см. параметр name) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр account_id).
Если одновременно заданы и account_id, и account_name, то account_name игнорируется.
description (str) Текстовое описание диска.
Данный параметр является опциональным и учитывается только при создании диска, а при всех прочих операциях игнорируется.
id (int) Уникальный целочисленный идентификатор диска.
Соответствующий диск должен существовать (таким образом, с помощью id нельзя создать новый диск, а только управлять уже имеющимися).
Если задан данный параметр, то параметры name, account_name и account_id игнорируются.
force_detach (bool)
Default: false
Задаёт поведение платформы при попытке удалить диск, подключённый к виртуальной машине.
По умолчанию, удаление подключённых дисков не разрешается, и попытка удалить такой диск приведёт к аварийному завершению модуля.
Чтобы изменить это поведение, явно установите force_detach: true.
limitIO (dict) Параметр, позволяющий ограничить скорость ввода/вывода диска как в iops, так и в байтах в секунду.
Обратите внимание, что параметры с total не задаются вместе с read/write.
read_bytes_sec (int)
read_bytes_sec_max (int)
read_iops_sec (int)
read_iops_sec_max (int)
size_iops_sec (int)
total_bytes_sec (int)
total_bytes_sec_max (int)
total_iops_sec (int)
total_iops_sec_max (int)
write_bytes_sec (int)
write_bytes_sec_max (int)
write_iops_sec (int)
write_iops_sec_max (int)
name (str) Имя диска.
Для идентификации диска требуется либо его name и информация об аккаунте (account_id или account_name), которому принадлежит диск, либо его id.
permanently (bool)
Default: false
Параметр, использующийся при удалении диска.
При значении true - диск удалится навсегда, а при false - попадёт в корзину.
place_with (int) Идентификатор образа диска, из которого следует взять параметр sep_id, чтобы разместить данный диск на той же системе хранения данных, что и указанный образ диска.
Данный параметр является опциональным и используется только на стадии создания диска.
Если задан place_with, то sep_id игнорируется.
pool (str) Название пула на системе хранения данных, в рамках которой следует создать данный диск.
Этот параметр используется только на стадии создания диска и игнорируется при операциях над уже существующими дисками.
Параметр является опциональным, если не задан, то платформа будет использовать пул, который сконфигурирован на целевой системе хранения как пул по умолчанию.
sep_id (int) Идентификатор системы хранения данных (Storage End-point).
Данный параметр определяет систему хранения данных, на ресурсах которой создаётся диск.
Используется только при создании диска и игнорируется при прочих операциях.
Альтернативой данному параметру является place_with, позволяющий разместить диск на той же системе хранения, что и указанный образ диска, на базе которого создаётся виртуальная машина.
shareable (bool)
Default: false
Включение/отключение общего доступа к диску.
size (int) Размер диска в ГБ.
Этот параметр является обязательным при создании диска.
Если он задан для уже существующего диска, а текущий размер диска меньше заданного, то будет предпринята попытка увеличить размер диска.
При прочих операциях данный параметр игнорируется.
state (str)
Значения:
present
absent
Default: present
Целевое состояние диска.
storage_policy_id (int) Идентификатор политики хранения.
Обязателен при создании.

Возвращаемые значения модуля decort_disk

Модуль decort_disks возвращает информацию о диске в виде словаря facts со следующими ключами:

Ключ Тип Описание
account_id int Уникальный целочисленный идентификатор аккаунта, которому принадлежит диск.
blkdiscard bool true - unmap
false - ignore
cache_mode str Режим кэширования диска.
computes dict Словарь, в котором ключ - идентификатор, а значение - имя виртуальной машины, к которой в настоящий момент подключён диск. Если диск не подключён, то возвращается пустой словарь.
gid int Идентификатор физического кластера (Grid ID), на ресурсах которого создан диск.
id int Уникальный целочисленный идентификатор данного диска.
iotune dict Текущие ограничения ввода/вывода диска.
read_bytes_sec int | null
read_bytes_sec_max int | null
read_iops_sec int | null
read_iops_sec_max int | null
size_iops_sec int | null
total_bytes_sec int | null
total_bytes_sec_max int | null
total_iops_sec int | null
total_iops_sec_max int | null
write_bytes_sec int | null
write_bytes_sec_max int | null
write_iops_sec int | null
write_iops_sec_max int | null
name str Имя диска. Обратите внимание, что имя диска не является уникальным с точки зрения системы хранения данных, на которой этот диск расположен.
pool str Имя пула на системе хранения данных, в котором размещаются ресурсы диска.
sep_id int Идентификатор системы хранения данных (Storage Endpoint), на которой размещаются ресурсы данного диска.
size int Размер диска в ГБ.
size_available float Размер незанятого пространства в ГБ.
size_used float Размер используемого пространства в ГБ.
state str Текущий статус диска.
storage_policy_id int Идентификатор политики хранения.
to_clean bool Диск помечен для очистки после удаления.

Примеры использования

Создать

С указанием описания

- name: Example
  hosts: localhost
  tasks:
    - name: Create disk with description
      decort_disk:
          # Параметры для авторизации упущены
          account_id: "{{ account_id }}"
          name: "{{ disk_name }}"
          size: "{{ disk_size }}"
          storage_policy_id: "{{ storage_policy_id }}"
          description: "{{ disk_description }}"

С указанием СХД

- name: Example
  hosts: localhost
  tasks:
    - name: Create disk with sep
      decort_disk:
          # Параметры для авторизации упущены
          account_id: "{{ account_id }}"
          name: "{{ disk_name }}"
          size: "{{ disk_size }}"
          storage_policy_id: "{{ storage_policy_id }}"
          sep_id: "{{ sep_id }}"

С указанием СХД и пула

- name: Example
  hosts: localhost
  tasks:
    - name: Create disk with sep and pool
      decort_disk:
          # Параметры для авторизации упущены
          account_id: "{{ account_id }}"
          name: "{{ disk_name }}"
          size: "{{ disk_size }}"
          storage_policy_id: "{{ storage_policy_id }}"
          sep_id: "{{ sep_id }}"
          pool: "{{ sep_pool_name }}"

Удалить

В корзину

- name: Example
  hosts: localhost
  tasks:
    - name: Delete
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          state: absent

Безвозвратно

- name: Example
  hosts: localhost
  tasks:
    - name: Delete permanently
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          permanently: true
          state: absent

Восстановить из корзины

- name: Example
  hosts: localhost
  tasks:
    - name: Restore
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          state: present

Изменить

Имя

- name: Example
  hosts: localhost
  tasks:
    - name: Change name
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          name: "{{ disk_new_name }}"

Размер

- name: Example
  hosts: localhost
  tasks:
    - name: Change size
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          size: "{{ disk_new_size }}"

Лимиты ввода/вывода

- name: Example
  hosts: localhost
  tasks:
    - name: Change IO limits
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          limitIO:
            read_bytes_sec: "{{ read_bytes_sec }}"
            write_bytes_sec: "{{ write_bytes_sec }}"
            read_iops_sec: "{{ read_iops_sec }}"
            write_iops_sec: "{{ write_iops_sec }}"
            read_bytes_sec_max: "{{ read_bytes_sec_max }}"
            write_bytes_sec_max: "{{ write_bytes_sec_max }}"
            read_iops_sec_max: "{{ read_iops_sec_max }}"
            write_iops_sec_max: "{{ write_iops_sec_max }}"
            size_iops_sec: "{{ size_iops_sec }}"

Политику хранения

- name: Example
  hosts: localhost
  tasks:
    - name: Change storage policy
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          storage_policy_id: "{{ disk_new_storage_policy_id }}"

Включить/отключить общий доступ

- name: Example
  hosts: localhost
  tasks:
    - name: Change shareable
      decort_disk:
          # Параметры для авторизации упущены
          id: "{{ disk_id }}"
          shareable: "{{ shareable }}"