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
- David Little - Erstarbeit - d-little
Lizenz
MIT
Danksagungen
- 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