dav1.ch

Blog über Hard- und Software

LTO Drive aus IBM Tape Library als Standalone Drive verwenden

⚠️ Disclaimer

Ich übernehme keine Haftung für die geschriebenen Inhalte:

  • Begeht mit den Informationen aus diesem Post keine strafbaren Handlungen
  • Betrachtet diesen Post nicht als Best Practice
  • Ich hafte nicht für Totalverlust von Daten und Hardware

Weitere Informationen

IBM LTO-7 Ultrium FH

Einführung

Lange war ich auf Suche nach einem günstigen LTO Tape Drive, um meine Daten zu sichern. Dabei wollte ich mich nicht (wieder) auf Festplatten verlassen.

Im Vergleich zu Festplatten sind die einzelnen Bänder relativ günstig und bieten in den neueren Generationen gute Kapazitäten:

Tabelle Übersicht LTO-Generationen
GenerationTB nativTB kompr.LesenSchreibenRelease
LTO-62.56.256+5+46+52012
LTO-76157+6+57+62015
LTO-812308+78+72017
LTO-918459+89+82021

Mit einem Preis von ca. CHF 35 (LTO-6) und CHF 115 (LTO-9) bieten sie ein gutes Preis-Leistungs-Verhältnis. Rein auf das Medium bezogen kostet in der höchsten, normal verfügbaren Kapazität pro TB eine NVMe SSD um die CHF 70, eine 2.5″ SATA SSD etwas um die CHF 60 und eine 3.5″ SATA HDD ca. CHF 16. SSDs sind natürlich völlig ungeeignet zur (Langzeit-) Archivierung. LTO-Bänder kommen in der 6. Generation auf ca. CHF 14 pro TB, Bänder der Generation 9 sogar auf ~ CHF 6.

Kosten

Eigentlich eine tolle Alternative zu Festplatten, wäre da nicht das Problem mit den hohen Anschaffungskosten. LTO war im Gegensatz zu gewissen älteren Bandlaufwerken nie für Privatanwender gedacht. Ein neues Drive kostet ohne Probleme mal CHF 3’000 aufwärts.

In der Bucht gibt es viele gebrauchte Laufwerke zu kaufen, häufig sind diese aber auch nicht viel günstiger. Ich habe die Erfahrung gemacht, dass interne oftmals günstiger sind als externe, die günstigsten waren bei meinen Suchen die Modelle aus Tape Libraries. Das Problem: Diese Laufwerke haben ein eigenes Gehäuse. Darin steckt ein internes Laufwerk. Dieses ist aber, zumindest bei IBM, für die Verwendung in einer Library konfiguriert.

Das lässt sich aber ändern.

Tape Drive aus Tape Library

Umbau FC-HBA

Für den Anschluss wird ein Host Bus Adapter (HBA) benötigt, je nach Drive entweder als SAS oder FC. Da mein gekauftes Drive FC-Ports hat, konnte ich einen gebunkerten Adapter wiederverwenden, von dem ich nicht mehr dachte, dass ich ihn je wieder brauchen würde.

8Gb FC HBA

Der Adapter ist aus einem alten HP(E)-Server, hat auch HP-Branding und HP-Teilenummer. 8Gb FC Anschluss über PCIe 2.0. Genug für ein Tape Drive. Da der Adapter aber direkt in mein Eigenbau-NAS kommt und nicht in einen Server mit entsprechendem Airflow, muss irgendwie das Problem mit der Kühlung gelöst werden.

Nach dem Ankleben eines Lüfters mit 2K-Kleber wurden die Leitungen für Signal und Speed abgeklemmt. Leider habe ich nur einen 5V-Lüfter gefunden in dieser Grösse. Diesen kann ich dafür an einen freien USB 2.0 Header statt am 12V Fan Connector anschliessen.

Umbau Stromversorgung

Der Anschluss an der linken Seite vom Gehäuse wird ohne Tape Library nicht (mehr) benötigt.

Anschluss am Gehäuse für die Library

Um das Molex-Kabel aus dem Gehäuse zu bringen, habe ich den Ethernet-Anschluss ausgebaut.

Ausgebaute Ethernet-Schnittstelle

Mit einem Terminal Removal Tool lassen sich die einzelnen Pins ohne Gewalt vom Stecker lösen. Das Kabel habe ich verlängert, dabei habe ich auch noch gleich den Lüfter angeschlossen. Wäre eigentlich ein guter Zeitpunkt gewesen, um den Lüfter gegen einen der braunen zu tauschen, denn der originale ist ziemlich laut. Leider hatte ich keinen mehr in dieser Grösse.

Zusammen gelötetes Kabel mit Lüfter und Molex-Stecker

Mit einem separaten Netzteil lässt sich das Tape Drive dann ein und ausschalten. Es liesse sich über eine Verlängerung auch am internen Netzteil vom PC anschliessen, doch das empfehle ich nicht. Das Tape Drive würde ständig laufen, zum Ein- und Ausschalten ständig am Stecker zu ziehen ist nicht ideal. Die Molex-Stecker (die eigentlich „AMP Mate-n-Lok 1-480424-0“ heissen) sind nicht gerade für ihre Zuverlässigkeit bekannt.

Fertig umgebaut könnte es so aussehen:

Umgebautes und angeschlossenes Tape Drive mit Netzteil

