d_little.ansible_role_aix_lvm
rôle-ansible-aix-lvm
Remarque: Ce rôle est en cours de développement. Pas encore recommandé pour une utilisation en production.
Un rôle Ansible pour gérer les groupes de volumes, les volumes logiques et les systèmes de fichiers sur les serveurs AIX. Il est actuellement conçu principalement pour construire et créer de nouveaux environnements. Bien qu'il soit possible d'étendre des systèmes de fichiers individuels, ce n'est pas la meilleure solution pour ce travail. Il excelle à prendre un ensemble de PVs et à définir tous les VGs, LVs et FSs sur l'hôte cible. Ce rôle est basé sur l'excellent rôle ansible-manage-lvm de @mrlesmithjr
NOTE:
- Peut être utilisé pour créer et détruire des groupes LVM et des volumes.
- Je ne lui ferais pas confiance actuellement pour gérer le redimensionnement ou le modification... ce n'est pas entièrement testé.
- Conçu pour définir un environnement 'complet'; il n'est pas vraiment conçu pour créer des LV/FS ad-hoc, etc.
- Le cas d'utilisation principal est de définir le stockage complet d'un serveur AIX lors d'une construction initiale.
- Ne gère pas (actuellement ?) les points de montage NFS/Remote.
- Si vous avez un système de fichiers "overmounted", cela échouera car le module aix_filesystem ne crée pas le répertoire lors du montage.
- c'est-à-dire : /foo/ et /foo/bar/ sont tous deux des systèmes de fichiers et créés avant d'être montés.
- /foo/ est monté, et le répertoire /foo/bar/ est 'disparu'.
- Lorsqu’on essaie de monter /foo/bar/, cela échouera car le répertoire n'existe pas.
Exigences
Les dispositifs/ disques devant être membres de la configuration LVM doivent être identifiés avant d'utiliser ce rôle.
NOTE:
- Assurez-vous de sélectionner les bons dispositifs/disques.
- Pour créer un VG sans créer de LV, définissez lvname avec la valeur
None
, comme dans l'exemple ci-dessous.
Structure des variables du rôle
Nous définissons une liste de dictionnaires décrivant les VGs requis.
Variables | Par défaut | Commentaires |
---|---|---|
manage_lvm |
false |
Juste une marque de 'sécurité' pour s'assurer que ce rôle doit être exécuté. S'il est false , LVM ne sera pas géré par ce rôle. |
vglist (requis) |
- | Une liste d'objets vglist , définie ci-dessous. |
vglist
Un aperçu complet des options vglist
suit ci-dessous. Les valeurs par défaut proviennent de la documentation du module aix_lvg. NB: Les valeurs par défaut dans ce rôle utiliseront toujours les valeurs par défaut du module; si le module aix_lvg
change ses valeurs par défaut, ce document peut ne pas être à jour concernant les valeurs par défaut utilisées. Merci de signaler un problème ou un PR si les valeurs aix_lvg
changent et que ce document n'a pas été mis à jour.
Variables | Par défaut | Commentaires |
---|---|---|
vgname (requis) |
- | Nom du VG |
disks (requis) |
- | Liste des noms des dispositifs PV |
force |
false |
Crée le VG de façon forcée |
ppsize |
- | Taille des partitions physiques du VG |
state |
present |
Un des deux : absent ou present . S'il est absent , tous les FS et LVs sous-jacents doivent être supprimés du système d'abord. |
vg_type |
normal |
Type de VG; un de big , normal , scalable |
lvlist |
- | Objet lvlist , défini ci-dessous. Un nombre quelconque de ceux-ci peut être défini. |
lvlist
Un aperçu complet des options lvlist
suit. Un nombre quelconque de ceux-ci peut être défini dans l'objet vglist
ci-dessus. Les valeurs par défaut sont des données de module aix_lvol et aix_filesystem. Bien qu'il soit possible de créer un FS sans un LV existant, ce rôle adopte une approche de 'meilleures pratiques' pour que le LV parent soit créé avant chaque FS. NB: Les valeurs par défaut dans ce rôle utiliseront toujours les valeurs par défaut des modules; si les modules aix_lvol
ou aix_filesystem
changent leurs valeurs par défaut, ce document peut ne pas être à jour concernant les valeurs par défaut utilisées. Merci de signaler un problème ou un PR si les valeurs par défaut changent et que ce document n'a pas été mis à jour.
Variables | Par défaut | Commentaires |
---|---|---|
lvname (requis) |
- | Nom du LV |
lvstate |
present |
Un des deux : present ou absent . Si absent , le LV et tout FS associé seront supprimés. |
lvcopies |
1 |
Nombre de copies pour le LV. Maximum est 3. |
lvtype |
jfs2 |
Quel type de LV créer : [jfs2 , jfs , paging , etc ] |
lvopts |
- | Options libres à passer à mklv |
lvpolicy |
maximum |
Définit la politique d'allocation interphysique, un des [maximum , minimum ]. |
lvpvs |
- | Une liste des PVs à utiliser dans le VG de l'hôte. |
lvsize |
- | Taille du volume logique en unités [MGT]. |
fsaccount_subsystem |
false |
Si le FS doit être traité par le sous-système de comptabilité. Bool. |
fsattributes |
"agblksize='4096',isnapshot='no'" |
Attributs pour le système de fichiers séparés par des virgules. |
fsauto_mount |
false |
Le système de fichiers est monté automatiquement au redémarrage du système. |
fsfilesystem |
- | Le point de montage, répertoire où le système de fichiers sera monté. requis si fsstate n'est pas absent . |
fsstate |
present |
Un des [present , absent , mounted , unmounted ]. Si vous voulez créer un LV sans FS associé, définissez fsstate à absent . |
fsmount_group |
- | Groupe de montage FS |
fspermissions |
rw |
Permissions FS ; Un des [rw , ro ] |
Dépendances
Aucune
Exemples de Playbooks
Petit VG expérimental simple
---
- 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:
Un VG, Plusieurs LV
Remarque : C'est un cas d'utilisation normal de ce rôle
---
- 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:
VGs vides sans 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:
Un VG, Un LV, Toutes les variables définies
Ce n'est pas un cas d'utilisation normal, mais juste pour le cas où vous voulez tout changer
---
- 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:
Auteurs
- David Little - Travail initial - d-little
Licence
MIT
Remerciements
- 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