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

À propos du projet

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

Installer
ansible-galaxy install d_little.ansible_role_aix_lvm
Licence
mit
Téléchargements
103
Propriétaire