isca0.mpath

Mpath

Installieren, einhängen oder aushängen von iSCSI-Blockspeichern mit Multipath.
Dies wurde mit Blockspeichern von Softlayer getestet, funktioniert jedoch auch bei anderen Setups mit iSCSI-Multipath-Speichern.

Die Logik dieser Rolle ist:

Während der Installation
  • Installieren der notwendigen Pakete für Multipath und iSCSI
  • Konfigurieren von /etc/multipath.conf
  • Den dm-multipath Kernelmodul prüfen
  • Multipathd aktivieren und starten
  • Mit (multipath -l) listen, um den Handler von multipathd zu aktivieren
  • Konfigurieren von /etc/iscsi/initiatorname.iscsi
  • CHAP-Authentifizierung in /etc/iscsi/iscsid.conf bearbeiten
  • Versuchen, sich am Portal automatisch anzumelden; wenn das fehlschlägt, normale Anmeldung verwenden
  • Ein Alias in /etc/multipath/bindings erstellen
  • Multipath "/dev/mapper/mydeviceid" unter "/mnt/myaliasname" einhängen
  • iSCSI und iscsid starten und aktivieren
  • Die Einträge in /etc/fstab eintragen
Während des Aushängens
  • Lsof-PIDs des Geräts "/dev/mapper/mydeviceid"
  • Wenn das Gerät in Benutzung ist, zwingend das Gerät freigeben
  • Gerät auf „faul“ aushängen (umount -l gerät)
  • Aushängen und fstab-Einträge entfernen
  • Multipath mit (multipath -f gerät) leeren
  • Vom Sitzungssportal-Ziel abmelden
  • Handler aktivieren, um die Dienste iscsi, iscsid und multipathd zu stoppen und zu deaktivieren

Anforderungen

Sie benötigen einen iSCSI-Multipath-Blockspeicher, sowie die Anmeldeinformationen für die IQN.
Außerdem benötigen Sie den vollständigen IQN-Pfad des Initiators und die iSCSI-Mapper-ID. z.B.: /dev/mapper/3600...

Rollenvariablen

Dies sind die Variablen, die Sie in Ihrem Playbook anpassen müssen.

iscsint ist der IQN-Name des Initiators.
z.B.:

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

Sie können mehrere Initiatoren als Array festlegen:

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

mpathip ist die Ziel-IP-Adresse

 mpathip: 10.150.10.20

filesystem: ist standardmäßig auf ext4 eingestellt, ändern Sie dies, wie Sie möchten.
Überprüfen Sie die unterstützten Dateisysteme im Ansible-Mount-Modul.

map: Wenn auf true gesetzt, bedeutet dies, dass alle Installations- und Konfigurationsaufgaben ausgeführt werden.
Wenn auf false gesetzt, wird das Gerätemapping ausgehängt, und es folgt der Aushang-Prozess.

wwid ist das Alias für das Multipath-Gerät und wird zur Konfiguration der Bindungsdatei verwendet.
Diese Variable ist sehr wichtig, sie wird auch in der gesamten Rolle verwendet, um das Gerät basierend auf id ein- und auszuhängen.

Die Syntax muss sein:

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

packs ist die Liste der zu installierenden Pakete. Es werden iSCSI, Multipath und lsof installiert.

credentials müssen in Ihrem Playbook mit Ihrem Login und Passwort angepasst werden.
z.B.

 credentials:
   - name: "Meine Anmeldedaten"
     login: meinlogin
     pass: meinpasswort

WARNUNG!
Login und Passwort müssen ohne Anführungszeichen " oder einfache Anführungszeichen ' deklariert werden.

Abhängigkeiten

Keine

Beispiel-Playbook

Hier ist ein Beispiel-Playbook. Dieses Playbook installiert und hängt ein Multipath-Gerät auf somehost ein:

- name: "Bereitstellen | Ausführen der isca0.mpath Rolle"
  hosts: somehost
  become: yes
  remote_user: meinbenutzer
  vars:
    mpathip: "10.200.10.100"
    credentials:
      - name: "Multipath"
        login: MeinLogin
        pass: Meinpasswort
    iscsint:
      - "iqn.1994-05.com.redhat:47c98423c167"
    wwid:
      - { id: '3600a0980383888835645961', alias: 'blk' }
  roles:
    - mpath

Wenn Sie ein Gerät in einer Gruppe von Hosts aushängen und dann auf einem exklusiven Host einhängen möchten, können Sie zuerst ein Aushang-Playbook ausführen und dann ein "Installieren/Einhängen"-Playbook.

Hier ist ein Beispiel für ein Aushang-Playbook:

- name: "Bereitstellen | Ausführen der isca0.mpath Rolle"
  hosts: gruppevonhosts
  become: yes
  remote_user: meinbenutzer
  vars:
    map: false
    mpathip: "10.200.10.100"
    wwid:
      - { id: '3600a098038303631a35645961', alias: 'blk' }
  roles:
    - mpath

Wie Sie sehen können, setzen Sie einfach map auf false, damit die Rolle nur die Aushang-Aufgaben ausführt. :wink:

To-do

  • Automatisches Einhängen hinzufügen

Lizenz

LGPL-3.0

Autoreninformation

Diese Rolle wurde 2017 von isca erstellt.

Über das Projekt

Manage iscsi blockstorage with multipath on softlayer like a boss

Installieren
ansible-galaxy install isca0.mpath
GitHub Repository
Lizenz
lgpl-3.0
Downloads
75
Besitzer