Spec-Zone.ru › Ansible 2.11

community.vmware.vmware_guest_disk – Управление дисками, связанными с виртуальной машиной в заданной инфраструктуре vCenter

Примечание

Этот плагин является частью коллекции community.vmware (версия 1.7.0).

Для его установки используйте: ansible-galaxy collection install community.vmware.

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

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль может использоваться для добавления, удаления и обновления дисков, принадлежащих заданной виртуальной машине.
  • Все параметры и имена объектов VMware чувствительны к регистру.
  • Этот модуль является деструктивным, пожалуйста, внимательно прочитайте документацию перед продолжением.
  • Будьте осторожны при удалении указанного диска, так как это может привести к потере данных.

Требования

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

  • python >= 2.6
  • PyVmomi

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
datacenter
строка / обязательно
Имя центров обработки данных, к которому принадлежит виртуальная машина.
disk
список / элементы=словарь
По умолчанию:
[]
Список дисков для добавления или удаления.
Информация о виртуальном диске предоставляется в этом списке.
Все значения и параметры чувствительны к регистру.
autoselect_datastore
булево
    Варианты:
  • нет
  • да
Выбор наименее используемого хранилища данных. Указывается только если datastore не указан.
controller_number
целое число
    Варианты:
  • 0
  • 1
  • 2
  • 3
Этот параметр используется с controller_type для указания номера шины контроллера.
controller_type
строка
    Варианты:
  • buslogic
  • lsilogic
  • lsilogicsas
  • paravirtual
  • sata
  • nvme
Этот параметр добавлен для управления подключением дисков к другим типам контроллеров, например, SATA или NVMe.
Если controller_type или scsi_type не указаны, используется тип paravirtual.
datastore
строка
Имя хранилища данных или кластера хранилищ данных, которое будет использоваться для диска.
destroy
булево
    Варианты:
  • нет
  • да ←
Если state равно absent, убедитесь, что файл диска удален из хранилища данных. Добавлено в версии 2.10.
disk_mode
строка
    Варианты:
  • persistent
  • independent_persistent
  • independent_nonpersistent
Тип режима диска. Если не указано, используется режим persistent для нового диска.
Если установлен режим 'persistent', изменения немедленно и постоянно записываются на виртуальный диск.
Если установлен режим 'independent_persistent', аналогично persistent, но не зависит от снимков.
Если установлен режим 'independent_nonpersistent', изменения виртуального диска записываются в журнал изменений и отбрасываются при выключении питания, но не зависят от снимков.
filename
строка
Существующий образ диска, который будет использоваться. Файл должен уже существовать в хранилище данных.
Укажите строку имени файла в формате [datastore_name] path/to/file.vmdk. Добавлено в версии 2.10.
iolimit
словарь
Раздел указывает квоты и лимиты для ресурсов ввода-вывода хранилища.
limit
целое число
Раздел указывает значения лимитов, при которых использование виртуальной машины не будет превышено, даже если доступны ресурсы.
shares
словарь
Указывает различные типы квот, которые пользователь может добавить для данного диска.
level
строка
    Варианты:
  • низкий
  • нормальный
  • высокий
  • настраиваемый
Указывает различные уровни для раздела квот.
level_value
целое число
Настраиваемое значение, когда level установлено как custom.
scsi_controller
целое число
    Варианты:
  • 0
  • 1
  • 2
  • 3
Номер контроллера SCSI. Допускается только 4 контроллера SCSI на одну виртуальную машину.
Следует быть внимательным при указании 'scsi_controller' как 0 и 'unit_number' как 0, так как этот диск может содержать ОС.
scsi_type
строка
    Варианты:
  • buslogic
  • lsilogic
  • lsilogicsas
  • paravirtual
Тип контроллера SCSI. Это значение требуется только для первого появления контроллера SCSI.
Это значение игнорируется, если контроллер SCSI уже присутствует или state равно absent.
shares
словарь
Раздел для раздела iolimit описывает все типы квот, которые пользователь может добавить для диска.
level
строка
    Варианты:
  • низкий
  • нормальный
  • высокий
  • настраиваемый
Указывает различные уровни для раздела квот.
level_value
целое число
Настраиваемое значение, когда level установлено как custom.
sharing
булево
    Варианты:
  • нет ←
  • да
