d_little.ansible_role_aix_lvm
ansible-role-aix-lvm
Uwaga: Ta rola jest w intensywnej budowie. Obecnie nie jest zalecana do użytku produkcyjnego.
To jest rola Ansible do zarządzania Grupami Wolumenów/Logicznymi Wolumenami/Systemami Plików na serwerach AIX. Aktualnie jest zaprojektowana głównie do tworzenia nowych środowisk; chociaż możliwe jest rozszerzenie indywidualnych systemów plików, nie jest to najlepsze zastosowanie. Doskonale radzi sobie z definiowaniem wszystkich VG, LV i FS na docelowym hoście z wielu PV. Ta rola została oparta na znakomitej roli ansible-manage-lvm od @mrlesmithjr.
UWAGA:
- Może być używana do tworzenia i niszczenia grup LVM i wolumenów.
- Obecnie nie zalecałbym używania jej do zmiany rozmiaru/modyfikacji... nie została w pełni przetestowana.
- Została zaprojektowana do definiowania 'całego' środowiska; nie jest naprawdę przeznaczona do tworzenia doraźnych LV/FS itd.
- Główne zastosowanie to zdefiniowanie całej pamięci serwera AIX podczas początkowej budowy.
- Nie obsługuje (obecnie?) punktów montowania zdalnego/NFS.
- Jeśli masz 'przemontowany' system plików, wystąpi błąd, ponieważ moduł aix_filesystem nie tworzy katalogu przy montowaniu.
- tj.: /foo/ i /foo/bar/ to oba systemy plików i są tworzone przed montowaniem.
- /foo/ jest zamontowane, a katalog /foo/bar/ jest 'nieobecny'.
- Przy próbie zamontowania /foo/bar/ wystąpi błąd, ponieważ katalog nie istnieje.
Wymagania
Urządzenia/dyski, które mają być członkami konfiguracji LVM muszą być zidentyfikowane przed użyciem tej roli.
UWAGA:
- Upewnij się, że wybierasz odpowiednie urządzenia/dyski.
- Aby stworzyć VG bez tworzenia LV, zdefiniuj lvname z wartością
None, zgodnie z poniższym przykładem.
Struktura zmiennych roli
Definiujemy listę słowników opisujących wymagane VG.
| Zmienne | Domyślna | Komentarze |
|---|---|---|
manage_lvm |
false |
Tylko znak 'bezpieczeństwa', aby upewnić się, że ta rola powinna być uruchomiona. Jeśli false, LVM nie będzie zarządzane przez tę rolę. |
vglist (wymagany) |
- | Lista obiektów vglist, zdefiniowanych poniżej |
vglist
Pełny przegląd opcji vglist znajduje się poniżej. Wartości domyślne są zgodne z dokumentacją modułu aix_lvg. Uwaga: Wartości domyślne w tej roli zawsze będą używać wartości domyślnych z modułu; jeśli moduł aix_lvg zmieni wartości domyślne, ten dokument może nie być na bieżąco aktualizowany w zakresie używanych wartości domyślnych. Proszę zgłaszać problemy lub PR, jeśli wartości aix_lvg ulegną zmianie, a ten dokument nie został zaktualizowany.
| Zmienne | Domyślna | Komentarze |
|---|---|---|
vgname (wymagany) |
- | Nazwa VG |
disks (wymagany) |
- | Lista nazw urządzeń PV |
force |
false |
Wymuszaj utworzenie VG |
ppsize |
- | Rozmiar fizycznych partycji VG |
state |
present |
Jedna z wartości absent lub present. Jeśli absent, wszystkie podstawowe FS i LV muszą być najpierw usunięte z systemu. |
vg_type |
normal |
Typ VG; jeden z big, normal, scalable |
lvlist |
- | Obiekt lvlist, zdefiniowany poniżej. Można ustawić dowolną liczbę z nich. |
lvlist
Pełny przegląd opcji lvlist znajduje się poniżej. Można zdefiniować dowolną liczbę z nich w obiekcie vglist powyżej. Wartości domyślne są zgodne z dokumentacją modułu aix_lvol oraz aix_filesystem. Chociaż możliwe jest utworzenie FS bez istniejącego LV, ta rola przyjmuje podejście 'najlepszej praktyki', że rodzic LV jest tworzony przed każdym FS. Uwaga: Wartości domyślne w tej roli zawsze będą używać wartości domyślnych z modułów; jeśli moduły aix_lvol lub aix_filesystem zmienią wartości domyślne, ten dokument może nie być na bieżąco aktualizowany w zakresie używanych wartości domyślnych. Proszę zgłaszać problemy lub PR w przypadku zmiany wartości domyślnych i braku aktualizacji tego dokumentu.
| Zmienne | Domyślna | Komentarze |
|---|---|---|
lvname (wymagany) |
- | Nazwa LV |
lvstate |
present |
Jedna z wartości present lub absent. Jeśli absent, LV i związany FS zostaną usunięte. |
lvcopies |
1 |
Liczba kopii LV. Maksymalnie 3. |
lvtype |
jfs2 |
Jaki typ LV stworzyć: [jfs2, jfs, paging, etc] |
lvopts |
- | Opcje do przekazania do mklv w dowolnej formie. |
lvpolicy |
maximum |
Ustala politykę alokacji międzyfizycznej wolumenu, jedna z [maximum, minimum]. |
lvpvs |
- | Lista, które PV będą używane w hoście VG. |
lvsize |
- | Rozmiar logicznego wolumenu z jednostkami [MGT]. |
lvstate |
present |
Jedna z wartości absent lub present. Jeśli present, wymagany jest lvsize. |
fsaccount_subsystem |
false |
Czy FS ma być przetwarzany przez subsystem księgowy. Bool. |
fsattributes |
"agblksize='4096',isnapshot='no'" |
Atrybuty do systemu plików oddzielone przecinkiem. |
fsauto_mount |
false |
System plików jest automatycznie montowany przy restarcie systemu. |
fsfilesystem |
- | Punkt montowania, katalog, w którym system plików zostanie zamontowany. wymagany, jeśli fsstate nie jest absent. |
fsstate |
present |
Jedna z wartości [present, absent, mounted, unmounted]. Jeśli chcesz utworzyć LV bez podłączonego FS, ustaw fsstate na absent. |
fsmount_group |
- | Grupa montowania FS. |
fspermissions |
rw |
Uprawnienia FS; jedna z wartości [rw, ro]. |
Zależności
Brak
Przykłady Plików Playbook
Mały, prosty VG eksperymentalny
---
- 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:
Jeden VG, wiele LV
Uwaga: To jest normalne zastosowanie tej roli.
---
- 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:
Puste VG bez 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:
Jeden VG, jeden LV, wszystkie zmienne zdefiniowane
To nie jest normalne zastosowanie, ale na wypadek, gdybyś chciał wszystko zmienić.
---
- 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
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:
Autorzy
- David Little - Początkowa praca - d-little
Licencja
MIT
Podziękowania
- Larry Smith Jr. - 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