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

O projekcie

Role to manage LVM Groups/Logical Volumes on IBM AIX. Can be used to create, extend ~or resize~ VGs, LVs, and FSs.

Zainstaluj
ansible-galaxy install d_little.ansible_role_aix_lvm
Licencja
mit
Pobrania
103
Właściciel