isca0.mpath

Mpath

Installez, montez ou démontez des blocs de stockage iscsi avec multipath. Cela a été testé sur des blocs de stockage Softlayer. Mais cela fonctionnera également sur d'autres configurations avec des stocks iscsi multipath.

La logique de ce rôle est :

Pendant l'installation
  • Installer les dépendances de packages pour utiliser multipath et iscsi
  • Configurer /etc/multipath.conf
  • Tester le module noyau dm-multipath
  • Activer et démarrer multipathd
  • Lister avec (multipath -l) pour déclencher le gestionnaire multipathd
  • Configurer /etc/iscsi/initiatorname.iscsi
  • Modifier l'authentification chap dans /etc/iscsi/iscsid.conf
  • Essayer de se connecter automatiquement sur le portail, sinon utiliser la connexion normale
  • Créer un alias dans /etc/multipath/bindings
  • Monter multipath "/dev/mapper/mydeviceid" sur "/mnt/myaliasname"
  • Déclencher iscsi et iscsid pour démarrer et activer
  • Placer les entrées dans /etc/fstab
Pendant le démontage
  • Lister les PID de l'appareil "/dev/mapper/mydeviceid"
  • Si l'appareil est utilisé, forcer et libérer l'appareil
  • Démonter l'appareil de manière paresseuse (umount -l device)
  • Démonter et supprimer les entrées fstab
  • Vider multipath avec (multipath -f device)
  • Se déconnecter de la session portail cible
  • Déclencher le gestionnaire pour arrêter et désactiver les services iscsi, iscsid et multipathd

Exigences

Vous aurez besoin d'un stockage de bloc iscsi multipath, du login et du mot de passe pour l'iqn. Vous aurez également besoin du chemin complet de l'iqn d'initiateur et de l'ID de mappage iscsi, par exemple : /dev/mapper/3600...

Variables de rôle

Voici les variables que vous devrez ajuster dans votre playbook.

iscsint est le nom iqn de l'initiateur. Par exemple :

iscsint: iqn.1994-05.com.redhat:47c98423c167

Vous pouvez définir plusieurs initiateurs sous forme de tableau :

 iscsint:
   - iqn.1994-05.com.redhat:47c98423c167
   - iqn.1994-05.com.redhat:47c98423c167-2
   - iqn.1994-05.com.redhat:47c98423c167-3

mpathip est l'adresse IP cible

 mpathip: 10.150.10.20

filesystem : par défaut, il est réglé sur ext4, changez cela selon vos besoins.
Vérifiez les systèmes de fichiers pris en charge sur le module de montage ansible.

map : s'il est réglé sur true, cela signifie que toutes les tâches d'installation et de configuration seront exécutées.
Si vous le mettez sur false, le mappage de l'appareil sera démonté et suivra le flux de démontage.

wwid est l'alias pour l'appareil multipath et sera utilisé pour configurer le fichier de liaison.
Cette variable est très importante, elle sera également utilisée sur l'ensemble du rôle pour monter et démonter l'appareil
en fonction de l'ID.

La syntaxe doit être :

wwid:
  - { id: '360009827346', alias: 'mylun0' }
  - { id: '360782378662', alias: 'mylun1' }
...

packs est la liste des paquets à installer. Il installera iscsi, multipath et lsof.

credentials doivent être ajustés dans votre playbook avec votre login et mot de passe.
Par exemple

 credentials:
   - name: "Mes Identifiants"
     login: monlogin
     pass: monmotdepasse

AVERTISSEMENT !
login et mot de passe doivent être déclarés sans guillemets " ou apostrophes '.

Dépendances

Aucune

Exemple de Playbook

Voici un exemple de playbook. Ce playbook installera et montera un appareil multipath sur somehost :

- name: "Déployer | Exécution du rôle isca0.mpath"
  hosts: somehost
  become: yes
  remote_user: monuser
  vars:
    mpathip: "10.200.10.100"
    credentials:
      - name: "Multipath"
        login: MonLogin
        pass: Monmotdepasse
    iscsint:
      - "iqn.1994-05.com.redhat:47c98423c167"
    wwid:
      - { id: '3600a0980383888835645961', alias: 'blk' }
  roles:
    - mpath

Si vous voulez démonter un appareil sur un groupe d'hôtes, puis le monter sur un hôte exclusif. Vous pouvez d'abord exécuter un playbook de démontage puis un playbook "installer/montage".

Voici un exemple de playbook de démontage :

- name: "Déployer | Exécution du rôle isca0.mpath"
  hosts: groupofhosts
  become: yes
  remote_user: monuser
  vars:
    map: false
    mpathip: "10.200.10.100"
    wwid:
      - { id: '3600a098038303631a35645961', alias: 'blk' }
  roles:
    - mpath

Comme vous pouvez le voir, il suffit de régler map sur false, cela fera que le rôle exécute uniquement les tâches de démontage. :wink:

À faire

  • Ajouter le support pour le montage automatique

Licence

LGPL-3.0

Informations sur l'auteur

Ce rôle a été créé en 2017 par isca

À propos du projet

Manage iscsi blockstorage with multipath on softlayer like a boss

Installer
ansible-galaxy install isca0.mpath
Licence
lgpl-3.0
Téléchargements
75
Propriétaire