d_little.ansible_role_aix_lvm

ansible-role-aix-lvm

Hinweis: Dieses Rollenskript ist in der Entwicklung. Es wird derzeit nicht für den produktiven Einsatz empfohlen.

Eine Ansible Rolle zur Verwaltung von Volume Groups / Logischen Volumen / Dateisystemen auf AIX-Servern. Sie ist in erster Linie dafür ausgelegt, neue Umgebungen aufzubauen und zu erstellen. Es ist möglich, einzelne Dateisysteme zu erweitern, aber dafür ist sie nicht optimal geeignet. Sie ist besonders gut darin, eine Menge von PVs zu nehmen und alle VGs, LVs und FSs auf dem Zielhost zu definieren. Diese Rolle basiert auf der ausgezeichneten ansible-manage-lvm Rolle von @mrlesmithjr.

HINWEIS:

  • Kann verwendet werden, um LVM-Gruppen und Volumes zu erstellen und zu löschen.
    • Ich würde ihr derzeit nicht vertrauen, um das Ändern / Anpassen von Größen zu verwalten... es ist noch nicht vollständig getestet.
  • Entwickelt, um eine 'komplette' Umgebung zu definieren; sie ist nicht wirklich dafür gedacht, adhoc LV/FS usw. zu erstellen.
    • Der Hauptanwendungsfall ist die Definition des gesamten AIX-Server-Speichers beim ersten Aufbau.
  • Verarbeitet derzeit keine Remote/NFS-Mountpunkte.
  • Wenn Sie ein 'übermontiertes' Dateisystem haben, schlägt es fehl, da das aix_filesystem-Modul das Verzeichnis beim Mounten nicht erstellt.
    • z.B.: /foo/ und /foo/bar/ sind beide Dateisysteme und wurden erstellt, bevor sie gemountet wurden.
    • /foo/ ist gemountet, und das Verzeichnis /foo/bar/ ist 'verschwunden'.
    • Wenn Sie versuchen, /foo/bar/ zu mounten, schlägt es fehl, da das Verzeichnis nicht existiert.

Anforderungen

Die Geräte/Festplatten, die Mitglieder des LVM-Setups sein sollen, müssen vor der Nutzung dieser Rolle identifiziert werden.

HINWEIS:

  • Stellen Sie sicher, dass Sie die richtigen Geräte/Festplatten auswählen.
  • Um ein VG zu erstellen, ohne LVs zu erstellen, definieren Sie lvname mit dem Wert None, wie im folgenden Beispiel.

Struktur der Rollenvariablen

Wir definieren eine Liste von Dictionnaires, die die erforderlichen VGs beschreiben.

Variablen Standard Kommentare
manage_lvm false Nur ein 'Sicherheits'-Marker, um sicherzustellen, dass diese Rolle ausgeführt werden soll. Wenn false, wird LVM nicht von dieser Rolle verwaltet
vglist (erforderlich) - Eine Liste von vglist, Objekten, die unten definiert sind

vglist

Eine vollständige Übersicht der vglist-Optionen folgt unten. Standardwerte stammen aus der aix_lvg Modul-Dokumentation. Hinweis: Die Standardwerte in dieser Rolle verwenden immer die Modulstandards; wenn sich die Standardwerte des aix_lvg-Moduls ändern, kann dieses Dokument nicht aktuell sein, wenn die verwendeten Standardwerte betroffen sind. Bitte melden Sie ein Problem oder einen PR, wenn sich die Werte des aix_lvg ändern und dieses Dokument nicht aktualisiert wurde.

Variablen Standard Kommentare
vgname (erforderlich) - Name des VG
disks (erforderlich) - Liste der Namen von PV-Geräten
force false VG zwangsweise erstellen
ppsize - Größe der VG-Physikalischen Partitionen
state present Eines von absent oder present. Wenn absent, müssen alle zugrunde liegenden FSs und LVs zuerst vom System entfernt werden.
vg_type normal Typ des VG; einer von big, normal, scalable.
lvlist - lvlist-Objekt, das unten definiert ist. Es können beliebig viele davon festgelegt werden.

lvlist

Eine vollständige Übersicht der lvlist-Optionen folgt. Eine beliebige Anzahl davon kann innerhalb des vglist-Objekts oben definiert werden. Die Standardwerte stammen aus der aix_lvol Modul-Dokumentation und aix_filesystem. Es ist zwar möglich, ein FS ohne ein bestehendes LV zu erstellen, aber diese Rolle folgt einem 'Best-Practice'-Ansatz, dass das übergeordnete LV vor jedem FS erstellt wird. Hinweis: Die Standardwerte in dieser Rolle verwenden immer die Modulstandards; wenn sich die Standardwerte des aix_lvol oder aix_filesystem-Moduls ändern, kann dieses Dokument nicht aktuell sein, wenn die verwendeten Standardwerte betroffen sind. Bitte melden Sie ein Problem oder PR, wenn sich die Standardwerte ändern und dieses Dokument nicht aktualisiert wurde.

Variablen Standard Kommentare
lvname (erforderlich) - Name des LV
lvstate present Eines von present oder absent. Wenn absent, werden LV und alle zugehörigen FS entfernt.
lvcopies 1 Anzahl der Kopien für das LV. Maximal sind es 3.
lvtype jfs2 Welchen Typ von LV zu erstellen: [jfs2, jfs, paging, etc]
lvopts - Freiform Optionen, die an mklv übergeben werden
lvpolicy maximum Legt die Zuteilungspolitik für die interphysikalische Volume fest, eine von [maximum, minimum].
lvpvs - Eine Liste, welche PVs im Host-VG verwendet werden sollen.
lvsize - Größe des logischen Volumens mit einer der [MGT]-Einheiten.
lvstate present Eines von [absent, present]. Wenn present, ist lvsize erforderlich.
fsaccount_subsystem false Soll das FS vom Abrechnungssystem verarbeitet werden? Bool.
fsattributes "agblksize='4096',isnapshot='no'" Attribute für das Dateisystem, durch Kommas getrennt.
fsauto_mount false Dateisystem wird beim Systemneustart automatisch gemountet.
fsfilesystem - Der Mount-Punkt, Verzeichnis, in dem das Dateisystem gemountet wird. erforderlich, wenn fsstate nicht absent ist.
fsstate present Eines von [present, absent, mounted, unmounted]. Wenn Sie ein LV ohne angehängtes FS erstellen möchten, setzen Sie fsstate auf absent.
fsmount_group - FS-Mountgruppe.
fspermissions rw FS-Berechtigungen; einer von [rw, ro].

Abhängigkeiten

Keine

Beispiel-Playbooks

Kleines, einfaches experimentelles 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:

Ein VG, mehrere LVs

Hinweis: Dies ist ein normaler Anwendungsfall dieser Rolle.

---
- 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:

Leere VGs ohne LVs

---
- 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:

Ein VG, ein LV, alle Variablen definiert

Das ist kein normaler Anwendungsfall, aber nur für den Fall, dass Sie alles ändern möchten.

---
- 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:

Autoren

Lizenz

MIT

Danksagungen

Über das Projekt

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

Installieren
ansible-galaxy install d_little.ansible_role_aix_lvm
GitHub Repository
Lizenz
mit
Downloads
103
Besitzer