Haben LTO-Bänder freie / nicht genutzte Kapazität?


13

Wie ich es verstehe, schreiben LTO-Bänder Daten in "Wraps", wobei der erste Wrap das Band vom Laufwerk abwickelt und der zweite Wrap es in die Kassette zurückspult. Dieser Vorgang wird mehrmals wiederholt, mit der Idee, dass sich das gesamte Band nach Erreichen des Bandendes wieder in der Kassette befindet und mit geringem Rücklauf ausgeworfen werden kann.

Allerdings ist mir aufgefallen, dass sich das Laufwerk nach Erreichen des Bandendes nach etwa der Hälfte des endgültigen Umlaufs anhört, sodass das Laufwerk einige Zeit damit verbringt, das Band vor dem Auswerfen zurückzuspulen, obwohl es gemeldet hat, dass die Bandende ist erreicht.

Liegt dies daran, dass auf dem Band etwas reservierte Kapazität vorhanden ist, um beispielsweise fehlgeschlagene Blöcke neu zu schreiben oder fehlerhafte Bandabschnitte zu überspringen, ohne die Gesamtkapazität zu verringern? Oder gibt es einen anderen Grund für dieses scheinbar frühe Ende des Bands?

Antworten:


13

Wenn Ihr Laufwerk neu ist und das Band von guter Qualität ist, können Sie davon ausgehen, dass mehr Bytes auf das Band geschrieben werden können als die offizielle Kapazität. In gewissem Sinne können Sie diese freie Kapazität nennen, aber sie ist nicht ungenutzt.

Mit abnehmender Kapazität Ihrer Antriebsköpfe sinkt die Kapazität. Wenn Sie dies mit Bändern von nicht so hoher Qualität kombinieren, kann die Kapazität noch weiter abnehmen.

Da die Kapazität so unterschiedlich ist, muss es eine Möglichkeit geben, Ihrer Sicherungsanwendung zu signalisieren, dass Ihnen die Kapazität ausgeht. Bei einer Sicherungsanwendung kann es problematisch sein, wenn sie das Bandende erreicht und nicht vorbereitet wurde. Es ist besser für die Anwendung, vorab gewarnt zu werden, damit sie den verbleibenden Speicherplatz zum Abschließen des Vorgangs verwenden kann.

Wenn Ihr Betriebssystem Linux ist, ist die API so, dass jeder andere writeSystemaufruf fehlschlägt, ENOSPCsobald Sie diesen letzten Teil des Bandes erreichen. Wenn Ihre Sicherungsanwendung diese Funktion nicht kennt, wird die erste ENOSPCals das Ende behandelt, und auf dem Band verbleibt nicht verwendeter Speicherplatz.

Ich kann mir vorstellen, dass etwas Ähnliches auch auf anderen Betriebssystemen passieren kann.


2

Dank @kasperd habe ich weitere Nachforschungen angestellt und dies war tatsächlich das Problem. Es hat sich herausgestellt, dass diese Funktion als EWEOM (Early Warning End Of Media) bezeichnet wird und sich auf eine Markierung bezieht, die vom Bandhersteller auf dem Band angebracht wurde, sodass das Laufwerk nicht protokolliert, wie viel Band aufgespult wurde.

Ich habe einen Patch für das mbufferProgramm geschrieben, mit dem ich auf das Band schreibe, und an dem Punkt, an dem ich das Ende des Bandes erreicht habe, erhalte ich ENOSPCFehler bei abwechselnden write()Aufrufen, aber ich kann weiterhin Daten schreiben. In meinem Fall viel mehr Daten - zwischen 8 und 19 GiB, abhängig von der Komprimierung meiner nicht sehr komprimierbaren Daten.

Interessanterweise sinkt die Bandschreibgeschwindigkeit dramatisch, nachdem der EWEOM-Marker erreicht ist. Es halbiert sich fast von 80 MB / s auf etwa 47 MB ​​/ s. Dies scheint kein Datenproblem zu sein, da das Laufwerk vor diesem Zeitpunkt stundenlang 80 MB / s gewartet hat. Sie können hören, wie der Antriebsmotor langsamer läuft, und wenn Sie ein ganzes Band überschreiben, damit dieser Abschnitt neu geschrieben wird, erhöht sich die Geschwindigkeit nicht brandneues Band.)

Ich kann keine Dokumentation darüber finden, wann der EWEOM-Marker auf dem Band erscheinen soll, daher bin ich mir nicht sicher, ob er standardisiert ist. Alles, was ich finden konnte, ist eine vage Bezugnahme auf LTO-6/7-Laufwerke, bei denen sich dieser Wert auf 5% des Bandspeichers erhöht hat, was sehr viel zu sein scheint. Dies ist möglicherweise darauf zurückzuführen, dass große Puffer aufgrund der hohen Schreibgeschwindigkeit des Bandes geleert werden können.

In Bezug auf die Linux-API befindet sich die entsprechende Zeile im st.c Quellcode des SCSI-Bandtreibers, und die Erklärung für dieses Verhalten finden Sie in der stTreiberdokumentation .


Das Band wird langsamer, wenn es sich dem Ende nähert, um sicherzustellen, dass es vollständig anhalten kann, bevor das physische Ende erreicht ist.
Zac67

1
Ich glaube nicht, dass dies bei LTO-Bändern der Fall ist, sonst würde das Zurückspulen auch langsam gehen, aber das Zurückspulen eines Bandes erfolgt bis zu den letzten Sekunden mit hoher Geschwindigkeit (schneller als beim Schreiben). Nach der EWEOM-Markierung wird die Fahrt viele Minuten lang langsam. Das Laufwerk weiß also definitiv, wann es sich in der Nähe des physischen Bandanfangs / -endes befindet, ohne dass es langsamer werden muss. Es muss eine andere Ursache für die reduzierte Geschwindigkeit geben.
Malvineous

Ich denke, die Bandenden sollten auch aufgrund der Beanspruchung geschützt werden, aber das ist reine Spekulation.
Zac67

1
Nur am Rande und nur während eines Lade- / Auswurfvorgangs, nicht während das Laufwerk liest / schreibt. Denken Sie daran, dass sich das Band während eines vollständigen Lese- oder Schreibvorgangs von Anfang bis Ende mehrmals spult und wieder auflöst, sodass sich das endgültige Schreiben am "Ende" des Bandes nicht von den vielen umgekehrten Zeilenumbrüchen unterscheidet, die während des gesamten Vorgangs aufgetreten sind.
Malvineous

2
@ Zac67 Wenn es mechanische Gründe dafür gäbe, dass der Antrieb vor Erreichen des Endes langsamer wird, würde man erwarten, dass dies bei jedem Wickel und nicht nur beim letzten Wickel passiert.
Kasperd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.