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 целое число |
| Этот параметр используется с controller_type для указания номера шины контроллера. | |||
| controller_type строка |
| Этот параметр добавлен для управления подключением дисков к другим типам контроллеров, например, SATA или NVMe. Если controller_type или scsi_type не указаны, используется тип paravirtual. | |||
| datastore строка | Имя хранилища данных или кластера хранилищ данных, которое будет использоваться для диска. | ||||
| destroy булево |
| Если state равно absent, убедитесь, что файл диска удален из хранилища данных. Добавлено в версии 2.10. | |||
| disk_mode строка |
| Тип режима диска. Если не указано, используется режим 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 целое число |
| Номер контроллера SCSI. Допускается только 4 контроллера SCSI на одну виртуальную машину. Следует быть внимательным при указании 'scsi_controller' как 0 и 'unit_number' как 0, так как этот диск может содержать ОС. | |||
| scsi_type строка |
| Тип контроллера 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 строка |
| Тип диска, если не указано, используется тип 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