dav1.ch

Blog über Hard- und Software

Installation und Benutzung von LTFS unter Ubuntu 24.04

⚠️ 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

Einführung

LTFS, Linear Tape File System, ermöglicht es, LTO-Tapes wie einen „normalen“ Wechseldatenträger zu verwenden. Es ändert aber nicht, wie Bandlaufwerke funktionieren, daher ist mit langen Seek-Times zu rechnen. Für die Verwendung von LTFS ist eine Formatierung des Tapes notwendig. Kompatibel ist das ganze ab LTO 5. Kompatibel sind auch IBM 3592 / Jaguar ab der Serie TS1140. Ideal für alle, die Tapes nur mal gelegentlich für Archivierungszwecke benötigen und dafür nicht auf aufgeblähte und z.T. kostenpflichtige Software wie Veeam, Bacula oder YoYotta setzen möchten.

HBA

Für den Anschluss benötigen wir selbstverständlich einen Host Bus Adapter. Ich verwende einen alten 8Gb FC Adapter von QLogic, welchen ich in meinem Selbstbau-NAS einbaue. Die Sicherung wird über eine VM laufen, daher gibt es ein Passthrough des HBA an die VM.

Übersicht der Einstellung meiner VM in ESXi

Kontrolle des HBA und Tape Drives unter Ubuntu

lspci zeigt die über PCI angeschlossenen Geräte an.

Auf der letzten Zeile ist der HBA ersichtlich

lsscsi zeigt die erkannten Geräte über SCSI an.

Auf der letzten Zeile ist das Tape Drive ersichtlich

Installation unter Ubuntu

Für Ubuntu gibt es im Gegensatz zu Mac und Red Hat kein fertiges Package, daher müssen wir es selbst kompilieren.

#Installation der nötigen Tools, falls nicht vorhanden
sudo apt install make automake autoconf libtool fuse uuid libxml2 libxml2-dev libsnmp-dev pkg-config libfuse-dev uuid-dev icu-devtools

#Clone der Github Repo
git clone https://github.com/LinearTapeFileSystem/ltfs

#Wechsel in den Ordner ltfs
cd ltfs

#Ausführen von autogen.sh
./autogen.sh

#Ausführen von configure
./configure

#Kompilierung mit make
make

#Installation
sudo make install

#Update der Shared Libraries
sudo ldconfig

Kontrolle Tape Drive

sudo ltfs -o device_list zeigt uns die erkannten Tape Drives:

Output von ltfs -o device_list

Hier ist das Tape Drive unter /dev/sg2 relevant.

Formatierung mit LTFS

Um das Tape mit LTFS verwenden zu können, muss es formatiert werden. Es werden alle Daten darauf gelöscht: sudo mkltfs -d /dev/sg2

Nach ca. 2 Minuten ist das Tape mit LTFS formatiert:

Output während der Formatierung des Tapes

Mounten des Tapes

Als nächstes kann das Tape eingebunden werden. Mit

sudo mkdir /mnt/ltfs
sudo ltfs -o devname=/dev/sg2 /mnt/ltfs

erstellen wir einen Ordner in /mnt mit der Bezeichnung ltfs. Das Tape im Tape Drive unter /dev/sg2 wird verwendet, um unter /mnt/ltfs zu mounten.

df -h /mnt/ltfs zeigt die aktuelle Belegung:

Output von df -h

Kopieren von Dateien

Verwendet den File Manager euer Wahl, um Dateien zu kopieren. Der Speicher von gelöschten Dateien wird nicht wieder freigegeben, dafür wäre eine erneute Formatierung notwendig.

Checksumme vom Test-File mit Kopiervorgang von NAS auf Tape

Besser wäre es, wenn man statt den normalen Tools ltfs_ordered_copy verwendet. Es wird auf die Reihenfolge der Files auf dem Tape geachtet. Python muss installiert sein.

Unmount des Tapes

Mit folgendem Befehlt führen wir einen unmount aus: sudo umount /mnt/ltfs

Je nachdem, wo zuletzt geschrieben und gelesen wurde, kann es einen Rewind des Tapes geben.

Performance

Es ist von Vorteil, wenn als Source ein schneller Speicher verwendet wird. Vom NAS über LAN mit 1 GBit zu kopieren ist sowieso zu langsam. Aber selbst eine direkt angeschlossene 3.5″ Enterprise HDD ist für Tape zu langsam. Performante Drives aktueller Generationen erreichen ohne Probleme 300 MB/s.

Ständige Utilization um die 100%

Mit diesem Bottleneck wird das Tape keine konstante Geschwindigkeit beim Lesen/Schreiben halten können. Es wird zu Pausen und zu Rewinds kommen. Ich kann nicht sagen, ob das für die gelegentliche Nutzung schädlich ist, ideal wird es aber nicht sein.

Für diesen Post wurde eine VM verwendet. Die QLogic-Karte unterstützt PCIe 2.0 und ist mit einem x8 Anschluss ausgestattet. Eingesteckt ist diese in einem PCIe 3.0 x16 Slot, der aber nur mit x1 verdrahtet ist. Mit PCIe 2.0 x1 sollte in der Theorie immer noch 500 MB/s möglich sein. Mit Abzug vom Overhead sollte das noch für LTO–9 reichen.

Ich habe bessere Ergebnisse in einem physischen Server mit Kopiervorgängen auf/von SSD erzielt.

Links

https://github.com/LinearTapeFileSystem/ltfs

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