Bandlaufwerk unter ESXi 4.x

Seit vSphere 4 ist es nicht mehr so einfach, ein Bandlaufwerk direkt in eine VM zu präsentieren. Bandlaufwerke und Tapelibraries mit parallelem SCSI-Anschluß funktionieren nach wie vor ohne Einschränkungen und mit guter Performance. Allerdings machen SAS-Geräte gerne Stress. Hierzu gibt es jedoch zwei Tips, mit denen es bei SAS-Einzellaufwerken fehlerfrei funktioniert und bei manchen Tapelibraries ebenfalls funktionieren kann.
 
Ob Tapelibraries mit SAS-Anschluß funktionieren hängt von der Komination Tapelibrary, Firmware, Controller und Serversystem ab. Leider sind diese Abhängigkeiten derart zahlreich, dass man es immer auf einen Test ankommen lassen muss.
 
Lösungansatz 1
 
Bei SAS-Controllern ist häufig die ALUA-Funktion aktiviert. Dieses führt dazu, dass ein Bandlaufwerk bzw. der Autoloader mal angezeigt wird, und mal nicht. Um die ALUA-Funktion zu deaktivieren muss man sich auf die Serviceconsole anmelden. Hierzu muss diese zunächst aktiviert werden und dann entweder lokal am Server oder per SSH die Anmeldung durchführen.
 
Nun gibt man folgenden Befehl ein:
 
esxcli nmp satp deleterule --satp VMW_SATP_ALUA --claim-option tpgs_on
 
Damit wird die entsprechende ALUA-Regel gelöscht. Um zu kontrollieren, dass diese wirklich nicht mehr existiert kann man mit dem folgenden Befehl die bestehenden Regeln anzeigen lassen:
 
esxcli nmp satp listrules -s VMW_SATP_ALUA 
 
Abschließend muss man im VI-Client unter Speicheradapter auf "Alle prüfen..." klicken bzw. wenn man einen englischen vCenter hat auf "Rescan all...". Nun sollte der Controller das Bandlaufwerk und ggf. den Autoloader wieder anzeigen und man kann die Funktion innerhalb der VM testen.
 
Lösungsansatz 2
 
Unschön am ersten Lösungsansatz ist, dass wir hiermit ALUA generell abschalten. In vielen Umgebungen ist das kein Problem. Möchte man aber dennoch z.B. für seinen FC-Storage ALUA nutzen, muss ALUA explizit für den SAS-Controller abgeschaltet werden. Hierzu muss man sich zunächst wieder an der Servicecontole anmelden und den entsprechenden Controller finden. Mit dem folgenden Befehl bekommt man eine Liste aller im System verfügbaren Controller angezeigt:
 
esxcfg-scsidevs -a
 
In dieser Liste sucht man sich den entsprechenden Controller bzw. den dafür geladenen Treiber aus. Im folgenden Befehl wird nun eine Regel definiert, bei der ein LSI-SAS-Controller von ALUA ausgenommen wird:
 
esxcli nmp satp addrule --satp VMW_SATP_LOCAL --driver="mptspi" -description="Regel für lokalen Pfad des LSI-Controllers"
Abschließend muss nun der ESX-Server neu gebootet werden und im Ergebnis wird das Laufwerk und evtl. der Autoloader angezeigt.