Quantum Scalar i40 Tape Library

jb_alvarado

Lieutenant
Registriert
Sep. 2015
Beiträge
593
Hallo Allerseits,
von der Firma eines Bekannten, hatten wir ein Qantum Scalar i40 fast geschenkt bekommen. Für Kurzzeitbackups haben wir schon eine andere Lösung, aber wir wollten die Tape Library für projektbezogene Langzeitbackups umfunktionieren.

Für unsere Zwecke habe ich ein Webinterface geschrieben, mit dem ich verschiedene Aktionen steuern kann. Z.B. Tapes in die Laufwerke schieben, initialisieren, mit LTFS formatieren, mounten und bespielen, Sicherungen in Datenbank katalogisieren. Das läuft auch alles soweit sehr gut.

Das man so eine Library eigentlich anders verwendet bin ich mir bewusst, daher wäre mir lieb wenn hier nicht über Sinnhaftigkeit dieses Szenarios diskutiert wird. Hier soll es nur um das Mögliche gehen.

Uns ist jetzt allerdings aufgefallen, dass die (2) Laufwerke irgendwie zusammenhängen. Sprich: wir beschreiben zwei Tapes mit dem gleichen Inhalt und wenn später etwas zurück gespielt werden muss, müssen wieder die gleichen Tapes eingelegt werden. Es reicht nicht, nur ein Tape einzulegen.

In den Systemeinstellungen dieses Gerätes gibt es eine Partitionseinstellungen, wo beide Laufwerke drin stehen. Kann das damit zusammenhängen? Und heißt das auch, dass wenn ich ein bespieltes Tape in ein anderes Tapelaufwerk, was direkt an den Computer angeschlossen ist einlege, ich dort die Daten gar nicht lesen könnte?
 
Hört sich an, als wenn er die Bänder, ähnlich einem Raid0, parallel abwechselnd beschreibt, um die Geschwindigkeit zu erhöhen. Dürfte inkompatibel sein, außer Du hast noch mal die gleiche Library..
 
Hmm, das klingt seltsam. Ich kenne zwar die Quantum Library nicht, aber frueher hatte ich mit diversen DELL und IBM Libraries zu tun. Ein paar Experiemente, auch wenns inzwischen ewig her ist, mit LTFS habe ich frueher auch gemacht, aber nur mit Standalone SAS Laufwerken.

Wie sind die Laufwerke angebunden? Ist das SAS oder Fibrechannel? Welches Hostbetriebssytem (kenne mich nur mit Windows aus)? Welcher HBA? Erkennt der Host die Hardware sauber?

LTFS in Zusammenhang mit einer Tapelibrary ist ja schon eher ungewoehntlich. Du solltest ja nach der LTFS Formatierung zwei unabhaengige Datentraeger zur Verfuegung haben, wie laeuft dann das Beschreiben in der Praxis ab? Sind das einfach zwei Copyjobs oder macht ihr da was spezielles?
 
Die Laufwerke sind jeweils mit SAS angebunden. Host Server ist ein ProLiant DL360p Gen8, HBA ist HP H221. Betriebssystem ist CentOS 7. Hardware wird sauber erkannt.

Die Laufwerke werden unabhängig von einander mit LTFS formatiert. Beschrieben werden sie in etwa so:

Code:
/usr/bin/tar -cl -b 512 -f - -C / Projektordner | /usr/bin/mbuffer -A /bin/false -q -Q -s 524288 -m 5G -P 75 -o /mnt/ltfs0/Projektordner.tar -o /mnt/ltfs1/Projektordner.tar

Also das Tool mbuffer schreibt den gepipten Input gleichzeitig auf beide Laufwerke.
 
Sind die geschriebenen Files identisch? Mal mit md5 verifizieren?
Sollten sie eigentlich sein, wenn der Output gedoppelt wird.
 
