Einhängen von iSCSI unter Ubuntu OS
Erfahren Sie, wie Sie ein Block Storage for Classic Volume auf Ubuntu 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 einem Ubuntu-Betriebssystem zu mounten. Sie erstellen zwei Verbindungen von einer einzelnen Netzschnittstelle des Hosts zu zwei Ziel-IP-Adressen des Speicherarrays.
Weitere Informationen zur Funktionsweise des Dienstes „ iSCSI “ unter dem Betriebssystem „ Ubuntu “ finden Sie in der Dokumentation zum „ iSCSI-Initiator“(oder „Client“). 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
-
Erstellen Sie einen virtuellen Server für Classic in der Konsole, über die CLI, mit der API oder Terraform.
-
Bestellen Sie ein Blockspeicher-Volume im selben Rechenzentrum.
-
Stellen Sie sicher, dass der Host berechtigt ist, auf das Volume Block Storage for Classic zuzugreifen. Weitere Informationen finden Sie unter Autorisieren des Hosts in der Konsole Autorisieren des Hosts über die CLI Autorisieren des Hosts mit Terraform. Nachdem die Autorisierung abgeschlossen ist, notieren Sie sich den Benutzernamen, das Passwort und die IQN-Informationen des Hosts.
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.
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.
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.
iSCSI und Multipath-Dienstprogramme installieren
Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist und die Pakete „ open-iscsi “ und „ multipath-tools “ enthält. Verwenden Sie die folgenden Befehle, um die Pakete zu installieren.
-
Aktualisieren Sie das Betriebssystem:
apt-get update -
Installieren Sie
open-iscsi.sudo apt install open-iscsiWenn das Paket installiert ist, werden die beiden folgenden Dateien erstellt.
/etc/iscsi/iscsid.conf/etc/iscsi/initiatorname.iscsi
-
Starten Sie die Dienste:
systemctl enable open-iscsisystemctl enable iscsid -
Installieren Sie
multipath-tools.sudo apt install multipath-tools
ISCSI konfigurieren
Aktualisierung des Initiatornamens
-
Vergewissern Sie sich, dass die Datei
/etc/iscsi/initiatorname.iscsivorhanden ist, und überprüfen Sie ihren Inhalt.cat /etc/iscsi/initiatorname.iscsiroot@vsi4classicubuntu:~# cat /etc/iscsi/initiatorname.iscsi GenerateName=yes -
Aktualisieren Sie die Datei
/etc/iscsi/initiatorname.iscsimit Hilfe eines Texteditors mit der IQN aus der Konsole IBM Cloud®. Geben Sie den Wert im folgenden Format ein.InitiatorName=<IQN-value-from-the-portal>
Berechtigungsnachweise konfigurieren
-
Stellen Sie sicher, dass die
iscsid.confDatei vorhanden ist, indem Sie ihren Inhalt überprüfen.cat /etc/iscsi/iscsid.conf -
Dekommentieren und bearbeiten Sie die folgenden Einträge mit dem Texteditor. Sie können den Benutzernamen und das Passwort in der Konsole IBM Cloud® finden.
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).
-
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.
Multipath einrichten
-
Nachdem Sie das Multipath-Dienstprogramm installiert haben, können Sie den Standardinhalt der Datei
multipath.confüberprüfen.cat /etc/multipath.conf -
Ändern Sie die Standardwerte von
/etc/multipath.confmit einem Texteditor, indem Sie sie durch den Inhalt des folgenden Snippets ersetzen.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 „Initial defaults“ der Konfigurationsdatei konfiguriert Ihr System so, dass die Namen der Multipath-Geräte die Form „
/dev/mapper/mpathn“ haben, wobei „mpathn“ die WWID-Nummer (World Wide Identifier) des Geräts ist. Weitere Informationen finden Sie unter Ubuntu manuals -multipath.conf. -
Speichern Sie die Konfigurationsdatei und schließen Sie den Editor.
-
Starten Sie den Multipath-Service.
service multipath-tools start- Aktivieren Sie die erforderlichen Services.
Wenn Sie die Multipath-Konfigurationsdatei nach dem Start des Multipath-Daemons bearbeiten müssen, müssen Sie den Dienst „
multipathd“ neu starten, damit die Änderungen wirksam werden.Weitere Informationen zur Verwendung der Device-Mapper-Multipath-Funktion unter „ Ubuntu s 20“ finden Sie unter „ Einführung in Device-Mapper-Multipathing “.
Speichermedium kennenlernen und anmelden
Das Dienstprogramm „iscsiadm“ ist ein Befehlszeilentool, das zur Erkennung von und Anmeldung bei iSCSI-Zielen ( iSCSI ) sowie für den Zugriff auf 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.
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.
root@vsi4classicubuntu:~# iscsiadm -m discovery -t sendtargets -p 161.26.114.197 161.26.114.197:3260,1052 iqn.1992-08.com.netapp:stfdal1304 161.26.114.196:3260,1049 iqn.1992-08.com.netapp:stfdal1304 -
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 -
Melden Sie sich beim iSCSI-Array an.
sudo iscsiadm -m node --login
Konfiguration prüfen
-
Überprüfen Sie, ob die iSCSI-Sitzung eingerichtet ist.
iscsiadm -m session -o showroot@vsi4classicubuntu:~# iscsiadm -m session -o show tcp: [3] 161.26.114.197:3260,1052 iqn.1992-08.com.netapp:stfdal1304 (non-flash) tcp: [4] 161.26.114.196:3260,1049 iqn.1992-08.com.netapp:stfdal1304 (non-flash) -
Prüfen Sie, ob mehrere Pfade vorhanden sind.
multipath -llVon 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.
root@vsi4classicubuntu:~# multipath -ll 3600a0980383056666424506a33426478 dm-0 NETAPP,LUN C-Mode size=500G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | `- 3:0:0:0 sdb 8:16 active ready running `-+- policy='service-time 0' prio=10 status=enabled `- 2:0:0:0 sda 8:0 active ready runningFalls 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.
In diesem Beispiel ist „
3600a0980383056666424506a33426478“ die WWID, die so lange bestehen bleibt, wie das Volume existiert. Es wird empfohlen, dass Ihre Anwendung die WWID verwendet. 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. -
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 /PerfDiskWeitere 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.