22 Ceph iSCSI Gateway #
In diesem Kapitel befassen wir uns hauptsächlich mit Verwaltungsaufgaben, die für das iSCSI Gateway relevant sind. Das Verfahren zur Bereitstellung wird im Abschnitt 8.3.5, „Bereitstellen von iSCSI-Gateways“ erläutert.
22.1 Mit ceph-iscsi
verwaltete Ziele #
In diesem Kapitel wird erläutert, wie Sie eine Verbindung zu ceph-iscsi
-verwalteten Zielen von Clients aus herstellen, auf denen Linux, Microsoft Windows oder VMware ausgeführt wird.
22.1.1 Herstellen einer Verbindung mit open-iscsi
#
Die Herstellung einer Verbindung zu ceph-iscsi
-gestützten iSCSI-Zielen mit open-iscsi
erfolgt in zwei Schritten. Zunächst muss der Initiator die iSCSI-Ziele ermitteln, die am Gateway-Host verfügbar sind. Dann muss er sich anmelden und die verfügbaren logischen Einheiten (Logical Unit, LU) zuordnen.
Für beide Schritte muss der open-iscsi
-Daemon aktiv sein. Die Art und Weise, wie Sie den open-iscsi
-Daemon starten, hängt von Ihrer Linux-Distribution ab:
Führen Sie auf SUSE Linux Enterprise Server (SLES)- und Red Hat Enterprise Linux (RHEL)-Hosts
systemctl start iscsid
aus (oderservice iscsid start
, fallssystemctl
nicht verfügbar ist).Führen Sie auf Debian- und Ubuntu-Hosts
systemctl start open-iscsi
aus (oderservice open-iscsi start
).
Wenn Ihr Initiator-Host SUSE Linux Enterprise Server ausführt, sehen Sie sich die detaillierten Informationen unter https://documentation.suse.com/sles/15-SP1/single-html/SLES-storage/#sec-iscsi-initiator an, um zu erfahren, wie Sie eine Verbindung zu einem iSCSI-Ziel herstellen.
Fahren Sie bei allen anderen Linux-Distributionen, die open-iscsi
unterstützen, damit fort, Ziele in Ihrem ceph-iscsi
-Gateway zu ermitteln (in diesem Beispiel verwenden wir „iscsi1.example.com“ als Portaladresse. Wiederholen Sie für einen Multipfadzugriff diese Schritte mit „iscsi2.example.com“):
#
iscsiadm -m discovery -t sendtargets -p iscsi1.example.com
192.168.124.104:3260,1 iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol
Melden Sie sich dann beim Portal an. Nach erfolgreicher Anmeldung stehen sofort alle RBD-unterstützten logischen Einheiten auf dem Portal im System SCSI-Bus zur Verfügung:
#
iscsiadm -m node -p iscsi1.example.com --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] successful.
Wiederholen Sie diesen Vorgang für andere Portal-IP-Adressen oder Hosts.
Wenn auf Ihrem System das Dienstprogramm lsscsi
installiert ist, zählen Sie damit die verfügbaren SCSI-Geräte auf Ihrem System auf:
lsscsi [8:0:0:0] disk SUSE RBD 4.0 /dev/sde [9:0:0:0] disk SUSE RBD 4.0 /dev/sdf
In einer Multipfadkonfiguration (bei der zwei verbundene iSCSI-Geräte ein und dieselbe logische Einheit darstellen) können Sie auch den Zustand des Multipfadgeräts mit dem Dienstprogramm multipath
untersuchen:
#
multipath -ll
360014050cf9dcfcb2603933ac3298dca dm-9 SUSE,RBD
size=49G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 8:0:0:0 sde 8:64 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 9:0:0:0 sdf 8:80 active ready running
Daraufhin kann dieses Multipfadgerät wie jedes andere Blockgerät verwendet werden. Sie können dieses Gerät beispielsweise als physisches Volume für Linux Logical Volume Management (LVM) verwenden oder einfach darauf ein Dateisystem erstellen. Im folgenden Beispiel sehen Sie, wie ein XFS-Dateisystem auf dem neu verbundenen Multipfad-iSCSI-Volume erstellt wird:
#
mkfs -t xfs /dev/mapper/360014050cf9dcfcb2603933ac3298dca
log stripe unit (4194304 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/mapper/360014050cf9dcfcb2603933ac3298dca isize=256 agcount=17, agsize=799744 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=12800000, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=6256, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Beachten Sie, dass XFS ein nicht geclustertes Dateisystem ist und daher zu einem gegebenen Zeitpunkt nur auf einem einzelnen iSCSI-Initiator eingehängt werden darf.
Führen Sie folgendes Kommando aus, wenn Sie die mit einem bestimmten Ziel verknüpften iSCSI-LUs irgendwann nicht mehr weiter verwenden möchten:
#
iscsiadm -m node -p iscsi1.example.com --logout
Logging out of session [sid: 18, iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260]
Logout of [sid: 18, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] successful.
Bei der Ermittlung und Anmeldung müssen Sie die Abmeldeschritte für alle Portal-IP-Adressen oder Hostnamen wiederholen.
22.1.1.1 Multipfadkonfiguration #
Die Multipfadkonfiguration wird auf den Clients oder Initiatoren beibehalten und ist unabhängig von anderen ceph-iscsi
-Konfigurationen. Wählen Sie vor Verwendung der Blockspeicherung eine Strategie aus. Starten Sie nach dem Bearbeiten der Datei /etc/multipath.conf
die Option multipathd
neu mit
#
systemctl restart multipathd
Fügen Sie für eine Aktiv/Passiv-Konfiguration mit Anzeigenamen
defaults { user_friendly_names yes }
zu Ihrer Datei /etc/multipath.conf
hinzu. Führen Sie nach erfolgreicher Herstellung einer Verbindung zu den Zielen folgendes Kommando aus:
#
multipath -ll
mpathd (36001405dbb561b2b5e439f0aed2f8e1e) dm-0 SUSE,RBD
size=2.0G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 2:0:0:3 sdl 8:176 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 3:0:0:3 sdj 8:144 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 4:0:0:3 sdk 8:160 active ready running
Beachten Sie den Status der einzelnen Links. Fügen Sie für eine Aktiv/Aktiv-Konfiguration
defaults { user_friendly_names yes } devices { device { vendor "(LIO-ORG|SUSE)" product "RBD" path_grouping_policy "multibus" path_checker "tur" features "0" hardware_handler "1 alua" prio "alua" failback "immediate" rr_weight "uniform" no_path_retry 12 rr_min_io 100 } }
zu Ihrer Datei /etc/multipath.conf
hinzu. Starten Sie multipathd
neu und führen Sie folgendes Kommando aus:
#
multipath -ll
mpathd (36001405dbb561b2b5e439f0aed2f8e1e) dm-3 SUSE,RBD
size=2.0G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 4:0:0:3 sdj 8:144 active ready running
|- 3:0:0:3 sdk 8:160 active ready running
`- 2:0:0:3 sdl 8:176 active ready running
22.1.2 Herstellen einer Verbindung zu Microsoft Windows (Microsoft iSCSI-Initiator) #
Führen Sie zum Herstellen einer Verbindung zum SUSE Enterprise Storage iSCSI-Ziel auf einem Windows 2012 Server folgende Schritte aus:
Öffnen Sie Windows Server Manager. Wählen Sie am Desktop
› aus. Das Dialogfeld (iSCSI-Initiator-Eigenschaften) wird angezeigt. Wählen Sie die Registerkarte aus:Abbildung 22.1: Eigenschaften des iSCSI-Initiators #Geben Sie im Dialogfeld
den Hostnamen oder die IP-Adresse im Feld ein und klicken Sie auf :Abbildung 22.2: Zielportal ermitteln #Wiederholen Sie diesen Vorgang für alle Gateway-Hostnamen oder IP-Adressen. Überprüfen Sie nach Fertigstellung die Liste
:Abbildung 22.3: Zielportale #Wechseln Sie anschließend zur Registerkarte
und prüfen Sie die ermittelten Ziele.Abbildung 22.4: Zielgruppen #Klicken Sie auf
auf der Registerkarte . Das Dialogfeld wird angezeigt. Aktivieren Sie das Kontrollkästchen für , um die Multipfad-E/A (MPIO) zu aktivieren und klicken Sie anschließend auf :Wenn das Dialogfeld
geschlossen wird, wählen Sie aus, um die Eigenschaften des Ziels zu prüfen:Abbildung 22.5: Eigenschaften des iSCSI-Ziels #Wählen Sie
aus und klicken Sie auf , um die Multipath-Konfiguration zu überprüfen:Abbildung 22.6: Gerätedetails #Die standardmäßige
ist . Wenn Sie eine reine Failover-Konfiguration bevorzugen, ändern Sie die Einstellung zu .
Damit ist die iSCSI-Initiator-Konfiguration abgeschlossen. Die iSCSI-Volumes sind nun verfügbar wie alle anderen SCSI-Geräte und können zur Verwendung als Volumes und Laufwerke initialisiert werden. Klicken Sie auf
, um das Dialogfeld zu schließen und fahren Sie mit der Rolle am -Dashboard fort.Beobachten Sie das neu verbundene Volume. Es ist am iSCSI-Bus als SUSE RBD SCSI-Multipfadlaufwerk gekennzeichnet. Es ist zu Beginn mit einem Offline-Status markiert und einem Partitionstabellentyp Unbekannt. Wenn das neue Volume nicht sofort angezeigt wird, wählen Sie aus dem Dropdown-Feld aus, um den iSCSI-Bus neu abzusuchen.
Klicken Sie mit der rechten Maustaste auf das iSCSI-Volume und wählen Sie im Kontextmenü
aus. Der wird angezeigt. Klicken Sie auf , heben Sie das neu verbundene iSCSI-Volume hervor und klicken Sie auf , um zu beginnen.Abbildung 22.7: Assistent für neue Volumes #Zu Beginn ist das Gerät leer und enthält keine Partitionstabelle. Wenn Sie dazu aufgefordert werden, bestätigen Sie den Dialog und geben Sie an, dass das Volume mit einer GPT-Partitionstabelle initialisiert wird:
Abbildung 22.8: Eingabeaufforderung für Offline-Datenträger #Wählen Sie die Volume-Größe aus. Normalerweise würden Sie die volle Kapazität des Geräts nutzen. Weisen Sie in diesem Fall einen Laufwerkbuchstaben oder Verzeichnisnamen zu, in dem das neu erstellte Volumen verfügbar sein soll. Wählen Sie dann ein Dateisystem aus, das am neuen Volume erstellt werden soll. Bestätigen Sie schließlich Ihre Auswahl mit
, um die Erstellung des Volumes abzuschließen:Abbildung 22.9: Volume-Auswahl bestätigen #Überprüfen Sie die Ergebnisse nach Abschluss des Vorgangs, klicken Sie dann auf
, um die Laufwerkinitialisierung abzuschließen. Nach Abschluss der Initialisierung steht das Volume (und dessen NTFS-Dateisystem) wie ein neu initialisiertes lokales Laufwerk zur Verfügung.
22.1.3 Herstellen einer Verbindung zu VMware #
Sie benötigen zur Herstellung einer Verbindung zu
ceph-iscsi
-verwalteten iSCSI-Volumen einen konfigurierten iSCSI-Softwareadapter. Wenn in Ihrer vSphere-Konfiguration kein derartiger Adapter verfügbar ist, erstellen Sie einen Adapter, indem Sie die Optionsfolge › › › auswählen.Wählen Sie die Eigenschaften des Adapters aus, falls verfügbar. Klicken Sie dazu mit der rechten Maustaste auf den Adapter und wählen Sie im Kontextmenü die Option
aus:Abbildung 22.10: Eigenschaften des iSCSI-Initiators #Klicken Sie im Dialogfeld
(iSCSI-Software-Initiator) auf die Schaltfläche (Konfigurieren). Gehen Sie dann zur Registerkarte (Dynamische Ermittlung) und wählen Sie (Hinzufügen) aus.Geben Sie die IP-Adresse oder den Hostnamen Ihres
ceph-iscsi
-iSCSI-Gateways ein. Wenn Sie mehrere iSCSI-Gateways in einer Failover-Konfiguration ausführen, wiederholen Sie diesen Schritt für alle vorhandenen Gateways.Abbildung 22.11: Zielserver hinzufügen #Klicken Sie nach Eingabe aller iSCSI-Gateways im Dialogfeld auf
, um eine erneute Absuche des iSCSI-Adapters zu initiieren.Nach Abschluss der Neuabsuche wird das neue iSCSI-Gerät unterhalb der Liste
(Speicheradapter) im Fensterbereich angezeigt. Für Multipfadgeräte können Sie nun mit der rechten Maustaste auf den Adapter klicken und im Kontextmenü (Pfade verwalten) auswählen:Abbildung 22.12: Multipfadgeräte verwalten #Sie sollten nun alle Pfade mit einer grünen Anzeige unter
sehen. Einer Ihrer Pfade sollte mit (Aktiv (E/A)) gekennzeichnet sein und alle anderen einfach mit (Aktiv):Abbildung 22.13: Auflistung der Pfade für Multipfad #Sie können nun von
(Speicheradapter) zum Element mit dem Label (Speicher) wechseln. Wählen Sie oben rechts im Fensterbereich (Speicher hinzufügen...) aus, um das Dialogfeld (Speicher hinzufügen) zu öffnen. Wählen Sie dann (Datenträger/LUN) aus und klicken Sie auf . Das neu hinzugefügte iSCSI-Gerät erscheint in der Liste (Datenträger/LUN auswählen). Wählen Sie es aus und klicken Sie dann auf , um fortzufahren:Abbildung 22.14: Dialogfeld „Speicher hinzufügen“ #Klicken Sie auf
, um das standardmäßige Datenträger-Layout zu übernehmen.Weisen Sie im Fensterbereich
der neuen Datenablage einen Namen zu und klicken Sie auf . Akzeptieren Sie die Standardeinstellung zur Verwendung des gesamten Speicherplatzes des Volumes für die Datenablage oder wählen Sie (Benutzerdefinierte Speicherplatzeinstellung) für eine kleinere Datenablage aus:Abbildung 22.15: Benutzerdefinierte Speicherplatzeinstellung #Klicken Sie auf
(Fertig stellen), um die Erstellung der Datenablage abzuschließen.Die neue Datenablage wird nun in der Datenablageliste angezeigt. Wählen Sie sie aus, um die Details abzurufen. Nun sind Sie in der Lage, das
ceph-iscsi
-unterstützte iSCSI-Volume wie jede andere vSphere-Datenablage zu verwenden.Abbildung 22.16: Überblick zur iSCSI-Datenablage #
22.2 Fazit #
ceph-iscsi
ist eine Schlüsselkomponente von SUSE Enterprise Storage 7.1, die den Zugriff auf dezentrale, hochverfügbare Blockspeicher von jedem Server oder Client aus ermöglicht, der das iSCSI-Protokoll versteht. Durch Verwendung von ceph-iscsi
auf mindestens einem iSCSI-Gateway-Host werden Ceph RBD-Images als logische Einheiten (Logical Units, LUs) verfügbar, die mit iSCSI-Zielen verknüpft sind. Auf diese kann auf optional lastausgeglichene, hochverfügbare Weise zugegriffen werden.
Da die gesamte Konfiguration von ceph-iscsi
im Ceph RADOS-Objektspeicher gespeichert ist, weisen ceph-iscsi
-Gateway-Hosts von Natur aus keinen dauerhaften Zustand auf und können daher nach Belieben ersetzt, verbessert oder reduziert werden. SUSE Enterprise Storage 7.1 ermöglicht es SUSE-Kunden folglich, eine echte dezentrale, hochverfügbare, stabile und selbstreparierende Unternehmensspeichertechnologie auf frei erhältlicher Hardware und einer Open Source-Plattform auszuführen.