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