iSCSI-Datenträger unter „ CloudLinux “ 8 einbinden

Erfahren Sie, wie Sie ein Block Storage for Classic Volume auf CloudLinux 8 mit Multipath I/O für redundanten, leistungsstarken Speicherzugriff mounten.

Folgen Sie der Anleitung, um ein IBM Cloud® Block Storage for Classic Volume auf einem Server mit dem Betriebssystem CloudLinux 8 zu mounten. Sie erstellen zwei Verbindungen von einer einzelnen Netzschnittstelle des Hosts zu zwei Ziel-IP-Adressen des Speicherarrays.

Wenn Sie ein anderes Betriebssystem von Linux® verwenden, lesen Sie bitte die Dokumentation Ihrer jeweiligen Distribution und stellen Sie sicher, dass der Multipath-Dienst „Asymmetric Logical Unit Access“ (ALUA) für die Pfadpriorität unterstützt.

Vorbereitende Schritte

Wenn mehrere Hosts denselben Block Storage for Classic-Datenträger anhängen, ohne kooperativ verwaltet zu werden, besteht das Risiko, dass Ihre Daten beschädigt werden. Eine Datenträgerbeschädigung kann auftreten, wenn mehrere Hosts gleichzeitig Änderungen am Datenträger vornehmen. Sie benötigen ein clusterfähiges Dateisystem mit gemeinsam genutzten Festplatten, um Datenverluste zu vermeiden, wie z. B. Microsoft Cluster Shared Volumes ( CSV ), Red Hat Global File System ( GFS2 ), VMware® VMFS und andere. Weitere Informationen finden Sie in der Dokumentation Ihres Betriebssystems.

Es ist am besten, den Speicherdatenverkehr über ein VLAN zu leiten, das die Firewall umgeht. Wenn der Speicherdatenverkehr über Software-Firewalls geleitet wird, erhöht sich dadurch die Latenz und die Speicherleistung wird beeinträchtigt. Weitere Informationen zur Weiterleitung von Speicherdatenverkehr zur eigenen VLAN-Schnittstelle finden Sie bei den häufig gestellten Fragen.

Bevor Sie beginnen, stellen Sie sicher, dass der Host, der auf das Volume „ Block Storage for Classic “ zugreifen soll, autorisiert ist. Weitere Informationen finden Sie unter Autorisieren des Hosts in der Konsole Autorisieren des Hosts über die CLI Autorisieren des Hosts mit Terraform.

iSCSI und Multipath-Dienstprogramme installieren

Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist und die Pakete „ iscsi-initiator-utils “ und „ device-mapper-multipath “ enthält.

  1. Verwenden Sie den folgenden Befehl, um die Pakete zu installieren.

    dnf install iscsi-initiator-utils device-mapper-multipath
    
  2. Starten Sie die Services.

    chkconfig multipathd on
    
    chkconfig iscsid on
    

Multipath einrichten