jb_alvarado schrieb:
Uns ist jetzt allerdings aufgefallen, dass die (2) Laufwerke irgendwie zusammenhängen. Sprich: wir beschreiben zwei Tapes mit dem gleichen Inhalt und wenn später etwas zurück gespielt werden muss, müssen wieder die gleichen Tapes eingelegt werden. Es reicht nicht, nur ein Tape einzulegen.
Wie äußert sich der Fehler denn? Ist die tar-Datei kaputt, die du per mbuffer auf die Medien schreibst?
 
@Sannyboy111985, habe momentan kein Zugriff drauf, daher kann ich kein md5 Check machen. Aber grundsätzlich kann man von beiden Tapes rück- sichern.

@Evil E-Lex, der Fehler äußert sich darin, dass ich die Tapes nicht mounten kann, wenn sie nur einzeln in das Laufwerk eingelegt wurden. Erst wenn das zweite Tape im Laufwerk ist, klappt das mit dem Mounten.
 
jb_alvarado schrieb:
In den Systemeinstellungen dieses Gerätes gibt es eine Partitionseinstellungen, wo beide Laufwerke drin stehen. Kann das damit zusammenhängen?
Ich hab mir mal das Handbuch angeschaut und würde mir tatsächlich die Partitionseinstellungen anschauen. Standardmäßig scheint es so zu sein, als wäre jedem Laufwerk eine Partition zugeordnet. Wenn das bei deinem Gerät anders ist, mag das der Grund für das Verhalten sein. Ich habe vor etlichen Jahren mit einem anderen Quantum Autoloader zu tun gehabt, dort konnte man problemlos beide Laufwerke einzeln ansteuern.
 
Ich hatte auch schon die Befürchtung, dass es damit zusammenhängen könnte. Hatte das Prinzip dieser Partitionen auch nicht ganz verstanden.

Wenn das der Fall ist, dann würde das wohl auch heißen, dass die Backups wertlos werden, sobald das Gerät den Geist aufgibt, oder nur noch ein Tape funktionstüchtig ist. Richtig?

Kann man so was im Nachhinein ändern?
 
mbuffer scheint ja, wenn ich mir die man-page durchlese, direkt fuer Tapes gedacht zu sein. Es hat ja auch Schalter die Autoloader beruecksichtigen sollen. Kann es sein das mbuffer da irgendwas komisches macht, womit wiederrum das LTFS nicht so richtig klarkommt?
In der Konstellation, warum ueberhaupt LTFS und nicht direkt aufs Tape schreiben?
Wie gesagt, ich kenn mich im Linux Umfeld nur wenig aus, und ich habe auch nur ein paar aaaaalte Erfahrungen mit LTFS, aber unter Windows war ja der Witz daran, dass man damit ein Laufwerk direkt unter Windows bekommen hat auf welches man einfach ueber den Explorer Daten draufkopieren konnte, als wenn es eine Festplatte waere.
Ich kenne tar nicht wirklich, kann man so wie du es machst, ueberhaupt ein einzelnes File vom Band holen ohne das ganze Band lesen zu muessen?

Partitionen sind bei Autoloadern ja eigendlich eher eine Managementsache. Da werden dann Laufwerke und Slots zu "virtuellen" Libraries zusammengefasst, welche dann vom angeschlossenen System komplett separat angesprochen werden koennen.
 
Ranayna schrieb:
mbuffer scheint ja, wenn ich mir die man-page durchlese, direkt fuer Tapes gedacht zu sein. Es hat ja auch Schalter die Autoloader beruecksichtigen sollen. Kann es sein das mbuffer da irgendwas komisches macht, womit wiederrum das LTFS nicht so richtig klarkommt?

