Immer größere Datenmassen sicher zu speichern ist eine Herausforderung für jede IT-Infrastruktur. Schon mit Gigabit-Ethernet lassen sich aber ... (mehr)

LUN-Masking und iSCSI-Portale

Bisher beschränkte sich diese Anleitung auf ein Target (Server) und einen Initiator (Client). In produktiven Umgebungen sind aber meist mehrere Clients mit Speicher zu bedienen. Um zu vermeiden, dass ein Client auf ein Blockdevice zugreift, das nicht für ihn vorgesehen ist, gibt es das LUN-Masking. Es macht explizit eine Logical Unit nur den vorgesehenen Clientsystemen bekannt. Alle anderen potenziellen Clients sehen die Logical Unit nicht, auch wenn sie sich im gleichen IP-Bereich bewegen und sogar mit dem Server verbinden können.

In der Regel wird LUN-Masking pro Logical Unit nur auf einen Initiator angewendet, aber beim Einsatz von Cluster-fähigen Dateisystemen kann der Administrator auch mehreren Clients zugleich dieselbe Logical Unit zuweisen.

Das Verfahren von LUN-Masking ist sehr einfach. Man weist der Logical Unit explizit das veröffentlichende Target und den konsumierenden Initiator (Host) zu. Die Adressierung erfolgt über die bei iSCSI übliche IQN. In COMSTAR erstellen Sie hierzu eine Target Group (TG) und eine Host Group (HG), denen Sie die entsprechenden IQNs hinzufügen. Im letzten Schritt veröffentlichen Sie die Logical Unit unter Einbeziehung der oben angelegten Host und Target Group ( Listing 5 ).

Listing 5

LUN-Masking

 

Auf einem Ubuntu-9.10-Linux-System findet der folgende Befehl die iSCSI-Initiator-IQN heraus:

# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1993-08.org.debian:01:e8643eb578bf

Die IQN des Open-Solaris-COMSTAR-iSCSI-Target ermittelt dagegen:

# itadm list-target
TARGET NAME                          STATE SESSIONS
iqn.1986-03.com.sun:02:8f4cd1fa-b81d-c42b-c008-a70649501262 online 1

Ab sofort ist die Logical Unit ausschließlich über das Target mit der IQN »iqn.1986-03.com.sun:02:8f4cd1fa-b81d-c42b-c008-a70649501262« und nur für den Initiator mit der IQN »iqn.1993-08.org.debian:01:e8643eb578bf« erreichbar. Hinzu kommt, dass der Logical Unit die Logical Unit Number (LUN) 1 zugewiesen ist. Diese Nummer ist vergleichbar mit der typischen SCSI-ID eines SCSI-Bussystems. Jedem weiteren Blockdevice, das Sie über das obige Target veröffentlichen, müssen Sie eine eindeutige LUN zuordnen.

Selbstverständlich können Sie der zuvor erstellten Host oder Target Group weitere Systeme hinzufügen. In einem Cluster-System fügen Sie beispielsweise mehrere Hosts der Host-Gruppe hinzu, damit alle Systeme im Cluster die Logical Unit sehen können. Änderungen an der Target Group sind dagegen eher ungewöhnlich.

Portalgruppen

COMSTAR kann auch mehrere Targets verwalten. Sie dürfen jedem Target eine beliebige Anzahl von Blockdevices beziehungsweise Logical Units zuweisen, die über die LUN eindeutig adressiert sind. Ein Target ist dagegen immer einer so genannten Target Portal Group (TPG) zugeordnet. Standardmäßig weist COMSTAR einem neuen Target die TPG »default« zu. Ein Aufruf von »itadm list-target -v« gibt Aufschluss über die aktuelle Zuordnung des Target. Im Beispielfall sehen Sie, dass das Target der TPG »default« angehört ( Listing 6 ).

Listing 6

itadm list-target

 

Eine TPG beschreibt die IP-Verbindungsdaten in Form von IP-Adresse und IP-Port – im iSCSI-Fachjargon auch iSCSI-Portal genannt –, über das die zugeordneten Targets erreichbar sind. Die Standardeinstellung »default« bedeutet demnach, dass ein Target über alle aktiven IP-Schnittstellen jeweils über den iSCSI-Standardport 3260 erreichbar ist. Verfügt das Target-System zum Beispiel über zwei Ethernet-Schnittstellen, denen Sie jeweils eine eigene IP-Adresse zugewiesen haben, können Sie die veröffentlichten Logical Units über beide Schnittstellen am Port 3260 erreichen. Abbildung 1 veranschaulicht die Zusammenhänge der Target Portal Group.

Abbildung 1: COMSTAR ordnet die Komponenten im Rahmen der so genannten Target Portal Groups.

Mit diesen Mitteln sind Sie im Stande, mehrere Targets über mehrere IP-Netze (IP-SAN) zu veröffentlichen. So können Sie zum Beispiel logisch zueinander gehörige Systeme besser organisieren, vergleichbar mit dem Zoning in Fibre-Channel-SANs. Daneben erreichen Sie auch eine Lastverteilung über alle installierten Ethernet-Schnittstellen. Derzeit ist iSCSI ja meist noch auf 1-GBit-Ethernet beschränkt. Mit dem Einzug von 10-GBit-Ethernet steht allerdings auch einzelnen iSCSI-Portalen genügend Bandbreite zur Verfügung.

Wenn Sie zum Beispiel das Target auf eine zweite Ethernet-Schnittstelle legen möchten, fügen Sie der virtuellen Maschine einen weiteren Netzwerkadapter hinzu. Im nächsten Schritt ordnen Sie der Netzwerkschnittstelle analog zur primären Netzwerkkarte eine statische IP-Adresse zu:

# ifconfig e1000g1 plumb up
# ifconfig e1000g1 10.20.30.1 netmask 255.255.255.0
# echo 10.20.30.1 > /etc/hostname.e1000g1
# echo 10.20.30.0 255.255.255.0 >> /etc/netmasks

Dem Linux-Clientsystem fügen Sie ebenfalls einen entsprechenden Netzwerkadapter hinzu, der dem gleichen LAN-Segment wie die neue Netzwerkschnittstelle des Open-Solaris-Systems angehört. Achten Sie darauf, die Schnittstelle so zu konfigurieren, dass beide Ethernet-Schnittstellen über IP miteinander kommunizieren können.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2022