Sie richten DM Multipath mit dem Dienstprogramm „ mpathconf “ ein, wodurch die Multipath-Konfigurationsdatei „ /etc/multipath.conf “ erstellt wird.

  • Sofern die Datei „ /etc/multipath.conf “ vorhanden ist, kann sie mit dem Dienstprogramm „mpathconf“ bearbeitet werden.
  • Wenn die Datei '/etc/multipath.conf' nicht vorhanden ist, erstellt das Dienstprogramm 'mpathconf' die Datei '/etc/multipath.conf' neu.
  1. Geben Sie den Befehl „ mpathconf “ mit der Option „ --enable “ ein.

    # mpathconf --enable --user_friendly_names n
    
  2. Bearbeiten Sie die Datei „ /etc/multipath.conf “ mit der folgenden Mindestkonfiguration.

    defaults {
    user_friendly_names no
    max_fds max
    flush_on_last_del yes
    queue_without_daemon no
    dev_loss_tmo infinity
    fast_io_fail_tmo 5
    }
    # All data in the following section must be specific to your system.
    blacklist {
    wwid "SAdaptec*"
    devnode "^hd[a-z]"
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^cciss.*"
    }
    devices {
    device {
    vendor "NETAPP"
    product "LUN"
    path_grouping_policy group_by_prio
    features "2 pg_init_retries 50"
    no_path_retry queue
    prio "alua"
    path_checker tur
    failback immediate
    path_selector "round-robin 0"
    hardware_handler "1 alua"
    rr_weight uniform
    rr_min_io 128
    }
    

Der Abschnitt „Initial defaults“ der Konfigurationsdatei konfiguriert Ihr System so, dass die Namen der Multipath-Geräte die Form „ /dev/mapper/mpath n “ haben, wobei „ mpath n “ die WWID (World Wide Identifier) des Geräts ist.

  1. Speichern Sie die Konfigurationsdatei und beenden Sie den Editor, falls dies erforderlich sein sollte.

  2. Führen Sie den folgenden Befehl aus:

    # systemctl start multipathd.service
    

    Wenn Sie die Multipath-Konfigurationsdatei nach dem Start des Multipath-Daemons bearbeiten müssen, müssen Sie den Befehl „ systemctl reload multipathd.service “ ausführen, damit die Änderungen wirksam werden.

Datei /etc/iscsi/initiatorname.iscsi aktualisieren

Aktualisieren Sie die Datei „ /etc/iscsi/initiatorname.iscsi “ mit dem IQN aus der „ IBM Cloud® “-Konsole. Geben Sie den Wert in Kleinbuchstaben ein.

InitiatorName=<value-from-the-Portal>

Berechtigungsnachweise konfigurieren

Bearbeiten Sie die folgenden Einstellungen unter /etc/iscsi/iscsid.conf mit dem Benutzernamen und dem Passwort aus der IBM Cloud®-Konsole. Verwenden Sie Großbuchstaben für CHAP-Namen (Challenge-Handshake Authentication Protocol).

node.session.auth.authmethod = CHAP
node.session.auth.username = <Username-value-from-Portal>
node.session.auth.password = <Password-value-from-Portal>
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = <Username-value-from-Portal>
discovery.sendtargets.auth.password = <Password-value-from-Portal>

Lassen Sie die übrigen CHAP-Einstellungen auskommentiert. Der Speicher unter IBM Cloud® verwendet nur eine Einweg-Authentifizierung. Aktivieren Sie nicht die gemeinsame Nutzung von CHAP (Mutual CHAP).

Speichermedium kennenlernen und anmelden

Das Dienstprogramm „iscsiadm“ ist ein Befehlszeilentool, das die Erkennung von und die Anmeldung bei „ iSCSI “-Zielen sowie den Zugriff auf und die Verwaltung der „open-iscsi“-Datenbank unterstützt. Führen Sie in diesem Schritt die Erkennung des Geräts mithilfe der aus der IBM Cloud®-Konsole abgerufenen Ziel-IP-Adresse aus.

  1. Führen Sie die Erkennung für das iSCSI-Array aus.

    Block Storage for Classic erfordert eine dynamische Zielerkennung, die die Methode „ SendTargets “ verwendet. Verwenden Sie keine statische Knotenkonfiguration, da diese nicht skalierbar ist und zu Verbindungsproblemen führen kann, wenn Änderungen am Speicher vorgenommen werden (z. B. beim Zuweisen oder Entziehen von Zugriffsrechten für Hosts auf LUNs). Die dynamische Erkennung stellt sicher, dass Ihr Host automatisch alle Änderungen an den Zielportalen erkennt.

    iscsiadm -m discovery -t sendtargets -p <ip-value-from-IBM-Cloud-console>
    

    Wenn die IP-Informationen und die Zugriffsdetails angezeigt werden, war die Erkennung erfolgreich.

  2. Melden Sie sich beim iSCSI-Array an.

    iscsiadm -m node --login
    

Konfiguration prüfen

  1. Überprüfen Sie, ob die iSCSI-Sitzung eingerichtet ist.

    iscsiadm -m session -o show
    
  2. Prüfen Sie, ob mehrere Pfade vorhanden sind.

    multipath -l
    

    Von diesem Befehl werden die Pfade gemeldet. Bei korrekter Konfiguration verfügt jedes Volume über eine einzige Gruppe, deren Anzahl an Pfaden der Anzahl der „ iSCSI “-Sitzungen entspricht. Es ist möglich, ein Volume über einen einzigen Pfad anzuschließen, doch ist es wichtig, dass auf beiden Pfaden Verbindungen hergestellt werden, um Betriebsunterbrechungen zu vermeiden.

    Falls MPIO nicht korrekt konfiguriert ist, wird die Verbindung zum Speichermedium möglicherweise getrennt und es wird im Status 'offline' angezeigt, wenn ein Netzausfall auftritt oder wenn IBM Cloud®-Teams Wartungsarbeiten durchführen. MPIO sorgt bei solchen Ereignissen für eine zusätzliche Verbindungsebene und hält eine bestehende Verbindung zum Datenträger mit aktiven Lese- und Schreibvorgängen aufrecht.

  3. Listen Sie die Partitionstabellen für das verbundene Gerät auf.

    fdisk -l | grep /dev/mapper
    

    Standardmäßig wird die Speichereinheit /dev/mapper/<wwid> zugeordnet. Solange der Datenträger vorhanden ist, ist die WWID persistent. Dieser Befehl meldet Ähnliches wie im folgenden Beispiel.

    Disk /dev/mapper/3600a0980383030523424457a4a695266: 73.0 GB, 73023881216 bytes
    

    In diesem Beispiel ist die Zeichenfolge „ 3600a0980383030523424457a4a695266 “ die WWID. Ihre Anwendung sollte die WWID verwenden. Es ist auch möglich, besser lesbare Namen zu vergeben, indem man die Schlüsselwörter „user_friendly_names“ oder „alias“ in der Datei „ multipath.conf “ verwendet.

    Nun ist der Datenträger angehängt und der Zugriff darauf ist über den Host möglich. Als Nächstes können Sie ein Dateisystem erstellen.

Dateisystem erstellen (optional)

Führen Sie die folgenden Schritte aus, um ein Dateisystem auf dem neu angehängten Datenträger zu erstellen. Ein Dateisystem ist erforderlich, damit die meisten Anwendungen den Datenträger verwenden können. Verwenden Sie fdisk für Laufwerke mit weniger als 2 TB und parted für eine Platte mit mehr als 2 TB.

Dateisystem mit fdisk erstellen

  1. Rufen Sie den Namen des Datenträgers ab.

    fdisk -l | grep /dev/mapper
    

    Der zurückgegebene Plattenname ähnelt /dev/mapper/XXX.

  2. Erstellen Sie eine Partition auf dem Datenträger.

    fdisk /dev/mapper/XXX
    

    XXX steht für den in Schritt 1 zurückgegebenen Datenträgernamen.

    Scrollen Sie weiter nach unten, um die Befehlscodes zu sehen, die in der Befehlstabelle von „ fdisk “ aufgeführt sind.

  3. Erstellen Sie ein Dateisystem auf der neuen Partition.

    fdisk –l /dev/mapper/XXX
    
    • Die neue Partition wird zusammen mit der Festplatte aufgeführt, ähnlich wie bei „ XXXp1 “, gefolgt von der Größe, dem Typ (83) und „ Linux® “.
    • Achten Sie auf den Partitionsnamen; Sie werden ihn im nächsten Schritt brauchen. (XXXp1 steht für den Partitionsnamen.)
    • Erstellen Sie das Dateisystem:
    mkfs.ext3 /dev/mapper/XXXp1
    
  4. Erstellen Sie einen Mountpunkt für das Dateisystem und hängen Sie es an.

    • Erstellen Sie den Partitionsnamen PerfDisk oder den Namen des Datenträgers, an den Sie das Dateisystem anhängen wollen.
    mkdir /PerfDisk
    
    • Hängen Sie den Speicher mit dem Partitionsnamen an.
    mount /dev/mapper/XXXp1 /PerfDisk
    
    • Prüfen Sie, ob Ihr neues Dateisystem in der Liste angezeigt wird.
    df -h
    
  5. Fügen Sie das neue Dateisystem zur Datei /etc/fstab des Systems hinzu, um das automatische Anhängen beim Booten zu aktivieren.

    • Hängen Sie an das Ende der Datei /etc/fstab die folgende Zeile an (mit dem Partitionsnamen aus Schritt 3).
    /dev/mapper/XXXp1    /PerfDisk    ext3    defaults,_netdev    0    1
    

Dateisystem mit parted erstellen

Auf vielen „ Linux® “-Distributionen ist „ parted “ bereits vorinstalliert. Falls nötig, können Sie es jedoch mit dem folgenden Befehl installieren.

# dnf install parted

Führen Sie die folgenden Schritte aus, um ein Dateisystem mit parted zu erstellen.

  1. Starten Sie die interaktive Shell „ parted “.

    parted
    
  2. Erstellen Sie eine Partition auf dem Datenträger.

    • Sofern nicht anders angegeben, verwendet parted das primäre Laufwerk. Das primäre Laufwerk ist in den meisten Fällen /dev/sda. Wechseln Sie mit dem Befehl select zu dem Datenträger, den Sie partitionieren möchten. Ersetzen Sie XXX durch den Namen Ihres neuen Geräts.

      select /dev/mapper/XXX
      
    • Führen Sie den Befehl „ print “ aus, um zu überprüfen, ob Sie sich auf der richtigen Festplatte befinden.

      print
      
    • Erstellen Sie eine Partitionstabelle.

      mklabel gpt
      
    • Mit Parted können primäre und logische Datenträgerpartitionen erstellt werden; die Schritte dazu sind identisch. Von parted wird mkpart zum Erstellen einer Partition verwendet. Je nach dem zu erstellenden Partitionstyp können Sie zusätzliche Parameter wie primary oder logical verwenden. Die aufgelisteten Einheiten werden standardmäßig in Megabyte (MB) angegeben. Um eine Partition mit 10 GB zu erstellen, beginnen Sie mit 1 und enden bei 10000. Sie können die Dimensionierungseinheit auch in Terabyte ändern, indem Sie unit TB eingeben, wenn Sie dies wünschen.

      mkpart
      
    • Beenden Sie parted mit quit.

      quit
      
  3. Erstellen Sie ein Dateisystem auf der neuen Partition.

    mkfs.ext3 /dev/mapper/XXXp1
    

    Es ist wichtig, dass Sie beim Ausführen dieses Befehls die richtige Festplatte und Partition auswählen. Drucken Sie zur Überprüfung des Ergebnisses die Partitionstabelle aus. In der Spalte „Dateisystem“ wird „ ext3 “ angezeigt.

  4. Erstellen Sie einen Mountpunkt für das Dateisystem und hängen Sie es an.

    • Erstellen Sie den Partitionsnamen PerfDisk oder den Namen des Datenträgers, an den Sie das Dateisystem anhängen wollen.
    mkdir /PerfDisk
    
    • Hängen Sie den Speicher mit dem Partitionsnamen an.
    mount /dev/mapper/XXXp1 /PerfDisk
    
    • Prüfen Sie, ob Ihr neues Dateisystem in der Liste angezeigt wird.
    df -h
    
  5. Um das automatische Anhängen von om boot zu aktivieren, fügen Sie das neue Dateisystem zur Datei /etc/fstab des Systems hinzu.

    • Hängen Sie an das Ende der Datei /etc/fstab die folgende Zeile an (mit dem Partitionsnamen aus Schritt 3).
    /dev/mapper/XXXp1    /PerfDisk    ext3    defaults,_netdev    0    1
    

Verwaltung von Benutzerberechtigungen für den Inhalt des bereitgestellten Datenträgers

Als Systemadministrator können Sie den Zugriff auf die Daten auf dem bereitgestellten Datenträger verwalten. Nachdem das Dateisystem fertig ist, können Sie die Zugriffssteuerung verfeinern, indem Sie mit den Befehlen chown und chmod einzelnen Benutzern und Gruppen Lese-, Schreib- und Ausführungsberechtigungen zuweisen. Weitere Informationen finden Sie in der Produktdokumentation unter CloudLinux.

Block Storage for Classic-Datenträger abhängen

Wenn Sie das Volume nicht mehr benötigen, unmounten Sie es, bevor Sie es löschen.

  1. Hängen Sie das Dateisystem ab.
    umount /dev/mapper/XXXp1 /PerfDisk
    
  2. Wenn Sie über keine anderen Datenträger in diesem Zielportal verfügen, können Sie sich von dem Ziel abmelden.
    iscsiadm -m node -t <TARGET NAME> -p <PORTAL IP:PORT> --logout
    
  3. Wenn Sie über keine anderen Datenträger in diesem Zielportal verfügen, löschen Sie den Zielportaldatensatz, um künftige Anmeldeversuche zu verhindern.
    iscsiadm -m node -o delete -t <TARGET IQN> -p <PORTAL IP:PORT>