Würde mich jetzt wunder, mbuffer nimmt man ja hauptsächlich um Schwankungen auszugleichen, so dass das Tape gleichmäßiger beschrieben werden kann. Habe mbuffer aber auch schon für andere Sachen verwendet, z.B. einen Videostream zu cachen.
Ranayna schrieb:
In der Konstellation, warum ueberhaupt LTFS und nicht direkt aufs Tape schreiben?
Wie gesagt, ich kenn mich im Linux Umfeld nur wenig aus, und ich habe auch nur ein paar aaaaalte Erfahrungen mit LTFS, aber unter Windows war ja der Witz daran, dass man damit ein Laufwerk direkt unter Windows bekommen hat auf welches man einfach ueber den Explorer Daten draufkopieren konnte, als wenn es eine Festplatte waere.
Ich kenne tar nicht wirklich, kann man so wie du es machst, ueberhaupt ein einzelnes File vom Band holen ohne das ganze Band lesen zu muessen?
Das ist eine berechtigte Frage, die ich mir auch beim Einrichten gestellt hatte. Ich wollte möglichst hohe Kompatibilität und Systemunabhängigkeit und LTFS hat sich da für mich am besten angehört. Mein Gedanke war, wenn wir mal ein neues Laufwerk kaufen müssen und vielleicht nicht mehr mit einer Library arbeiten, sondern direkt am PC, wäre das Handling so angenehmer.

Ja man kann ein einzelnes File lesen. tar ist ja ähnlich wie zip, nur in diesem Fall ohne Kompression.

Ranayna schrieb:
Partitionen sind bei Autoloadern ja eigendlich eher eine Managementsache. Da werden dann Laufwerke und Slots zu "virtuellen" Libraries zusammengefasst, welche dann vom angeschlossenen System komplett separat angesprochen werden koennen.
Was würde denn jetzt passieren, wenn ich die Partitionen ändere und sagen wir, jedes Tapelaufwerk in eine eigene Partition hinein packe? Wie @Evil E-Lex sagte, sollten die Laufwerke Standardmäßig separat ansprechbar sein:

The default configuration for the library is one partition per unique tape drive installed in the library, based on interface type (Fibre Channel or SAS), media generation (LTO-4 and higher as applicable), and vendor type (IBM or HP).
Bei uns schaut das aber so aus:
Scalar-partition.png
 
Ranayna schrieb:
Kann es sein das mbuffer da irgendwas komisches macht, womit wiederrum das LTFS nicht so richtig klarkommt?
Nein, da das Problem nicht bei Buffer liegt, sondern vorher beim Mounten auftritt:
jb_alvarado schrieb:
der Fehler äußert sich darin, dass ich die Tapes nicht mounten kann, wenn sie nur einzeln in das Laufwerk eingelegt wurden. Erst wenn das zweite Tape im Laufwerk ist, klappt das mit dem Mounten.
Welche Fehlermeldung gibt es denn, wenn du nur ein Laufwerk mounten willst?
jb_alvarado schrieb:
Was würde denn jetzt passieren, wenn ich die Partitionen ändere und sagen wir, jedes Tapelaufwerk in eine eigene Partition hinein packe?
Ich würde es einfach ausprobieren. Was soll schon schiefgehen? Du kannst doch sicher die bestehende Config vorher sichern.
 
