iscsi Basis - Howto
Einleitung
In diesem Howto beschreibe ich den Grundaufbau einer minimalen iscsi Umgebung. Hierbei handelt es sich um den Aufbau eines iscsi Servers und die Anbindung von einem Client an den zur Verfügung gestellten Pfad.
Vorraussetzungen
Einen Server
Name: serverZwei Netzwerkadapter
eth0: 192.168.1.200
eth1: 192.168.201.200
LVM Volume:
/dev/VolGroup00/iscsi 1 GB
Pakete:
RedHat: scsi-target-utils
Zwei Clients
Name: client1Zwei Netzwerkadapter
eth0: 192.168.1.201
eth1: 192.168.201.201
Pakete:
RedHat: iscsi-initiator-utils.x86, sg3_utils-1.28-4.el6.x86_64, lsscsi-0.23-2.el6.x86_64
Howto
Konfiguration Server
Auf dem Server wird nach der Installation der benötigen Pakete die Konfigurationsdatei target.conf angepasst. In Ihr werden als target Name ein eindeutiger iqn (iSCSI Qualified Name) benötigt. dieser befindet sich in dem <target> Tag.
Der zur Verfügung stehenden Speicherplatz wird mit dem Parameter backing-store festgelegt. Hier bietet es sich an ein freies Blockdevice zu nehmen. Im Fall des Howtos ein frisch angelegtes LVM Device.
Mit dem Parameter initiator-address werden die definierten IP Adressen freigegeben und der Parameter scsi_sn legt die SCSI Seriennummer fest, welche später über udev ausgelesen werden kann.
default-driver iscsi
# Target ist ein eindeutiger Name
<target iqn.2013-06-01.home.bludau:iscsi>
backing-store /dev/VolGroup00/iscsi # LUN1
initiator-address 192.168.1.200 # server
initiator-address 192.168.201.201 # client1
scsi_sn iscsi-seriennummer # SCSI Seriennummer
</target>
[server ~]#
Nach dieser Konfiguration muss der Dienst tgtd gestartet und als Service eingetragen werden.
[server ~]# service tgtd start ↵
[server ~]# chkconfig tgtd on ↵
Nach dieser Konfiguration kann mit dem folgenden Befehl überprüft werden, ob auch alle Konfigurationen wie gewünscht übernommen wurden.
[server ~]# tgt-admin -s ↵
Target 1: iqn.2013-06-01.home.bludau:iscsi
...
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: iscsi-seriennummer
Size: 1074 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/VolGroup00/iscsi
Backing store flags:
Account information:
ACL information:
192.168.1.200
192.168.201.201
[server ~]#
Hinter dem Target-Namen ist die iqn gelistet unter welcher das iscsi Device zur Verfügung steht. Backing Store gibt den auf dem Server genutzten Pfad aus und die ACL Informationen geben die IP Adressen zurück, für welche die iSCSI Targets freigegeben sind.
Konfiguration Clients
Um einen Client anzubinden ist die Konfiguration vom iscsi Daemon notwendig. Dieser kann mit folgenden Befehlen automatisch gestartet werden:
[client1 ~]# chkconfig iscsid on ↵
[client1 ~]# service iscsid start ↵
Danach ist die Anbindung vom Client an das iscsi Target vom Server notwendig. Um sich alle Freigaben anzeigen zu lassen hilft das Programm iscsiadm weiter, welches mit den Parametern "-m discovery -t sendtargets -p 192.168.201.200" vom Server her alle Targets gelistet bekommt.
Diese Freigabe wird dann genutzt um das Target an das System zu binden.
[client1 ~]# lsscsi ↵
...
[client1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.201.200 ↵
192.168.201.200:3260,1 iqn.2013-06-01.home.bludau:iscsi
[client1 ~]# iscsiadm -m node -T iqn.2013-06.home.bludau:iscsi -p 192.168.201.200 --login ↵
[client1 ~]# lsscsi ↵
...
[6:0:0:0] storage IET Controller 0001 -
[6:0:0:1] disk IET VIRTUAL-DISK 0001 /dev/sda
...
[client1 ~]#
Ausgabe aller Informationen die unter UDEV ausgelesen werden können, dazu gehören unter anderem auch die Seriennummer:
[client1 ~]# udevadm info -q all -n /dev/sda ↵
...
Das ganze funktioniert auch um das Device wieder zu entfernen. Hierbei ist bei dem zweiten Commando aber darauf zu achten, dass anstelle des login Parameters logout angegeben wird. Zusäztlich sollte man vorher unbedingt darauf achten, dass die darauf erstellen Filesysteme ausgehängt wurden.
Entfernen von des iscsi Device von dem Client client1:
[client1 ~]# lsscsi ↵
...
[6:0:0:0] storage IET Controller 0001 -
[6:0:0:1] disk IET VIRTUAL-DISK 0001 /dev/sda
...
[client1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.201.200 ↵
192.168.201.200:3260,1 iqn.2013-06-01.home.bludau:iscsi
[client1 ~]# iscsiadm -m node -T iqn.2013-06.home.bludau:iscsi -p 192.168.201.200 --logout ↵
[client1 ~]# lsscsi ↵
Legende
Benutzer Root
[<Servername> <Pfad>]# <Befehl> <Dateiname> ↵
Ausgabe
Benutzer
[<user>@<Servername>]$ <Befehl> <Dateiname> ↵
Ausgabe
Tastenkombinationen:
Strg+a
Einzelne Tasten:
a
Keine Kommentare:
Kommentar veröffentlichen