iSCSI via Multipath

iSCSI via Multipath

  1. Server und Client brauchen je zwei NICs.
  2. Jedem Interface unterschiedliche IPs zuweisen
  3. iSCSI Target auf Server erstellen
  4. Auf Client iSCSI Initiator erstellen.
  5. Diesem das gleiche Target über beide Serveradressen zuweisen.
  6. Auf Client Multipath starten
    1. /etc/init.d/multipathd start
  7. Auf Client sind jetzt /dev/sdb und /dev/sdc zu sehen.
  8. Zusätzlich das Multipath Device /dev/dm-0.
  9. dm-0 kann wie Blockdevice behandelt werden.

Multipath neueinlesen

  1. /etc/init.d/multipathd stop #Multipath stoppen
  2. multipath -F #Bindings löschen
  3. multipath -v2 -l #Neue Bindings erstellen
  4. /etc/init.d/multipathd start #Multipath starten

 

iSNS Server

iSNS Aufbau

[Discorevy Domain Set] -> [Domain Sets] -> [iSCSI Targets and Initiators]

 

 iSNS Server Installieren

  1. yast -> Network Services -> iSNS
  2. Adresse des iSNS Servers eingeben & Service Start anpassen (Firewall nicht vergessen) -> Finish
  3. Prüfe in /etc/isns/isns.conf nach, ob folgende Inhalte geschrieben wurde und ergänze, falls notwendig:
    1. isns.address = <isns server IP>
    2. isns.port = 3205
  4. iSNS restarten (rcisns restart)

 

iSCSI Initiator manuel konfigurieren

vim /etc/iscsid.conf

Beispiel Eintrag:

isns.address = <isns server ip>
isns.port = 3205

Beachte: Leider kommt es vor, dass das Yast Modul die Einträge nicht korrekt vornimmt. Darum muss der mit dem folgenden Schritt die .conf überprüft und geg. angepasst werden.

Erstelle iSNS Discovery Domains

  1. yast -> Network Services -> iSNS Server -> Discovery Domains (Reiter)
  2. Create Discovery Domain -> Name eingeben -> OK

Erstelle iSNS Discovery Domain Set

Eine Discovery Domain muss Member eines DD-Sets sein um aktiv zu arbeiten.

  1. yast -> Network Services -> iSNS Server -> Discovery Domain Sets (Reiter)
  2. Create Discovery Domain Set -> Name eingeben -> OK
  3. Wähle das neue DDS aus -> Add Discovery Domain -> Wähle nicht zugeordnete DD und füge sie in das DDS.

iSCSI Node zu Discovery Domain hinzufügen

  1.  yast -> Network Services -> iSCSI Target -> iSNS Access Control (Reiter)
  2. Adresse des iSNS Servers angeben -> Finish

DIe iSCSI Node wird jetzt aufgelistet im iSNS Modul unter dem Reiter iSCSI Nodes.

Manuelle iSCSI Node Konfiguration

Zu editieren in:

vim /etc/ietd.conf

Nach iSCSI Dienst neustarten mit:

rcopen-iscsi restart

 

iSCSI initiator konfigurieren

  1.  yast -> Network Services -> iSCSI Initiator
  2. iSNS Adresse und Port angeben -> Finish

iSCSI Initiator im iSNS Server einpflegen

  1.  yast -> Network Services -> iSNS Server -> iSCSI Nodes (Reiter)
  2. Stelle sicher, dass der Initiator angezeigt wird. Wenn nicht starte auf beiden Seite die iSCSI Dienste neu.
  3. Discovery Domain (Reiter) -> Add Existing iSCSI Node -> Node auswählen -> Add Node -> Done
  4. Stelle sicher, dass der Initiator jetzt Member der DD ist.
  5. Finish

iSNS Manuel starten und Stoppen

rcisns [start|stop]

oder

/etc/init.d/isns [start|stop]

 

 

SAN mit iSCSI

Fibre Chanel SAN != iSCSI SAN

 Verschachtelung im iSCSI SAN

[IP [TCP/IP [SCSI Protocol [File System] ] ] ]

 Default Port

3260

Mount iSCSI Device

/dev/sdX /<mountpoint> <fstype> <options>,_netdev 0 0

 iSCSI Target einrichten

  1. yast -> Network Services -> iSCSI Target
  2. Leeres und unformatiertes Filesystem einrichten
  3. Alternativ kann eine Datei angelegt werden.
    1. dd if=/dev/zero of=/iscsi/first-device bs=1M count=1024
  4. Partition/File für iSCSI konfigurieren
    1. yast -> network Services -> iSCSI Target -> Global (Reiter)
    2. Wenn Authentifizierung erforderlich ist gibt es zwei Möglichkeiten
      1. Incomming Authentication: Der Initiator authentifiziert sich
      2. Outgoing Authentification: Target authentifiziert sich beim Initiator
    3. Neue LUN anlegen -> next -> fertig

 iSCSI Target Start/Stop

/etc/init.de/iscsitarget [start|stop]

iSCSI Target manuell anlegen

vim /etc/ietd.conf #Config Datei
Target iqn.yyyy-mm.<TLD>.<domain>:<string>
LUN <n> Path=<pfad>
IncomingUser username password #optional
OutgoingUser username password #optional

Beispielpfade für verschiedene Fälle.

  • LV: Lun 0 Path=/dev/mapper/<lv>
  • Disk/Partition: Lun 1 Path=/dev/sdX<n>
  • File: Lun 2 Path=/iscsi/<name>, Type=fileop

 Konfiguration einsehen

cat /proc/net/iet/volume

Sessions einsehen

cat /proc/net/iet/session

 iSCSI Konfiguration mit ietadm tool

….

iSCSI Initiator einrichten

  1.  yast -> Network Services -> iSCSI Initiator
  2. Discovery (Reiter) -> Discovery -> iSCSI Target IP -> next
  3. Log In -> Finish
  4. Prüfe ob Device zu sehen ist mit lsscsi
  5. Mounten, beachte Mountoptionen

 Status ausgeben auf Initiator

iscsiadm -m session -s

 

SCSI Devices

Arten von Devices

  • sdX Hard Disk
  • scdX Optical Drive
  • stX Tape Drive
  • sgX Pass-Though (z.B. Scanner)

 SCSI Informationen auslesen

cat /proc/scsi/scsi

SCSI Optical Drive Kongurationen (z.B.)

Autoclose deaktivieren

echo "0" > /proc/sys/dev/cdrom/autoclose

 SCSI Device Infos ausflisten

lsscsi

SG Devices scannen

sg_scan

SG Devices Mappen

sg_map

SCSI Durchsatz messen

time sg_rbuf /dev/sgX

 SCSI Bus Rescan

rescan-scsi-bus.sh

Alternativer SCSI Bus Rescan

echo "- - -" > /sys/class/scsi_host/host*/scan

SCSI Port resetten

echo "1" > /sys/class/fc_host/host*/issue_lip

SCSI Device löschen

echo "1" > /sys/block/sdX/device/delete