Режим совместного использования виртуального диска.
Установка общего доступа означает, что несколько виртуальных машин могут записывать на виртуальный диск.
Общий доступ можно установить только если type установлено в eagerzeroedthick.
size
строка
Размер хранилища диска.
Если размер указан, должен быть указан и единица измерения. Пробелы между числом размера и единицей измерения не допускаются.
Будет учтено только первое вхождение параметра 'size*', даже если доступно несколько.
size_gb
целое число
Размер хранилища диска в гигабайтах.
size_kb
целое число
Размер хранилища диска в килобайтах.
size_mb
целое число
Размер хранилища диска в мегабайтах.
size_tb
целое число
Размер хранилища диска в терабайтах.
state
строка
    Варианты:
  • наличие ←
  • отсутствие
Состояние диска.
Если установлено 'отсутствие', диск будет постоянно удален из конфигурации виртуальной машины и из хранилища VMware.
Если установлено 'наличие', диск будет добавлен, если его нет на указанном контроллере и номере устройства.
или если диск существует с другим размером, размер диска увеличится; уменьшение размера диска не допускается.
type
строка
    Варианты:
  • thin
  • eagerzeroedthick
  • thick
Тип диска, если не указано, используется тип thick для нового диска, без eagerzero.
unit_number
целое число / обязательно
Номер устройства диска.
Допустимые значения от 0 до 15, кроме 7 для контроллера SCSI.
Допустимые значения от 0 до 29 для контроллера SATA.
Допустимые значения от 0 до 14 для контроллера NVME.
folder
строка
Папка назначения, абсолютный или относительный путь к существующему гостю.
Этот параметр обязателен только если найдено несколько виртуальных машин с одинаковым именем.
Папка должна включать центры обработки данных. Центры обработки данных ESX - ha-datacenter
Примеры:
folder: /ha-datacenter/vm
folder: ha-datacenter/vm
folder: /datacenter1/vm
folder: datacenter1/vm
folder: /datacenter1/vm/folder1
folder: datacenter1/vm/folder1
folder: /folder1/datacenter1/vm
folder: folder1/datacenter1/vm
folder: /folder1/datacenter1/vm/folder2
hostname
строка
Имя хоста или IP-адрес сервера vSphere vCenter или ESXi.
Если значение не указано в задании, используется значение переменной среды VMWARE_HOST.
Поддержка переменных среды добавлена в Ansible 2.6.
moid
строка
Идентификатор управляемого объекта экземпляра для управления, если известен. Это уникальный идентификатор только в пределах одного экземпляра vCenter.
Требуется, если name или uuid не указаны.
name
строка
Имя виртуальной машины.
Обязательно, если параметр uuid или moid не указан.
password
строка
Пароль сервера vSphere vCenter или ESXi.
Если значение не указано в задании, используется значение переменной среды VMWARE_PASSWORD.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: pass, pwd
порт
целое число
По умолчанию:
443
Номер порта сервера vCenter или ESXi vSphere.
Если значение не указано в задаче, используется значение переменной среды VMWARE_PORT.
Поддержка переменных среды добавлена в Ansible 2.6.
proxy_host
строка
Адрес прокси-сервера, который будет получать все запросы HTTPS и перенаправлять их.
Формат — имя хоста или IP-адрес.
Если значение не указано в задаче, используется значение переменной среды VMWARE_PROXY_HOST.
Эта функция зависит от версии pyvmomi, большей, чем v6.7.1.2018.12.
proxy_port
целое число
Порт HTTP-прокси-сервера, который будет получать все запросы HTTPS и перенаправлять их.
Если значение не указано в задаче, используется значение переменной среды VMWARE_PROXY_PORT.
use_instance_uuid
булево
    Варианты:
  • нет ←
  • да
Использовать UUID экземпляра VMware вместо BIOS UUID.
username
строка
Имя пользователя сервера vCenter или ESXi vSphere.
Если значение не указано в задаче, используется значение переменной среды VMWARE_USER.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: admin, user
uuid
строка
UUID экземпляра для сбора фактов, если известен. Это уникальный идентификатор VMware.
Это обязательный параметр, если не задан параметр name или moid.
validate_certs
булево
    Варианты:
  • нет
  • да ←
Разрешить подключение, когда сертификаты SSL недействительны. Установите значение false, если сертификаты не доверяются.
Если значение не указано в задаче, используется значение переменной среды VMWARE_VALIDATE_CERTS.
Поддержка переменных среды добавлена в Ansible 2.6.
Если установлено true, убедитесь, что на данном компьютере установлена Python >= 2.7.9.

Примечания

Примечание

  • Проверено на vSphere 6.0 и 6.5

Примеры

- name: Add disks to virtual machine using UUID
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    uuid: 421e4592-c069-924d-ce20-7e7533fab926
    disk:
      - size_mb: 10
        type: thin
        datastore: datacluster0
        state: present
        scsi_controller: 1
        unit_number: 1
        scsi_type: 'paravirtual'
        disk_mode: 'persistent'
      - size_gb: 10
        type: eagerzeroedthick
        state: present
        autoselect_datastore: True
        scsi_controller: 2
        scsi_type: 'buslogic'
        unit_number: 12
        disk_mode: 'independent_persistent'
      - size: 10Gb
        type: eagerzeroedthick
        state: present
        autoselect_datastore: True
        scsi_controller: 2
        scsi_type: 'buslogic'
        unit_number: 1
        disk_mode: 'independent_nonpersistent'
      - filename: "[datastore1] path/to/existing/disk.vmdk"
  delegate_to: localhost
  register: disk_facts

- name: Add disks with specified shares to the virtual machine
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    disk:
      - size_gb: 1
        type: thin
        datastore: datacluster0
        state: present
        scsi_controller: 1
        unit_number: 1
        disk_mode: 'independent_persistent'
        shares:
          level: custom
          level_value: 1300
  delegate_to: localhost
  register: test_custom_shares

- name: create new disk with custom IO limits and shares in IO Limits
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    disk:
      - size_gb: 1
        type: thin
        datastore: datacluster0
        state: present
        scsi_controller: 1
        unit_number: 1
        disk_mode: 'independent_persistent'
        iolimit:
            limit: 1506
            shares:
              level: custom
              level_value: 1305
  delegate_to: localhost
  register: test_custom_IoLimit_shares

- name: Remove disks from virtual machine using name
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    name: VM_225
    disk:
      - state: absent
        scsi_controller: 1
        unit_number: 1
  delegate_to: localhost
  register: disk_facts

- name: Remove disk from virtual machine using moid
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    moid: vm-42
    disk:
      - state: absent
        scsi_controller: 1
        unit_number: 1
  delegate_to: localhost
  register: disk_facts

- name: Remove disk from virtual machine but keep the VMDK file on the datastore
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    name: VM_225
    disk:
      - state: absent
        scsi_controller: 1
        unit_number: 2
        destroy: no
  delegate_to: localhost
  register: disk_facts

- name: Add disks to virtual machine using UUID to SATA and NVMe controller
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    validate_certs: no
    uuid: 421e4592-c069-924d-ce20-7e7533fab926
    disk:
      - size_mb: 256
        type: thin
        datastore: datacluster0
        state: present
        controller_type: sata
        controller_number: 1
        unit_number: 1
        disk_mode: 'persistent'
      - size_gb: 1
        state: present
        autoselect_datastore: True
        controller_type: nvme
        controller_number: 2
        unit_number: 3
        disk_mode: 'independent_persistent'
  delegate_to: localhost
  register: disk_facts

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

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

Ключ Возвращаемое значение Описание
disk_status
словарь
всегда
метаданные о виртуальных дисках виртуальной машины после их управления

Пример:
{'0': {'backing_datastore': 'datastore2', 'backing_disk_mode': 'persistent', 'backing_eagerlyscrub': False, 'backing_filename': '[datastore2] VM_225/VM_225.vmdk', 'backing_thinprovisioned': False, 'backing_uuid': '421e4592-c069-924d-ce20-7e7533fab926', 'backing_writethrough': False, 'capacity_in_bytes': 10485760, 'capacity_in_kb': 10240, 'controller_key': 1000, 'key': 2000, 'label': 'Жесткий диск 1', 'summary': '10 240 КБ', 'unit_number': 0}}


Авторы

  • Abhijeet Kasurde (@Akasurde) <akasurde@redhat.com>

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/vmware/vmware_guest_disk_module.html

Spec-Zone.ru

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