Evil E-Lex schrieb:
Welche Fehlermeldung gibt es denn, wenn du nur ein Laufwerk mounten willst?
Diese:
Code:
c1b2 LTFS14000I LTFS starting, QUANTUMLTFS Standalone version 2.2.0, log level 2
c1b2 LTFS14058I LTFS Format Specification version 2.2.0
c1b2 LTFS14104I Launched by "/usr/local/bin/ltfs -o allow_other -o devname=/dev/nst0 /mnt/ltfs0"
c1b2 LTFS14105I This binary is built for Linux (x86_64)
c1b2 LTFS14106I GCC version is 4.8.3 20140911 (Red Hat 4.8.3-9)
c1b2 LTFS17087I Kernel version: Linux version 3.10.0-1160.21.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Mar 16 18:28:22 UTC 2021 i386
c1b2 LTFS17089I Distribution: CentOS Linux release 7.9.2009 (Core)
c1b2 LTFS17089I Distribution: NAME="CentOS Linux"
c1b2 LTFS17089I Distribution: CentOS Linux release 7.9.2009 (Core)
c1b2 LTFS17089I Distribution: CentOS Linux release 7.9.2009 (Core)
c1b2 LTFS14063I Sync type is "time", Sync time is 300 sec
c1b2 LTFS17085I Plugin: Loading "ltotape" driver
c1b2 LTFS17085I Plugin: Loading "unified" iosched
c1b2 LTFS20013I Drive type is HP LTO5, serial number is C38F097004, firmware revision is Z6IZ
c1b2 LTFS17160I Maximum device block size is 1048576
c1b2 LTFS11005I Mounting the volume
c1b2 LTFS11006E Cannot read volume: failed to load the tape
c1b2 LTFS20064E Locate failed (-1)
c1b2 LTFS20076I Triggering drive diagnostic dump
c1b2 LTFS20096I Diagnostic dump complete
c1b2 LTFS12037E Cannot seek: backend call failed (-1)
c1b2 LTFS11006E Cannot read volume: failed to load the tape
c1b2 LTFS10023I LTFS volume information:
c1b2 LTFS10031I Volume Name     : (null)
c1b2 LTFS10024I Volser(Barcode) :
c1b2 LTFS10025I Volume UUID     :
c1b2 LTFS10026I Format Time     : 1970-01-01 00:00:00.000000000 UTC
c1b2 LTFS10027I Block Size      : 524288
c1b2 LTFS10028I Compression     : Disabled
c1b2 LTFS12029E Device is not ready (-20209)
c1b2 LTFS11128E Cannot get extended attribute: failed to look for virtual xattrs (-20209)
c1b2 LTFS10029I Index Partition : ID = , SCSI Partition = 0, Total Capacity = unknown MiB, Available Space = 0 MiB
c1b2 LTFS10030I Data Partition  : ID = , SCSI Partition = 0, Total Capacity = 0 MiB, Available Space = 0 MiB

c1b2 LTFS14013E Cannot mount the volume

Evil E-Lex schrieb:
Ich würde es einfach ausprobieren. Was soll schon schiefgehen? Du kannst doch sicher die bestehende Config vorher sichern.
Wie gesagt, das mit diesen Partitionen hatte ich nicht ganz verstanden, wie die funktionieren. Ich hatte immer die Befürchtung, dass die vielleicht was aufs Tape schreiben. Aber im Handbuch hatte ich dazu keine Warnung gelesen.

Also die Partitionen regeln lediglich den Zugriff auf Tapes über das Gerät, aber stellen nicht mit dem Tape an sich an?
 
Ok habe das jetzt mal gewagt. Das Gerät bietet auch die Option an, die Einstellungen zu sichern, daher kann ich auch wiederherstellen wenn was nicht gehen sollte.

Das Ergebnis verhält sich nun wie folgend:
  • Es können nicht beide Partitionen alle Kassettenfächer bedienen. Jetzt sind also jeweils 17 Fächer einem eigenen Laufwerk zugeordnet.
  • Nach dem Löschen der Partition und dem Anlegen zweier Neuen erhält man ein zusätzliches SCSI Gerät, was man zumindest unter Linux erst nach Neustart, oder Reload von SCSI Anschlüssen im System hat.
  • Jetzt können, wie von euch beschrieben, beide Laufwerke separat angesprochen werden. Unter Linux sieht das auch so aus, dass man jeweils ein andere Gerät (/dev/sg46 und /dev/sg48 - Nummern können sich ändern) anspricht, das war vorher nicht so.
  • LTFS lässt sich auch mounten.
  • Die Tapes zeigen den gleichen Inhalt an, so wie erwartet, beim Mounten von einem davon kam nur zusätzlich die Meldung:
Restoring volume consistency by writing an index to the index partition

Ich werde mal noch weitere Stichproben machen und wenn es gut aussieht werde ich das neue Setup in meinem Webinterface implementieren.
 
Zurück
Oben