VMware ESX Server und IET – ietd.conf
Immer wieder gibt es Unklarheiten bei der Konfiguration eines iSCSI Enterprise Target (IET) unter Linux in Verbindung mit der Benutzung als Storage Server für VMware ESX Server.
Welche Parameter werden benötigt? Welche müssen abweichend der Standardeinstellungen angepasst werden?
Wird das IET nicht korrekt konfiguriert kann es sein, dass die bereitgestellten LUN’s anschließend im ESX Server nicht oder nur teilweise zu sehen sind oder im weiteren Verlauf nicht richtig funktionieren. Wird nur eine einzige LUN bereitgestellt treten in der Regel keine Probleme auf. Sobald aber mehrere LUN’s und / oder mehrere Targets eingerichtet werden kommt es zu Problemen wenn man die Konfigurationsparameter in der ietd.conf nicht ausreichend eindeutig spezifiziert. Werden die Parameter nicht ausreichend gesetzt und mehrere LUN’s wurden definiert kommt es dazu, dass die ESX Server die Targets und / oder die LUN’s nicht voneinander unterscheiden können. Das Fatale ist oft, dass die Targets / LUN’s initial im ESX Server eingebunden und auch benutzt werden können. Bei einem späteren Neustart der ESX Server können diese dann die LUN’s plötzlich nicht mehr voneinander unterscheiden. Der Zugriff auf die LUN’s und die darauf befindlichen virtuellen Maschinen bleibt gesperrt. Wenn der ESX Server LUN’s die zuvor schon einmal im Zugriff waren nicht mehr unterscheiden kann, werden diese oftmals vom ESX Server als Snapshot’s LUN’s deklariert.
Werden im schlechtesten Fall die LUN’s vom ESX Server nicht mehr eindeutig erkannt, ist der Zugriff auf die virtuellen Maschinen, welche auf der iSCSI Storage abgelegt wurden, erst einmal nicht mehr möglich. Ein Recovery ist dann zeitaufwendig und alle virtuellen Maschinen müssen unter Umständen im ESX Server bzw. vCenter Server neu registriert werden. Dies hat auch zur Folge, dass alle VM’s eine neue UUID verpasst bekommen.
Ein weiterer Punkt ist, dass bei manchen IET Versionen die speziellen Parameter die für einen funktionierenden Betrieb in Verbindung mit VMware ESX Server zwingend benötigt werden, ignoriert wurden. Daher sollten man bei einem Wechsel der IET Version immer überprüfen ob besagte Parameter bis zum ESX Server durchdringen.
Um welche Parameter handelt es sich nun und wie müssen diese gesetzt werden? Dies wird anhand eines Auszuges einer ietd.conf Datei nachfolgend beschrieben.
Beispiel:
Target iqn.2007-01.de.bluvenit.hostname:iet-target0.2010120800
Lun 0 Type=fileio,Path=/srv/lun-data/VMFS-Disk0,ScsiId=SI2010120800,ScsiSN=SIET2010120800
Alias hostname:iet-target0
Target iqn.2007-01.de.bluvenit.hostname:iet-target1.2010120801
Lun 0 Type=fileio,Path=/srv/lun-data/VMFS-Disk1,ScsiId=SI2010120801,ScsiSN=SIET2010120801
Alias hostname:iet-target1
Targetname:
Der Targetname (iqn.*) muss für jedes Target eindeutig sein. Die Zusammensetzung des Namens ist festgeschrieben in der iSCSI Spezifikation (rfc3720).
Type: Fest. Muss <iqn> lauten
Date: yyyy-mm
Naming Auth: Umgekehrter Domänen Name. Hier empfiehlt es sich den Hostnamen mit aufzunehmen, da der <Naming Auth> am Initiator sichtbar wird und somit das Target besser identifiziert werden kann.
Optionaler String: Freier Wahl einer zusätzlichen Zeichenfolge. Sollte in jedem Fall definiert werden. Wenn mehrere Targets an einem iSCSI Storage Server angelegt werden muss mit dieser Zeichefolge das Target eindeutig „gemacht“ werden.
Die Punkte bzw: Doppelpunkte zur Trennung der „Felder“ bzw. beim Domänen-Namen müssen wie oben angegeben werden.
LUN:
Bei der LUN muss die ScsiSN eindeutig sein. Es hat sich aber gezeigt, dass auch die Angabe einer eindeutigen ScsiId von Vorteil ist. Beide Parameter dürfen maximal mit maximal 16 Zeichen belegt werden.
Um die Eindeutigkeit zu gewährleisten bietet sich die Verwendung aus einer Kombination von umgekehrtem Datum mit angehängter zweistelliger Nummer an. Es wird das Datum verwendet am dem die LUN angelegt wird. Werden später weitere LUN’s angelegt weiß man somit wann die LUN angelegt wurde.
Beispiel:
ScsiId=SI2010120801,ScsiSN=SIET2010120801
ScsiId=SI2010120801: <SI (Scsi Id)><JJJJMMTT><Nummer zweistellig>
ScsiSN=SIET2010120801: <SIET><JJJJMMTT><Nummer zweistellig>
Nummer zweistellig: Fortlaufende Nummer beginnend mit 00
Alias:
Die Aliasangabe ist ein andere Name für den Targetnamen und sollte daher auch eindeutig sein.
Die verwendeten Namen bei Target und LUN tauchen später beim ESX Server in hexadezimaler Schreibweise am Storage Adapter auf. Somit kann am ESX Server das korrekte Auftauchen der iSCSI LUN’s überprüft werden.
Eine weitergehende Beschreibung zu allen IET iSCSI Parametern findet man beim Aufruf der Man-Page: man ietd.conf



Letzte Kommentare