Technologieführer

E. iSCSI — iSCSI-Server und Clients einrichten

4 min read Speicher Aktualisiert 19 Oct 2025
iSCSI-Server und Client einrichten
iSCSI-Server und Client einrichten

Wichtige Begriffe in einer Linie:

  • iSCSI: Netzwerkprotokoll für blockbasierten Storage über TCP/IP.
  • LUN: Logical Unit Number, bezeichnet ein zugewiesenes Speicherobjekt (Partition, Datei oder Device).

Überblick

iSCSI (Internet Small Computer Systems Interface) ist ein Storage-Area-Network-Protokoll, das gemeinsamen blockbasierten Speicher über eine vorhandene Netzwerk-Infrastruktur bereitstellt. Im gezeigten Setup wurde das Open-Source-Projekt iscsitarget verwendet (http://iscsitarget.sourceforge.net). Die Anleitung deckt Installation, Konfiguration, Zugriffskontrolle (ACL) sowie Client-Schritte zum Erkennen und Einbinden der LUNs ab.

1. iSCSI-Server: Installation und Konfiguration

1.a Kompilieren des iscsitarget-Tarballs

Dieser Schritt muss auf dem physischen Host erfolgen.

  • Holen Sie das Tarball von SourceForge und legen Sie es in /usr/local/src ab.
  • Wechseln Sie in das Verzeichnis: cd /usr/local/src
  • Entpacken Sie die Dateien: tar xvf iscsitarget-0.4.16.tar.gz cd iscsitarget-0.4.16
  • Bauen und installieren Sie: make make install

(Hinweis: Diese Befehle bleiben unverändert, da sie Shell-Kommandos sind.)

1.b Beispielkonfiguration (ietd.conf)

Die folgende Beispielkonfiguration in /etc/ietd.conf definiert zwei LUNs, die Gäste als Blockgeräte zugewiesen werden. Die LUN-Pfade zeigen auf zwei logische Volumes, jeweils 50 GB groß (Alternativ sind auch Dateien oder Partitionen möglich; passen Sie dann die Path-Einträge an).

#/etc/ietd.conf
# NOTE: the config files has more entries than what i'm showing here.
# but i've commented out the original entries and made the following
Target iqn.2008-07.NODE00:LUN01.NODE00
   MaxConnections         2
   Lun 1 Path=/dev/Virtual00VG/lvLUN01,Type=fileio
   Alias LUN01
Target iqn.2008-07.NODE00:LUN02.NODE00
   MaxConnections         2
   Lun 2 Path=/dev/Virtual00VG/lvLUN02,Type=fileio
   Alias LUN02
# end of ietd.conf

Wichtig: Achten Sie darauf, dass die Pfade auf dem Server existieren und die Rechte korrekt gesetzt sind. Verwenden Sie für Tests separate LVs oder Dateien, nie produktive Daten.

1.c Zugriffskontrolle (ACL)

iscsitarget verwendet /etc/initiators.allow und /etc/initiators.deny ähnlich wie hosts.allow/hosts.deny. Im Beispiel werden zwei Clients (node01 und node02) für die beiden LUNs freigegeben:

#/etc/initiators.allow
#this should correspond to the definition in your /etc/ietd.conf
iqn.2008-07.NODE00:LUN01.NODE00 192.168.100.10, 192.168.100.20
iqn.2008-07.NODE00:LUN02.NODE00 192.168.100.10, 192.168.100.20
# endof initiators.allow

Starten Sie anschließend den Dienst und aktivieren Sie ihn für den Systemstart:

  • Dienst starten: service iscsi-target start
  • Für Boot aktivieren: chkconfig --add iscsi-target chkconfig iscsi-target on chkconfig --list iscsi-target

Beispielausgabe: iscsi-target 0:off 1:off 2:on 3:on 4:on 5:on 6:off

2. Client-Seite

Voraussetzung: Das Paket iscsi-initiator-utils-6.2.0.865-0.8.el5 sollte installiert sein (in vielen Kickstart-Setups bereits enthalten).

2.a Konfiguration des Initiators

  • Bearbeiten Sie /etc/iscsi/initiatorname.iscsi, um den Initiatornamen zu setzen. Beispiel:
#/etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2008-07.NODE00:LUN01.NODE00
InitiatorName=iqn.2008-07.NODE00:LUN02.NODE00
# end of #/etc/iscsi/initiatorname.iscsi
  • Starten Sie den iSCSI-Daemon: service iscsid start

Beispielausgabe: Turning off network shutdown. Starting iSCSI daemon: [ OK ]

  • Discovery der Ziele durchführen: iscsiadm -m discovery -t st -p node00

Erwartete Ausgabe:

192.168.222.1:3260,1 iqn.2008-07.NODE00:LUN01.NODE00  
192.168.222.1:3260,1 iqn.2008-07.NODE00:LUN02.NODE00
  • iSCSI-Service starten, damit die LUNs eingeloggt werden: service iscsi start

Beispielausgabe (gekürzt):

    iscsid (pid 964 963) is running...
    Setting up iSCSI targets: Login session [iface: default, target: \
    iqn.2008-07.NODE00:LUN02.NODE00, portal: 192.168.222.1,3260]
    Login session [iface: default, target: iqn.2008-07.NODE00:LUN01.\
    NODE00, portal: 192.168.222.1,3260] [  OK  ]
  • Prüfen, ob die Kernel-Device-Map die neuen SCSI-Geräte erkennt: dmesg

Beispielauszug (gekürzt):

        scsi0 : iSCSI Initiator over TCP/IP
         Vendor: IET       Model: VIRTUAL-DISK      Rev: 0
         Type:   Direct-Access                      ANSI SCSI revision: 04
        scsi 0:0:0:2: Attached scsi generic sg0 type 0
        SCSI device sda: 104857600 512-byte hdwr sectors (53687 MB)
        ...
        sd 1:0:0:1: Attached scsi disk sdb

In diesem Beispiel erscheinen /dev/sda und /dev/sdb mit jeweils etwa 53,6 GB. Die tatsächlichen Größen hängen von Ihrer LUN-Konfiguration ab.

  • Partitionstabelle anzeigen: fdisk -l

Beispielausgabe zeigt die lokalen Disks und die neuen iSCSI-Geräte. Bei einem Testsetup sind die iSCSI-Geräte oft noch ohne gültige Partitionstabelle.

Führen Sie die gleichen Schritte auf node02 durch. Sobald beide Gäste die Disks sehen, können Sie ein Zwei-Knoten-Cluster aufsetzen (z. B. Oracle RAC Testumgebung mit ASM und OCFS2), wie im Originalautoren-Setup geschehen.

Wann dieses Setup sinnvoll ist und wann nicht

  • Sinnvoll für: Lern- und Testumgebungen, Proof-of-Concepts, Schulungen, funktionale Tests ohne Produktionsdaten.
  • Nicht geeignet für: produktive Umgebungen ohne Redundanz, fehlendes Monitoring oder nicht getunnelte Netzwerke. Verwenden Sie in Produktion geprüfte SAN-Controller, Multipathing (MPIO), redundante Netzwerkpfade und abgesicherte Storage-Lösungen.

Alternative Ansätze

  • NFS als Datei-basiertes Shared-Storage (einfacher, aber nicht blockbasiert).
  • iSCSI mit professionellen Targets (z. B. LIO, tgt, FreeNAS/TrueNAS) für bessere Feature-Unterstützung und Management.
  • Fibre Channel für höhere Leistung in produktiven SANs.
  • Software-Defined-Storage-Lösungen (Ceph, Gluster) für verteilten Datenspeicher.

Checklisten

Checkliste — Server

  • iscsitarget korrekt installiert und ausführbar
  • /etc/ietd.conf geprüft und Pfade existieren
  • /etc/initiators.allow konfiguriert
  • Dienst gestartet und für Boot aktiviert
  • Firewall/Netzwerkverbindungen (TCP 3260) geprüft

Checkliste — Client

  • initiatorname korrekt gesetzt
  • iscsid/iscsictl gestartet
  • Discovery erfolgreich
  • Geräte in dmesg/fdisk sichtbar
  • Falls Clusterbetrieb: geteilte Locksysteme und Filesysteme prüfen (z. B. OCFS2)

Mini-Methodik: Testablauf (kurz)

  1. Erstelle zwei LVs oder Dateien auf dem Server (jeweils z. B. 50 GB).
  2. Konfiguriere /etc/ietd.conf und /etc/initiators.allow.
  3. Starte iscsi-target auf dem Server.
  4. Auf Clients: initiatorname setzen, iscsid starten, discover, iscsi start.
  5. Prüfe dmesg und fdisk, lege Partitionen/Dateisysteme an, mounten oder in Cluster einbinden.

Sicherheits- und Datenschutzhinweise

  • Schützen Sie iSCSI-Steuer- und Datennetzwerke durch VLANs, dedizierte Netzwerkkarten oder separate physische Netze.
  • Verwenden Sie Authentifizierung (z. B. CHAP) falls verfügbar, und beschränken Sie Initiatoren über ACLs.
  • Speichern Sie keine sensiblen Produktionsdaten in Test-LUNs.
  • Prüfen Sie in Ihrer Organisation, ob besondere Datenschutzanforderungen (z. B. DSGVO) für die verwendeten Daten gelten.

Kurzglossar

  • iSCSI: Blockbasiertes Protokoll über TCP/IP.
  • LUN: Speicherobjekt, das als Blockdevice präsentiert wird.
  • Initiator: Client, der auf iSCSI-Ziele zugreift.
  • Target: Server, der LUNs bereitstellt.

Fazit

Dieses Setup ermöglicht ein kostengünstiges Lernen der Grundlagen von Cluster- und Shared-Storage-Konfigurationen ohne zusätzliche Hardware. Es ist ideal für Trainings- und Testzwecke. Für produktive Umgebungen sind jedoch robuste, redundante und getestete SAN-Lösungen erforderlich.

Weitere Lektüre

Wichtig: Verwenden Sie dieses Tutorial nur in isolierten Testumgebungen. In Produktionsumgebungen sind zusätzliche Maßnahmen wie Multipathing, Monitoring, Backup/Recovery und Sicherheit zwingend notwendig.

Autor
Redaktion

Ähnliche Materialien

Fehler 0xc000001d in Windows schnell beheben
Fehlerbehebung

Fehler 0xc000001d in Windows schnell beheben

macOS: Recent Places löschen & Limit ändern
macOS Tipps

macOS: Recent Places löschen & Limit ändern

Windows 10: Fehler 0x80070057, 0xa0000400 und Cortana beheben
Windows 10

Windows 10: Fehler 0x80070057, 0xa0000400 und Cortana beheben

Windows-Updates entfernen: Schritt-für-Schritt
Windows

Windows-Updates entfernen: Schritt-für-Schritt

Tabs in Firefox und Chrome effizient organisieren
Browser Tipps

Tabs in Firefox und Chrome effizient organisieren

Was ist der Ordner found.000 in Windows 10?
Windows

Was ist der Ordner found.000 in Windows 10?