community.general.parted – Настройка разделов блочного устройства
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: 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начальные значения отклонялись, если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:
device: /dev/sdb
number: "{{ sdb_info.partitions | length }}"
part_end: "100%"
resize: true
state: present
Значения возврата
Общие возвращаемые значения документированы здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое | Описание | |
|---|---|---|---|
| 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/parted_module.html