ansible_role_aix_lvm
ansible-role-aix-lvm
Уведомление: Эта роль активно разрабатывается. Не рекомендуется для использования в производственных средах пока.
Это Ansible роль для управления группами томов / логическими томами / файловыми системами на серверах AIX. В настоящее время она в первую очередь предназначена для создания новых окружений. Хотя возможно расширять отдельные файловые системы, это не лучший вариант для этой задачи. Роль отлично работает с набором PV и определяет все VG, LV и FS на целевом хосте. Эта роль основана на отличной работе ansible-manage-lvm от @mrlesmithjr.
ПРИМЕЧАНИЕ:
- Может использоваться для создания и удаления LVM групп и томов.
- Я бы не доверял ей в данный момент для изменения размера / модификации... она не полностью протестирована.
- Предназначена для определения «целого» окружения; не совсем подходит для создания случайных LV/FS и т.д.
- Основная задача — определить все хранилище сервера AIX при первоначальной настройке.
- В данный момент не поддерживает удаленные/NFS точки монтирования.
- Если у вас есть «переумонтированная» файловая система, будет ошибка, так как модуль aix_filesystem не создает директорию при монтировании.
- Например: /foo/ и /foo/bar/ являются файловыми системами и создаются до монтирования.
- /foo/ смонтирован, и директория /foo/bar/ «исчезла».
- При попытке смонтировать /foo/bar/ произойдет сбой, так как директория не существует.
Требования
Устройства/диски, которые будут членами настройки LVM, должны быть определены до использования этой роли.
ПРИМЕЧАНИЕ:
- Убедитесь, что вы выбираете правильные устройства/диски.
- Чтобы создать VG без создания LV, определите lvname со значением
None
, как в приведенном ниже примере.
Структура переменных роли
Мы определяем список словарей, описывающих необходимые VG
Переменные | По умолчанию | Комментарии |
---|---|---|
manage_lvm |
false |
Просто 'мерка безопасности', чтобы убедиться, что эта роль должна выполняться. Если false , LVM не будет управляться этой ролью. |
vglist (обязательно) |
- | Список vglist , объекты определены ниже. |
vglist
Полный обзор параметров vglist
представлен ниже. Значения по умолчанию указаны в документации модуля aix_lvg. Примечание: Значения по умолчанию в этой роли всегда используют значения по умолчанию модуля; если модуль aix_lvg
изменит значения по умолчанию, этот документ может быть не актуален в отношении используемых значений по умолчанию. Пожалуйста, создайте проблему или PR, если значения aix_lvg
изменятся, и этот документ не будет обновлен.
Переменные | По умолчанию | Комментарии |
---|---|---|
vgname (обязательно) |
- | Имя VG |
disks (обязательно) |
- | Список имен PV устройств |
force |
false |
Принудительно создать VG |
ppsize |
- | Размер физических разделов VG |
state |
present |
Одно из absent или present . Если absent , все подлежащие FS и LV должны быть сначала удалены из системы. |
vg_type |
normal |
Тип VG; один из big , normal , scalable |
lvlist |
- | Объект lvlist , определенный ниже. Можно задать любое количество таких объектов. |
lvlist
Полный обзор параметров lvlist
представлен ниже. Любое количество этих объектов можно определить в объекте vglist
выше. Значения по умолчанию приведены в документации модуля aix_lvol и aix_filesystem. Хотя возможно создать FS без существующего LV, эта роль придерживается подхода «лучшей практики», при котором родительский LV создается перед каждым FS. Примечание: Значения по умолчанию в этой роли всегда используют значения по умолчанию модуля; если модули aix_lvol
или aix_filesystem
изменят значения по умолчанию, этот документ может быть не актуален в отношении используемых значений по умолчанию. Пожалуйста, создайте проблему или PR, если значения по умолчанию изменятся и этот документ не будет обновлен.
Переменные | По умолчанию | Комментарии |
---|---|---|
lvname (обязательно) |
- | Имя LV |
lvstate |
present |
Одно из present или absent . Если absent , LV и любые связанные FS будут удалены. |
lvcopies |
1 |
Количество копий для LV. Максимум 3 |
lvtype |
jfs2 |
Какой тип LV создать: [jfs2 , jfs , paging , и т.д. ] |
lvopts |
- | Свободные параметры опции для передачи в mklv |
lvpolicy |
maximum |
Устанавливает политику распределения между физическими томами, одно из [maximum , minimum ]. |
lvpvs |
- | Список PV, которые будут использоваться в VG хоста. |
lvsize |
- | Размер логического тома в одних из [единиц MGT]. |
lvstate |
present |
Одно из absent или present . Если present , lvsize требуется. |
fsaccount_subsystem |
false |
Обрабатывается ли FS вычислительным подсистемом. Булев тип. |
fsattributes |
"agblksize='4096',isnapshot='no'" |
Атрибуты для файловой системы, разделенные запятыми. |
fsauto_mount |
false |
Файловая система автоматически монтируется при перезагрузке системы. |
fsfilesystem |
- | Точка монтирования, директория, где будет смонтирована файловая система. Требуется, если fsstate не absent . |
fsstate |
present |
Одно из [present , absent , mounted , unmounted ]. Если вы хотите создать LV без прикрепленной FS, установите fsstate в absent . |
fsmount_group |
- | Группа монтирования FS. |
fspermissions |
rw |
Права доступа к FS; одно из [rw , ro ]. |
Зависимости
Нет
Примеры плейбуков
Маленький, простой экспериментальный VG
---
- hosts: test-nodes
vars:
manage_lvm: true
vglist:
- vgname: vg_exp1
disks:
- hdisk4
force: true
lvlist:
- lvname: lv_exp1
lvcopies: 1
lvsize: 5G
fsauto_mount: true
fsstate: mounted
fsfilesystem: /mnt/exp1
- lvname: lv_exp2
lvcopies: 1
lvsize: 10G
fsauto_mount: true
fsstate: mounted
fsfilesystem: /mnt/exp2
roles:
- role: d-little.aixlvm
tasks:
Один VG, несколько LV
Примечание: Это нормальный случай использования этой роли.
---
- hosts: test-nodes
vars:
manage_lvm: true
vglist:
- vgname: vg_test1
disks:
- hdisk10
- hdisk11
lvlist:
- lvname: lv_test1_1
lvcopies: 2
lvsize: 5G
fsauto_mount: true
fsstate: mounted
fsfilesystem: /mnt/test1_1
- lvname: lv_test1_2
lvcopies: 2
lvsize: 10G
fsauto_mount: true
fsstate: mounted
fsfilesystem: /mnt/test1_2
roles:
- role: d-little.aixlvm
tasks:
Пустые VG без LV
---
- hosts: test-nodes
vars:
manage_lvm: true
vglist:
- vgname: vg_test2_1
disks:
- hdisk20
- hdisk21
lvlist:
None
- vgname: vg_test2_2
disks:
- hdisk22
- hdisk23
lvlist:
None
roles:
- role: d-little.aixlvm
tasks:
Один VG, один LV, все переменные определены
Это не обычный случай использования, но на случай, если вы хотите изменить все.
---
- hosts: test-nodes
vars:
manage_lvm: true
vglist:
- vgname: vg_test3
force: true
disks:
- hdisk30
- hdisk31
ppsize: 128
state: present
vg_type: big
lvlist:
- lvname: lv_test3
lvstate: present
lvcopies: 2
lvopts: aaaa
lvpolicy: maximum
lvpvs: hdisk30, hdisk31
lvsize: 50G
lvstate: present
fsaccount_subsystem: false
fsattributes: aaaaa
fsauto_mount: true
fsfilesystem: /mnt/test3_1
fsstate: mounted
fsmount_group: aaaa
fspermissions: rw
roles:
- role: ansible-manage-lvm
tasks:
Авторы
- Дэвид Литтл - Первая работа - d-little
Лицензия
MIT
Благодарности
- Ларри Смит-младший - mrlesmithjr
- Ansible
Role to manage LVM Groups/Logical Volumes on IBM AIX. Can be used to create, extend ~or resize~ VGs, LVs, and FSs.
ansible-galaxy install d-little/ansible-role-aix-lvm