E. iSCSI — iSCSI-Server und Clients 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)
- Erstelle zwei LVs oder Dateien auf dem Server (jeweils z. B. 50 GB).
- Konfiguriere /etc/ietd.conf und /etc/initiators.allow.
- Starte iscsi-target auf dem Server.
- Auf Clients: initiatorname setzen, iscsid starten, discover, iscsi start.
- 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
- RHEL5 Virtualization Manual
- http://iscsitarget.sourceforge.net
- Oracle RAC HowTO
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.
Ähnliche Materialien

Fehler 0xc000001d in Windows schnell beheben

macOS: Recent Places löschen & Limit ändern

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

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

Tabs in Firefox und Chrome effizient organisieren
