Einhängen von iSCSI unter Ubuntu OS
Diese Anleitung führt Sie durch das Einhängen eines IBM Cloud® Block Storage for Classic Volumes auf einem Server mit einem Ubuntu Betriebssystem. Sie erstellen zwei Verbindungen von einer einzelnen Netzschnittstelle des Hosts zu zwei Ziel-IP-Adressen des Speicherarrays.
Wenn Sie ein anderes Linux® Betriebssystem verwenden, lesen Sie die Dokumentation Ihrer spezifischen Distribution und stellen Sie sicher, dass der Multipath 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 clustersensitiven, gemeinsam genutzten Plattendateisystem, um Datenverluste wie Microsoft Cluster Shared Volumes (CSV), Red Hat Global File System (GFS2), VMware® VMFS und andere zu verhindern. Weitere Informationen finden Sie in der Dokumentation des Betriebssystems Ihres Hosts.
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 mit der Konfiguration von iSCSI, beginnen, vergewissern Sie sich, dass die Netzwerkschnittstellen korrekt eingestellt und konfiguriert sind, damit das open-iscsi-Paket korrekt funktioniert, insbesondere während der Startphase. In den
neueren Versionen von Ubuntu ist Netplan das Hauptwerkzeug zum Einstellen von Netzwerkadressinformationen. Es verwendet eine YAML-Konfigurationsdatei,
um Netzwerkeinstellungen zu definieren und ersetzt damit ältere Methoden wie /etc/network/interfaces
. Netplan kann über die Kommandozeile oder über NetworkManager in Desktop-Umgebungen konfiguriert werden.
Weitere Informationen über die Funktionsweise des Dienstes iSCSI unter Ubuntu OS finden Sie unter iSCSI Initiator(oder Client) Documentation.
Stellen Sie außerdem sicher, dass der Rechner, 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 aktualisiert ist und die Pakete open-iscsi
und multipath-tools
enthält. Verwenden Sie die folgenden Befehle, um die Pakete zu installieren.
-
Installieren Sie
open-iscsi
.sudo apt install open-iscsi
Wenn das Paket installiert ist, werden die beiden folgenden Dateien erstellt.
/etc/iscsi/iscsid.conf
/etc/iscsi/initiatorname.iscsi
-
Installieren Sie
multipath-tools
.sudo apt install multipath-tools
Wenn Sie von dem Volume booten wollen, muss auch das Paket
multipath-tools-boot
installiert werden.
Multipath einrichten
-
Nachdem Sie das Multipath-Dienstprogramm installiert haben, erstellen Sie eine leere Konfigurationsdatei mit dem Namen
/etc/multipath.conf
. -
Ändern Sie die Standardwerte von
/etc/multipath.conf
.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 "3 queue_if_no_path pg_init_retries 50" 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 "Anfangsvorgaben" der Konfigurationsdatei konfiguriert Ihr System so, dass die Namen der Multipath-Geräte die Form
/dev/mapper/mpathn
haben, wobeimpathn
die WWID-Nummer des Geräts ist. Weitere Informationen finden Sie unter Ubuntu manuals -multipath.conf
. -
Speichern Sie die Konfigurationsdatei und beenden Sie den Editor, falls dies erforderlich sein sollte.
-
Starten Sie den Multipath-Service.
service multipath-tools start
Wenn Sie die Multipath-Konfigurationsdatei bearbeiten müssen, nachdem Sie den Multipath-Daemon gestartet haben, müssen Sie den Dienst
multipathd
neu starten, damit die Änderungen wirksam werden.Weitere Informationen zur Verwendung der Device Mapper Multipath-Funktion auf Ubuntu 20 finden Sie unter Device Mapper Multipathing - Einführung.
Datei /etc/iscsi/initiatorname.iscsi aktualisieren
Aktualisieren Sie die Datei /etc/iscsi/initiatorname.iscsi
mit der IQN über die Konsole IBM Cloud®. Geben Sie den Wert in Kleinbuchstaben ein.
InitiatorName=<value-from-the-Portal>
Berechtigungsnachweise konfigurieren
Bearbeiten Sie die folgenden Einstellungen in /etc/iscsi/iscsid.conf
unter Verwendung des Benutzernamens und des Passworts der Konsole IBM Cloud®. Geben Sie die CHAP-Namen in Großbuchstaben ein.
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 anderen CHAP-Einstellungen auf Kommentar. IBM Cloud®-Speicher verwendet nur unidirektionale Authentifizierung. Aktivieren Sie nicht die gemeinsame Nutzung von CHAP (Mutual CHAP).
Starten Sie den iscsi-Service erneut, damit die Änderungen wirksam werden.
systemctl restart iscsid.service
Weitere Informationen finden Sie unter Ubuntu manuals - iscsid
und Ubuntu manuals - systemctl
.
Speichermedium kennenlernen und anmelden
Das Dienstprogramm iscsiadm ist ein Befehlszeilenwerkzeug, das für die Erkennung und Anmeldung bei iSCSI Targets sowie für den Zugriff und die Verwaltung der open-iscsi-Datenbank verwendet wird. Weitere Informationen finden Sie in den Handbüchern von Ubuntu – iscsiadm
. In diesem Schritt ermitteln Sie das Gerät mithilfe der Ziel-IP-Adresse, die Sie von der Konsole IBM Cloud® erhalten haben.
-
Führen Sie die Erkennung für das iSCSI-Array aus.
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.
-
Konfigurieren Sie die automatische Anmeldung.
sudo iscsiadm -m node --op=update -n node.conn[0].startup -v automatic sudo iscsiadm -m node --op=update -n node.startup -v automatic
-
Aktivieren Sie die erforderlichen Services.
systemctl enable open-iscsi systemctl enable iscsid
-
Starten Sie den Service 'iscsid' erneut.
systemctl restart iscsid.service
-
Melden Sie sich beim iSCSI-Array an.
sudo iscsiadm -m node --loginall=automatic
Konfiguration prüfen
-
Überprüfen Sie, ob die iSCSI-Sitzung eingerichtet ist.
iscsiadm -m session -o show
-
Prüfen Sie, ob mehrere Pfade vorhanden sind.
multipath -ll
Von diesem Befehl werden die Pfade gemeldet. Wenn es richtig konfiguriert ist, hat jedes Volume eine einzige Gruppe mit einer Anzahl von Pfaden, die der Anzahl der iSCSI Sitzungen entspricht. Es ist möglich, ein Volume mit einem einzigen Pfad zu verbinden, aber es ist wichtig, dass die Verbindungen auf beiden Pfaden hergestellt werden, um eine Unterbrechung des Dienstes zu vermeiden.
$ sudo multipath -ll mpathb (360014051f65c6cb11b74541b703ce1d4) dm-1 LIO-ORG,TCMU device size=1.0G features='0' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=1 status=active | `- 7:0:0:2 sdh 8:112 active ready running `-+- policy='service-time 0' prio=1 status=enabled `- 8:0:0:2 sdg 8:96 active ready running mpatha (36001405b816e24fcab64fb88332a3fc9) dm-0 LIO-ORG,TCMU device size=1.0G features='0' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=1 status=active | `- 7:0:0:1 sdj 8:144 active ready running `-+- policy='service-time 0' prio=1 status=enabled `- 8:0:0:1 sdi 8:128 active ready running
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 bietet eine zusätzliche Ebene der Konnektivität während dieser Ereignisse und hält eine bestehende Sitzung mit dem Datenträger mit aktiven Lese-/Schreibvorgängen aufrecht.
In dem Beispiel ist
36001405b816e24fcab64fb88332a3fc9
die WWID, die persistent ist, solange der Datenträger vorhanden ist. Es wird empfohlen, dass Ihre Anwendung die WWID verwendet. Es ist auch möglich, leichter lesbare Namen zu vergeben, indem man die Schlüsselwörter "user_friendly_names" oder "alias" in multipath.conf verwendet. -
Prüfen Sie
dmesg
, um sicherzustellen, dass die neuen Platten erkannt werden.dmesg
Partition und Dateisystem erstellen (optional)
Nachdem der Datenträger auf dem Host angehängt und zugänglich gemacht wurde, können Sie ein Dateisystem erstellen. Führen Sie die folgenden Schritte aus, um ein Dateisystem auf dem neu angehängten Datenträger zu erstellen.
-
Erstellen Sie eine Partition.
$ sudo fdisk /dev/mapper/mpatha Welcome to fdisk (util-linux 2.34). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x92c0322a. Command (m for help): p Disk /dev/mapper/mpatha: 1 GiB, 1073741824 bytes, 2097152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 65536 bytes Disklabel type: dos Disk identifier: 0x92c0322a Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-2097151, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): Created a new partition 1 of type 'Linux' and of size 1023 MiB. Command (m for help): w The partition table has been altered.
-
Erstellen Sie das Dateisystem.
$ sudo mkfs.ext4 /dev/mapper/mpatha-part1 mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 261888 4k blocks and 65536 inodes Filesystem UUID: cdb70b1e-c47c-47fd-9c4a-03db6f038988 Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done
-
Hängen Sie die Blockeinheit an.
sudo mount /dev/mapper/mpatha-part1 /mnt
-
Greifen Sie auf die Daten zu, um sicherzustellen, dass die neue Partition und das neue Dateisystem einsatzbereit sind.
ls /mnt
Block Storage for Classic-Datenträger abhängen
Wenn Sie das Volume nicht mehr benötigen, unmounten Sie es, bevor Sie es löschen.
-
Hängen Sie das Dateisystem ab.
umount /dev/mapper/XXXp1 /PerfDisk
Weitere Informationen finden Sie in den Handbüchern von Ubuntu –
umount
. -
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
-
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>
Weitere Informationen finden Sie in den Handbüchern von Ubuntu –
iscsiadm
.