community.general.parted – Настройка разделов блочного устройства
Примечание
Этот плагин входит в состав коллекции community.general (версия 1.3.2).
Для его установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в книге задач, укажите: community.general.parted.
Обзор
- Этот модуль позволяет настроить разделы блочного устройства с помощью утилиты командной строки
parted. Полное описание полей и опций см. в руководстве GNU parted.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- Этот модуль требует parted версии 1.8.3 и выше
- Опция align (кроме ‘undefined’) требует parted версии 2.1 и выше
- Если версия parted ниже 3.1, требуется Linux-система с файловой системой sysfs
/sys/.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| align строка |
| Установить выравнивание для вновь созданных разделов. Используйте 'undefined' для значения выравнивания по умолчанию parted. |
| device строка / обязательно | Блочное устройство (диск), на котором нужно выполнить операцию. | |
| flags список / элементы=строка | Список флагов, которые необходимо установить для раздела. | |
| fs_type строка добавлен в 0.2.0 community.general | Если указано и раздел не существует, установит тип файловой системы для данного раздела. Параметр необязательный, но см. примечания ниже по поводу отрицательных значений part_start. | |
| label строка |
| Тип метки диска. Если device уже содержит другую метку, она будет изменена на label, и все предыдущие разделы будут потеряны. |
| name строка | Устанавливает имя для номера раздела (только GPT, Mac, MIPS и PC98). | |
| number целое число | Номер раздела для работы или номер раздела, который будет создан. Требуется при выполнении любых действий с диском, кроме получения информации. | |
| part_end строка | Значение по умолчанию: "100%" | Конечная позиция раздела как смещение от начала диска, то есть "расстояние" от начала диска. Отрицательные числа указывают расстояние от конца диска. Расстояние может быть указано со всеми единицами измерения, поддерживаемыми parted (кроме compat), и оно чувствительно к регистру, например 10GiB, 15%. |
| part_start строка | Значение по умолчанию: "0%" | Начальная позиция раздела как смещение от начала диска, то есть "расстояние" от начала диска. Отрицательные числа указывают расстояние от конца диска. Расстояние может быть указано со всеми единицами измерения, поддерживаемыми parted (кроме compat), и оно чувствительно к регистру, например 10GiB, 15%.Использование отрицательных значений может потребовать установки fs_type (см. примечания). |
| part_type строка |
| Может быть указан только для таблиц разбиения 'msdos' или 'dvh'. Для таблицы разбиения 'gpt' необходимо указать name.Ни part_type ни name не могут быть использованы с таблицей разбиения 'sun'. |
| resize булево добавлен в 1.3.0 community.general |
| Вызов resizepart для существующих разделов, чтобы соответствовать размеру, указанному параметром part_end. |
| state строка |
| Выполнить создание или удаление раздела. Если установлено значение info, модуль вернет только информацию об устройстве. |
| unit строка |
| Выбирает текущую единицу измерения, которую Parted будет использовать для отображения расположения и емкости диска и для интерпретации значений, введенных пользователем, если они не имеют суффикса единицы. При получении информации о диске рекомендуется всегда указывать единицу измерения. |
Примечания
Примечание
- При получении информации о новом диске, и при установленной на системе версии parted ниже версии 3.1, модуль запрашивает информацию о диске у ядра через
/sys/для получения информации о диске. В этом случае единицы измерения CHS и CYL не поддерживаются. - Отрицательные значения
part_startдля параметра start отклонялись, если не был указан параметрfs_type. Эта ошибка была исправлена в parted 3.2.153. Если вы хотите использовать отрицательныеpart_start, укажите такжеfs_type, или убедитесь, что на вашей системе установлена более новая версия parted.
Примеры
- name: Create a new ext4 primary partition
community.general.parted:
device: /dev/sdb
number: 1
state: present
fs_type: ext4
- name: Remove partition number 1
community.general.parted:
device: /dev/sdb
number: 1
state: absent
- name: Create a new primary partition with a size of 1GiB
community.general.parted:
device: /dev/sdb
number: 1
state: present
part_end: 1GiB
- name: Create a new primary partition for LVM
community.general.parted:
device: /dev/sdb
number: 2
flags: [ lvm ]
state: present
part_start: 1GiB
- name: Create a new primary partition with a size of 1GiB at disk's end
community.general.parted:
device: /dev/sdb
number: 3
state: present
fs_type: ext3
part_start: -1GiB
# Example on how to read info and reuse it in subsequent task
- name: Read device information (always use unit when probing)
community.general.parted: device=/dev/sdb unit=MiB
register: sdb_info
- name: Remove all partitions from disk
community.general.parted:
device: /dev/sdb
number: '{{ item.num }}'
state: absent
loop: '{{ sdb_info.partitions }}'
- name: Extend an existing partition to fill all available space
community.general.parted:
decice: /dev/sdb
number: "{{ sdb_info.partitions | length }}"
part_end: "100%"
resize: true
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| partition_info сложный | успех | Текущая информация о разделе Пример: {'disk': {'dev': '/dev/sdb', 'logical_block': 512, 'model': 'VMware Virtual disk', 'physical_block': 512, 'size': 5.0, 'table': 'msdos', 'unit': 'gib'}, 'partitions': [{'begin': 0.0, 'end': 1.0, 'flags': ['boot', 'lvm'], 'fstype': '', 'name': '', 'num': 1, 'size': 1.0}, {'begin': 1.0, 'end': 5.0, 'flags': [], 'fstype': '', 'name': '', 'num': 2, 'size': 4.0}], 'script': 'unit KiB print '} | |
| disk словарь | успех | Общие сведения об устройстве. | |
| partitions список / элементы=строка | успех | Список разделов устройства. | |
| script строка | успех | Сценарий parted, выполненный модулем | |
Авторы
- Fabrizio Colonna (@ColOfAbRiX)
© 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/general/parted_module.html