Модуль community.vmware.vmware_guest_disk – Управление дисками виртуальной машины в указанной инфраструктуре vCenter
Примечание
Этот модуль входит в коллекцию community.vmware (версия 6.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.vmware.
Чтобы использовать коллекцию в плейбуке, укажите: community.vmware.vmware_guest_disk.
Краткое описание
- Этот модуль можно использовать для добавления, удаления и обновления дисков указанной виртуальной машины.
- Этот модуль выполняет потенциально разрушительные операции. Перед продолжением внимательно прочитайте документацию.
- Будьте осторожны при удалении указанного диска: это может привести к потере данных.
Параметры
Параметр | Комментарии |
|---|---|
datacenter string / обязательный | Имя центра обработки данных, которому принадлежит виртуальная машина. |
disk list / элементы типа dictionary | Список дисков для добавления или удаления. Информация о виртуальных дисках передается с помощью этого списка. По умолчанию: |
|
autoselect_datastore boolean |
Выбрать хранилище данных с наименьшей загрузкой. Указывайте только в том случае, если не задан параметр Не применяется, если диск Варианты:
|
|
bus_sharing string |
Работает только с паравиртуальным контроллером SCSI. Позволяет двум виртуальным машинам совместно использовать шину SCSI. Варианты:
|
|
cluster_disk boolean |
Это значение позволяет двум машинам совместно использовать RDM. Для основной машины, использующей RDM, применяется значение по умолчанию Для дополнительной машины, использующей RDM, применяется Варианты:
|
|
compatibility_mode string |
Режим совместимости для необработанных устройств. Обязателен, если Варианты:
|
|
controller_number integer |
Этот параметр используется вместе с Для Варианты:
|
|
controller_type string |
Этот параметр добавлен для управления дисками, подключенными к контроллерам других типов, например SATA или NVMe. Если не указан ни Варианты:
|
|
datastore string |
Имя хранилища данных или кластера хранилищ данных, используемого для диска. Не применяется, если диск |
|
destroy boolean |
Если Варианты:
|
|
disk_mode string |
Тип режима диска. Если не указан, для нового диска используется режим Если задан режим Если задан режим Если задан режим Не применяется, если диск Варианты:
|
|
filename string |
Существующий образ диска для использования. Файл должен уже существовать в хранилище данных. Укажите имя файла в формате Не применяется, если диск |
|
iolimit dictionary |
Раздел задает доли и ограничения для ресурсов ввода-вывода хранилища. Не применяется, если |
|
limit integer |
Раздел задает предельные значения, которые не может превышать использование ресурсов виртуальной машиной, даже если ресурсы доступны. |
|
shares dictionary |
Задает различные типы долей, которые можно назначить указанному диску. |
|
level string |
Задает уровень для раздела долей. Варианты:
|
|
level_value integer |
Пользовательское значение, если |
|
rdm_path string |
Путь к LUN для Raw Device Mapping, необходимый для Допустимо только при |
|
scsi_controller integer |
Номер контроллера SCSI. Для каждой виртуальной машины допускается не более 4 контроллеров SCSI. Варианты:
|
|
scsi_type string |
Тип контроллера SCSI. Это значение требуется только при первом появлении контроллера SCSI. Это значение игнорируется, если контроллер SCSI уже существует или Варианты:
|
|
shares dictionary |
Раздел для iolimit описывает различные типы долей, которые можно назначить диску. Не применяется, если диск |
|
level string |
Задает уровень для раздела долей. Варианты:
|
|
level_value integer |
Пользовательское значение, если |
|
sharing boolean |
Режим совместного использования виртуального диска. Включение совместного использования позволяет нескольким виртуальным машинам записывать данные на виртуальный диск. Совместное использование можно включить только при Варианты:
|
|
size string |
Размер хранилища диска. Если задан размер, необходимо указать единицу измерения. Между числом и единицей измерения не допускается пробел. Будет учтено только первое вхождение в элементе disk, даже если доступно несколько параметров size*. |
|
size_gb integer |
Размер хранилища диска в ГБ. |
|
size_kb integer |
Размер хранилища диска в КБ. |
|
size_mb integer |
Размер хранилища диска в МБ. |
|
size_tb integer |
Размер хранилища диска в ТБ. |
|
state string |
Состояние диска. Если задано значение Если задано значение Если диск существует, но имеет другой размер, его размер будет увеличен; уменьшение размера диска не допускается. Варианты:
|
|
type string |
Тип диска. Если не указан, для нового диска используется тип Варианты:
|
|
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. Если значение не указано в задаче, вместо него будет использовано значение переменной окружения |
moid string | |
name string | |
password псевдонимы: pass, pwd string | Пароль сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использовано значение переменной окружения |
port integer | Номер порта сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использовано значение переменной окружения По умолчанию: |
proxy_host string | Адрес прокси-сервера, который будет получать и перенаправлять все HTTPS-запросы. Укажите имя узла или IP-адрес. Если значение не указано в задаче, вместо него будет использовано значение переменной окружения |
proxy_port integer | Порт HTTP-прокси, который будет получать и перенаправлять все HTTPS-запросы. Если значение не указано в задаче, вместо него будет использовано значение переменной окружения |
use_instance_uuid boolean | Использовать UUID экземпляра VMware вместо UUID BIOS. Варианты:
|
username псевдонимы: admin, user string | Имя пользователя сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использовано значение переменной окружения |
uuid string | |
validate_certs boolean | Разрешает подключение при недействительных SSL-сертификатах. Установите значение Если значение не указано в задаче, вместо него будет использовано значение переменной окружения Варианты:
|
Примечания
Примечание
- Для работы всем модулям необходим доступ на запись через API, поэтому они не поддерживаются при использовании бесплатной лицензии ESXi.
- Имена всех переменных и объектов VMware чувствительны к регистру.
- Модули могут использовать библиотеку Python ‘requests’, которая по умолчанию не использует системное хранилище сертификатов. Чтобы указать хранилище сертификатов, задайте переменную окружения REQUESTS_CA_BUNDLE. Обратите внимание: в некоторых случаях при заданной переменной параметр ‘validate_certs’ со значением ‘false’ может быть проигнорирован. Пример: ‘export REQUESTS_CA_BUNDLE=/path/to/your/ca_bundle.pem’
Примеры
- 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 dictionary | результат каждой задачи; ключ — индекс, начинающийся с 0, в той же последовательности, в которой были определены задачи Возвращается: всегда Пример: |
disk_data dictionary | метаданные о дисках виртуальной машины после управления ими Возвращается: всегда Пример: |
Авторы
- Abhijeet Kasurde (@Akasurde)
Ссылки на коллекцию
© 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/vmware/vmware_guest_disk_module.html