community.vmware.vmware_guest_disk – Управление дисками, связанными с виртуальной машиной в заданной инфраструктуре vCenter
Примечание
Этот плагин входит в коллекцию community.vmware (версия 1.6.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 для нового диска.Если задан режим «постоянный», изменения сразу и постоянно записываются на виртуальный диск. Если задан режим «независимый_постоянный», аналогично постоянному, но не затрагиваются снимки. Если задан режим «независимый_непостоянный», изменения виртуального диска выполняются в журнале изменений и отбрасываются при выключении, но не затрагиваются снимки. | |||
| filename строка | Используемый существующий образ диска. Имя файла должно уже существовать в хранилище данных. Укажите строку имени файла в формате [datastore_name] path/to/file.vmdk. Добавлен в версии 2.10. | ||||
| iolimit словарь | Раздел указывает доли и пределы для ресурсов хранения I/O. | ||||
| 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 | ||||
| port integer | Default: 443 | Порт сервера vSphere vCenter или ESXi. Если значение не указано в задаче, используется значение переменной среды VMWARE_PORT. Поддержка переменных среды добавлена в Ansible 2.6. | |||
| proxy_host string | Адрес прокси-сервера, который будет получать все запросы HTTPS и пересылать их. Формат — имя хоста или IP-адрес. Если значение не указано в задаче, используется значение переменной среды VMWARE_PROXY_HOST. Эта функция зависит от версии pyvmomi, большей v6.7.1.2018.12 | ||||
| proxy_port integer | Порт HTTP-прокси-сервера, который будет получать все запросы HTTPS и пересылать их. Если значение не указано в задаче, используется значение переменной среды VMWARE_PROXY_PORT. | ||||
| use_instance_uuid boolean |
| Использовать UUID экземпляра VMware вместо UUID BIOS. | |||
| username string | Имя пользователя сервера vSphere vCenter или ESXi. Если значение не указано в задаче, используется значение переменной среды VMWARE_USER. Поддержка переменных среды добавлена в Ansible 2.6. псевдонимы: admin, user | ||||
| uuid string | UUID экземпляра для сбора фактов, если известен (уникальный идентификатор VMware). Это обязательный параметр, если параметры name или moid не указаны. | ||||
| validate_certs boolean |
| Разрешает подключение, когда сертификаты 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': 'постоянный', '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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/vmware/vmware_guest_disk_module.html