Schön geht definitiv anders.

Erkennung des Tape Drives

Bevor weitergemacht wird, ist es sinnvoll, das Teil mal einzuschalten und zu prüfen.

Wichtig

Tape Drives werden sehr schnell warm. In einem separaten Gehäuse werden die Drives durch einen Lüfter gekühlt, eingebaut als interne Drive im Server werden sie durch den vorhandenen Airflow gekühlt. Das Laufwerk sollte nicht längere Zeit (über 1 – 2 Minuten) ohne Kühlung betrieben werden. Ein Temperatursensor ist vorhanden, ich würde mich darauf aber nicht verlassen. Bänder sind temperaturempflindlich.

Beim Start können wir das Laufwerk beobachten. Die Segmentanzeige zeigt Animationen und Status Codes. Der Antrieb sollte sich beim Start hin und her bewegen.

Mögliche Fehlercodes bei IBM
CodeProblem
0OK
1Temperatur
2Stromversorgung
3Firmware
4Firmware oder Hardware
5Hardware
6Hardware oder Tape
7Hardware oder Tape
8Interface
9Hardware oder RS-422
ADegradiertes Laufwerk
CCleaning Tape notwendig
JFalsches Tape

Mehr Informationen unter https://www.ibm.com/docs/en/t-tt-and-t?topic=information-drive-error-codes-messages

Wenn alles sauber durchgelaufen ist und kein Fehler angezeigt wird resp. wenn das grüne Lämpchen leuchtet, sollte alles in Ordnung sein.

Unter Linux kontrollieren wir mit lspci den HBA und mit lsscsi das erkannte Tape Drive.

Unter Windows am besten im Device Manager oder ITDT.

Sollte das Tape Drive bereits erkannt worden sein, muss überhaupt nichts weiteres gemacht werden und ihr könnt an dieser Stelle abbrechen.

Sollte das Laufwerk nicht gefunden worden sein, wird es sich vermutlich im Tape Library Modus befinden.

Umwandlung zum Standalone Drive

In meinem Gehäuse des Tape Drives hatte es bereits ein angeschlossenes Kabel für die Kommunikation mit dem Tape Drive. Es kommt vermutlich aufs Modell drauf an, so ein Kabel muss nicht zwingend vorhanden sein.

Alle DIPs auf „Off“

An under Unterseite des Drives müssen alle DIPs auf „Off“ gestellt werden.

Gehäuse des Tape Drives von innen

Der Anschluss auf dem Gehäuse-Board lässt sich entfernen und direkt für das Senden der Befehle im nächsten Abschnitt verwenden. Sollte so ein angeschlossenes Kabel fehlen, kann man sich auch mit der Verwendung von Jump Wires oder dem Anlöten von eigenen Kabeln helfen.

Kabel mit Anschluss zwischen Tape Drive und Board vom Gehäuse

Die Kabel schliessen wir dann an einem RS422 / RS485 Adapter an, von Vorteil mit Terminal Block.

Bei mir war die Belegung wie folgt:

FarbeAnschluss
OrangeRX, +
GelbRX, –
ViolettGND
RotTX, –
BraunTX, +

Die Belegung kann aber auch eine ganz andere sein.

Verbindung zwischen RS422 Adapter und der Schnittstelle vom Tape Drive

Serielle Kommunikation mit dem Tape Drive

Wenn alles verkabelt ist, öffnen wir mit Putty oder screen die Konsole mit dem angeschlossenen Adapter. Beim Start wartet das Laufwerk im Tape Library Mode auf die Konfiguration der Tape Library.

Alle paar Sekunden sollte das Tape Drive etwas von sich geben:

Ausgabe vom Tape Drive beim Start

Jetzt muss dem Laufwerk noch mitgeteilt werden, dass es auch ohne die Verbindung zum Tape Drive automatisch startet und über Fiber Channel kommuniziert.

Die entsprechenden Bits werden hiermit gesetzt:

\x02\x00\x36\xAC\x01\x00\x00\x00\x01\xFF\xF2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xE6\x03

Diese z.B. als hex in ein File speichern.

Mit folgendem Script können die Bits über den Adapter übermittelt werden, am besten als send_hex.sh speichern:

#!/bin/bash 
stty -F /dev/ttyUSB0 ospeed 38400 -cstopb -parenb -echo

while read -r line
do 
	echo -en "$line" > /dev/ttyUSB0
done < "$1"

Mit chmod +x send_hex.sh als ausführbar markieren.

Ab jetzt das Laufwerk genau beobachten. Wenn es noch läuft, können die Bits mit ./send_hex.sh hex übermittelt werden. Das Laufwerk wird vermutlich nicht für immer auf diese Konfiguration warten. Wenn nichts passiert, Laufwerk ausschalten, neu starten und warten, bis es wieder aktiv ist und erneut versuchen.

Erfolgreich war der Befehl, wenn das Laufwerk sofort nach der Übermittlung neu startet. Spätestens nach dem abgeschlossenen Neustart sollte das angeschlossene Laufwerk sichtbar sein:

Erkannte Geräte über „lsscsi“

Auch interessant

Installation und Benutzung von LTFS unter Ubuntu 24.04

Links

https://github.com/AC7RNsphnHVbyT4/ibm-tape-drive-automatic-standalone

Abonnieren
Benachrichtige mich bei
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments