Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать его в книге задач, укажите: community.vmware.vmware_guest_disk.

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

Обзор

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

Параметры

Параметр

Комментарии

datacenter

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

Имя центра обработки данных, к которому принадлежит виртуальная машина.

disk

список / элементы=словарь

Список дисков для добавления или удаления.

Информация о виртуальном диске предоставляется в этом списке.

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

autoselect_datastore

булево

Выбрать наименее используемый хранилище данных. Указывается только если disk[].datastore не указан.

Не применимо, когда диск disk[].type=vpmemdisk

Варианты:

  • false
  • true

bus_sharing

строка

Функционирует только с контроллером Paravirtual SCSI.

Позволяет совместно использовать шину scsi между двумя виртуальными машинами.

Варианты:

  • "noSharing" ← (по умолчанию)
  • "physicalSharing"
  • "virtualSharing"

cluster_disk

булево

Это значение позволяет совместно использовать RDM между двумя машинами.

Основная машина, на которой хранится RDM, использует значение по умолчанию false

Вторичная машина, на которой хранится RDM, использует true

Варианты:

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

compatibility_mode

строка

Режим совместимости для необработанных устройств. Требуется, когда disk[].type=rdm

Варианты:

  • "physicalMode"
  • "virtualMode"

controller_number

целое число

Этот параметр используется с disk[].controller_type для указания номера шины контроллера.

Для disk[].controller_type=ide, допустимое значение равно 0 или 1.

Варианты:

  • 0
  • 1
  • 2
  • 3

controller_type

строка

Этот параметр добавлен для управления дисками, подключаемыми к другим типам контроллеров, например, SATA или NVMe.

Если disk[].controller_type или disk[].scsi_type не указаны, используется тип paravirtual

Варианты:

  • "buslogic"
  • "lsilogic"
  • "lsilogicsas"
  • "paravirtual"
  • "sata"
  • "nvme"
  • "ide"

datastore

строка

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

Не применимо, когда диск disk[].type=vpmemdisk

destroy

булево

Если disk[].state=absent, убедитесь, что файл диска удален из хранилища данных.

Варианты:

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

disk_mode

строка

Тип режима диска. Если не указано, для нового диска используется режим persistent

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

Если установлено значение independent_persistent, аналогично постоянно, но не затрагивается моментальными снимками.

Если установлено значение 'independent_nonpersistent, изменения виртуального диска вносятся в журнал повтора и отбрасываются при выключении питания, но не затрагиваются моментальными снимками.

Не применимо, когда диск disk[].type=vpmemdisk

Варианты:

  • "persistent"
  • "independent_persistent"
  • "independent_nonpersistent"

filename

строка

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

Укажите строку имени файла в формате [datastore_name] path/to/file.vmdk

Не применимо, когда диск disk[].type=vpmemdisk

iolimit

словарь

Раздел указывает доли и ограничения для ресурсов ввода-вывода хранилища.

Не применимо, когда disk[].type=vpmemdisk

limit

целое число

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

shares

словарь

Указывает различные типы долей, которые пользователь может добавить для данного диска.

level

строка

Указывает различные уровни для раздела долей.

Варианты:

  • "low"
  • "normal"
  • "high"
  • "custom"

level_value

целое число

Пользовательское значение, когда disk[].iolimit.shares.level=custom

END_OF_DOCUMENT_MARKER

rdm_path

string

Путь к LUN для отображения в виде сырого устройства (Raw Device Mapping), необходимого для disk[].type=rdm.

Допустимо только если disk[].type=rdm.

scsi_controller

integer

Номер контроллера SCSI. Разрешено всего 4 контроллера SCSI на одну виртуальную машину.

Варианты:

  • 0
  • 1
  • 2
  • 3

scsi_type

string

Тип контроллера SCSI. Это значение требуется только для первого появления контроллера SCSI.

Это значение игнорируется, если контроллер SCSI уже существует или disk[].state=absent.

Варианты:

  • "buslogic"
  • "lsilogic"
  • "lsilogicsas"
  • "paravirtual"

shares

dictionary

Раздел iolimit содержит информацию о различных типах ресурсов, которые пользователь может добавить для диска.

Не применимо, когда диск disk[].type=vpmemdisk.

level

string

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

Варианты:

  • "low"
  • "normal"
  • "high"
  • "custom"

level_value

integer

Пользовательское значение, когда disk[].shares.level=custom.

sharing

boolean

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

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

Совместное использование может быть установлено только если disk[].type=eagerzeroedthick или disk[].type=rdm.

Варианты:

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

size

string

Размер хранилища диска.

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

Будет учтено только первое вхождение параметра size*, даже если есть несколько параметров size*.

size_gb

integer

Размер хранилища диска в ГБ.

size_kb

integer

Размер хранилища диска в КБ.

size_mb

integer

Размер хранилища диска в МБ.

size_tb

integer

Размер хранилища диска в ТБ.

state

string

Состояние диска.

Если установлено значение absent, диск будет навсегда удален из конфигурации виртуальной машины и из хранилища VMware.

