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.
Обзор
- Этот модуль можно использовать для добавления, удаления и обновления дисков, принадлежащих данной виртуальной машине.
- Этот модуль имеет разрушительный характер, перед его использованием внимательно ознакомьтесь с документацией.
- Будьте внимательны при удалении указанного диска, так как это может привести к потере данных.
Параметры
Параметр | Комментарии |
|---|---|
datacenter строка / обязательный | Имя центра обработки данных, к которому принадлежит виртуальная машина. |
disk список / элементы=словарь | Список дисков для добавления или удаления. Информация о виртуальном диске предоставляется в этом списке. Значение по умолчанию: |
|
autoselect_datastore булево |
Выбрать наименее используемый хранилище данных. Указывается только если Не применимо, когда диск Варианты:
|
|
bus_sharing строка |
Функционирует только с контроллером Paravirtual SCSI. Позволяет совместно использовать шину scsi между двумя виртуальными машинами. Варианты:
|
|
cluster_disk булево |
Это значение позволяет совместно использовать RDM между двумя машинами. Основная машина, на которой хранится RDM, использует значение по умолчанию Вторичная машина, на которой хранится RDM, использует Варианты:
|
|
compatibility_mode строка |
Режим совместимости для необработанных устройств. Требуется, когда Варианты:
|
|
controller_number целое число |
Этот параметр используется с Для Варианты:
|
|
controller_type строка |
Этот параметр добавлен для управления дисками, подключаемыми к другим типам контроллеров, например, SATA или NVMe. Если Варианты:
|
|
datastore строка |
Имя хранилища данных или кластера хранилища данных, которое будет использоваться для диска. Не применимо, когда диск |
|
destroy булево |
Если Варианты:
|
|
disk_mode строка |
Тип режима диска. Если не указано, для нового диска используется режим Если установлено значение Если установлено значение Если установлено значение Не применимо, когда диск Варианты:
|
|
filename строка |
Существующий образ диска, который будет использоваться. Имя файла должно уже существовать в хранилище данных. Укажите строку имени файла в формате Не применимо, когда диск |
|
iolimit словарь |
Раздел указывает доли и ограничения для ресурсов ввода-вывода хранилища. Не применимо, когда |
|
limit целое число |
Раздел указывает значения для ограничения, при котором использование виртуальной машины не будет превышать их, даже если доступны ресурсы. |
|
shares словарь |
Указывает различные типы долей, которые пользователь может добавить для данного диска. |
|
level строка |
Указывает различные уровни для раздела долей. Варианты:
|
|
level_value целое число |
Пользовательское значение, когда |
|
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 |
Размер хранилища диска. Если указан размер, то должен быть указан и единица измерения. Пробелы между числом и единицей измерения недопустимы. Будет учтено только первое вхождение параметра size*, даже если есть несколько параметров 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 или ESXi. Если значение не указано в задании, будет использовано значение переменной окружения |
moid string |
имя строка | |
пароль псевдонимы: pass, pwd строка | Пароль сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной среды |
порт целое число | Номер порта сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной среды По умолчанию: |
proxy_host строка | Адрес прокси-сервера, который будет получать все запросы HTTPS и перенаправлять их. Формат — имя хоста или IP-адрес. Если значение не указано в задаче, будет использовано значение переменной среды |
proxy_port целое число | Порт HTTP-прокси-сервера, который будет получать все запросы HTTPS и перенаправлять их. Если значение не указано в задаче, будет использовано значение переменной среды |
use_instance_uuid логическое | Использовать UUID экземпляра VMware вместо BIOS UUID. Варианты:
|
имя_пользователя псевдонимы: admin, user строка | Имя пользователя сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной среды |
uuid строка | |
validate_certs логическое | Разрешает подключение, когда сертификаты SSL недействительны. Установите значение Если значение не указано в задаче, будет использовано значение переменной среды Варианты:
|
Примечания
Примечание
- Все модули требуют права на запись в 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 словарь | результат каждой задачи, ключ — индекс с нуля, совпадающий с последовательностью определения задач Возвращается: всегда Пример: |
disk_data словарь | метаданные о дисках виртуальной машины после их обработки Возвращается: всегда Пример: |
Авторы
- 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