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 5.4.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 zu 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-SP2/html/SLES-all/cha-iscsi.html#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“):
root #
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:
root #
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:
root #
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:
root #
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:
root #
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
root #
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:
root #
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:
root #
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
(Zielportal ermitteln) 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
(Zielportale):Abbildung 22.3: Zielportale #Wechseln Sie anschließend zur Registerkarte
und prüfen Sie die ermittelten Ziele.Abbildung 22.4: Zielgruppen #Klicken Sie auf
(Verbinden) auf der Registerkarte . Das Dialogfeld (Mit Ziel verbinden) wird angezeigt. Aktivieren Sie das Kontrollkästchen für (Multipfad aktivieren), um die Multipfad-E/A (MPIO) zu aktivieren und klicken Sie anschließend auf :Wenn das Dialogfeld
(Mit Ziel verbinden) 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
(Lastausgleichrichtlinie) ist (Round-Robin mit Teilmenge). Wenn Sie eine reine Failover-Konfiguration bevorzugen, ändern Sie die Einstellung zu (Nur Failover).
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 (Eigenschaften des iSCSI-Initiators) zu schließen und fahren Sie mit der Rolle (Datei- und Speicherdienste) am -Dashboard fort.Beobachten Sie das neu verbundene Volume. Es ist am iSCSI-Bus als SUSE RBD SCSI Multi-Path Drive (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 (Speicher neu absuchen) aus dem Dropdown-Feld (Aufgaben) aus, um den iSCSI-Bus neu abzusuchen.
Klicken Sie mit der rechten Maustaste auf das iSCSI-Volume und wählen Sie im Kontextmenü
(Neues Volume) aus. Der (Assistent für neue Volumes) 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, 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 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.