Если установлено значение present, диск будет добавлен, если он отсутствует на указанном контроллере и номере устройства.

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

Варианты:

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

type

string

Тип диска. Если не указано, то для нового диска используется тип thick, без eagerzero.

Варианты:

  • "thin"
  • "eagerzeroedthick"
  • "thick"
  • "rdm"
  • "vpmemdisk"

unit_number

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

Номер устройства диска.

Допустимые значения от 0 до 15, за исключением 7 для контроллера SCSI.

Допустимые значения от 0 до 64, за исключением 7 для паравиртуального контроллера SCSI на виртуальной аппаратной версии 14 или выше.

Допустимые значения от 0 до 29 для контроллера SATA.

Допустимые значения от 0 до 14 для контроллера NVME.

Допустимые значения от 0 до 1 для контроллера IDE.

folder

string

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

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

Папка должна включать в себя дата-центр. Дата-центр 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

string

Имя хоста или IP-адрес сервера vSphere vCenter или ESXi.

Если значение не указано в задании, будет использовано значение переменной окружения VMWARE_HOST.

moid

string

Идентификатор управляемого объекта экземпляра для управления, если известен. Это уникальный идентификатор только внутри одного экземпляра vCenter.

Это необходимо, если name или uuid не указаны.

имя

строка

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

Это обязательный параметр, если параметр uuid или moid не указан.

пароль

псевдонимы: pass, pwd

строка

Пароль сервера vSphere vCenter или ESXi.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PASSWORD.

порт

целое число

Номер порта сервера vSphere vCenter или ESXi.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PORT.

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

proxy_host

строка

Адрес прокси-сервера, который будет получать все запросы HTTPS и перенаправлять их.

Формат — имя хоста или IP-адрес.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PROXY_HOST.

proxy_port

целое число

Порт HTTP-прокси-сервера, который будет получать все запросы HTTPS и перенаправлять их.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PROXY_PORT.

use_instance_uuid

логическое

Использовать UUID экземпляра VMware вместо BIOS UUID.

Варианты:

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

имя_пользователя

псевдонимы: admin, user

строка

Имя пользователя сервера vSphere vCenter или ESXi.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_USER.

uuid

строка

UUID экземпляра для сбора фактов, если известен. Это уникальный идентификатор VMware.

Это обязательный параметр, если параметр name или moid не указан.

validate_certs

логическое

Разрешает подключение, когда сертификаты SSL недействительны. Установите значение false, когда сертификаты не доверяются.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_VALIDATE_CERTS.

Варианты:

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

Примечания

Примечание

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

Примеры

- 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: Add physical raw device mapping to virtual machine using name
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    validate_certs: false
    name: "Test_VM"
    disk:
      - type: rdm
        state: present
        scsi_controller: 1
        unit_number: 5
        rdm_path: /vmfs/devices/disks/naa.060000003b1234efb453
        compatibility_mode: 'physicalMode'

- name: Add virtual raw device mapping to virtual machine using name and virtual mode
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    validate_certs: false
    name: "Test_VM"
    disk:
      - type: rdm
        state: present
        scsi_controller: 1
        unit_number: 5
        rdm_path: /vmfs/devices/disks/naa.060000003b1234efb453
        compatibility_mode: 'virtualMode'
        disk_mode: 'persistent'

- name: Add raw device mapping to virtual machine with Physical bus sharing
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    validate_certs: false
    name: "Test_VM"
    disk:
      - type: rdm
        state: present
        scsi_controller: 1
        unit_number: 5
        rdm_path: /vmfs/devices/disks/naa.060000003b1234efb453
        compatibility_mode: 'virtualMode'
        disk_mode: 'persistent'
        bus_sharing: physicalSharing

- name: Add raw device mapping to virtual machine with Physical bus sharing and clustered disk
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    validate_certs: false
    name: "Test_VM"
    disk:
      - type: rdm
        state: present
        scsi_controller: 1
        unit_number: 5
        compatibility_mode: 'virtualMode'
        disk_mode: 'persistent'
        bus_sharing: physicalSharing
        filename: "[datastore1] path/to/rdm/disk-marker.vmdk"

- 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: false
  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: false
    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

- name: Add a new vPMem disk to virtual machine to SATA controller
  community.vmware.vmware_guest_disk:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    validate_certs: false
    name: VM_226
    disk:
      - type: vpmemdisk
        size_gb: 1
        state: present
        controller_type: sata
        controller_number: 1
        unit_number: 2
  delegate_to: localhost
  register: disk_facts

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

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

Ключ

Описание

disk_changes

словарь

результат каждой задачи, ключ — индекс с нуля, совпадающий с последовательностью определения задач

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

Пример: {"0": "Disk deleted.", "1": "Disk created."}

disk_data

словарь

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

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

Пример: {"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": "Hard disk 1", "summary": "10,240 KB", "unit_number": 0}}

Авторы

  • Abhijeet Kasurde (@Akasurde)

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

  • Трекер задач
  • Главная страница
  • Репозиторий (исходные коды)

© 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/vmware/vmware_guest_disk_module.html

Spec-Zone.ru

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