Verwendung des Dienstprogramms t_reader

Summary: In diesem Artikel wird beschrieben, wie Sie t_reader- und t_writer-Dienstprogramme auf verschiedenen Betriebssystemen verwenden und wo Sie sie herunterladen können.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

  • Die tatsächlichen Blockgrößen auf einem Band müssen bestimmt werden
  • Muss die NetWorker-Etikettierungsstruktur überprüfen
  • Muss die physische Integrität von Bandmedien überprüfen
  • NetWorker-Blockheader-Metadaten müssen bestätigt werden
  • Die ersten 512 Byte jedes Blocks müssen ausgelesen werden.

Der Befehl t_reader Das Dienstprogramm dient zur Diagnose und Behebung von Problemen im Zusammenhang mit Bandlaufwerken. Es ist auch ein NetWorker-Support, der mehrere Bandfunktionen bereitstellt, die es zu einem nützlichen Troubleshooting-Tool machen. Verwenden Sie es für Folgendes:

  • Testen der tatsächlichen Größe von auf Band geschriebenen Blöcken
  • Feststellen, ob es Variationen in der Größe von Blöcken gibt, die auf Band geschrieben werden
  • Lesen physischer Datenträger auf I/O-Fehler oder physische Beschädigungen testen
  • Ermitteln, ob die Elemente unterhalb der Anwendungsschicht (Treiber, BS, Transport, Gerät selbst) Blöcke einer bestimmten Größe lesen können
  • Das Anzeigen von Informationen auf niedriger Ebene in Windows ist mit keinem anderen aktuellen Dienstprogramm möglich

 

Cause

Probleme mit Bandmedien werden häufig durch externe Faktoren verursacht, wie z. B.:

  • Probleme mit Betriebssystem/HBA/Treiber-Blockierungsfaktor
  • Nicht erkannte I/O-Hardware- oder Transportfehler während des Schreibvorgangs
  • Verschlechterung des Datenträgers aufgrund von Alter, Gebrauch, Laufwerkshygiene oder unsachgemäßer Lagerung

 

Resolution

Herunterladen t_reader von hier: NetWorker-Tools

Extrahieren Sie das Bundle und verwenden Sie den Befehl t_reader für die Architektur Ihres Hosts.

  • t_reader spult die Lautstärke unter UNIX nicht automatisch zurück (dies ist unter Windows möglich) - dies ermöglicht es Ihnen, an jeder beliebigen Stelle des Bandes zu positionieren und von dort aus zu beginnen.
  • Auf den meisten Betriebssystemen t_reader meldet die Blockgrößen, die von diesem Punkt aus gefunden werden; Einige erfordern eine Blockgröße, um zu versuchen, zu lesen.
  • t_reader beginnt mit der Aufzählung von Datei und Datensatz bei 0 - d. h., wenn Sie zu Datei 5 weiterblättern, nehmen Sie absichtlich 500 auf und führen Sie dann t_reader - t_reader Die Ausgänge scheinen bei F0 R0 zu beginnen, obwohl sie tatsächlich an einer viel späteren Adresse beginnen.
  • Auf Betriebssystemen, die die tatsächliche Blockgröße bestimmen können, führt eine Blockgrößenbeschränkung im Treiber oder Betriebssystem zu einem Fehler, der darauf hinweist, dass der Puffer zu klein ist, um die Blockdaten zu speichern, z. B cannot allocate memory oder more data is available.
  • t_reader muss keine tatsächlichen Daten lesen, kann aber NetWorker-Labels erkennen und lesen, falls vorhanden
  • Unter Windows kann es auch Block-Header-Informationen lesen und melden, falls verfügbar. Außerdem können die ersten 512 Rohbyte an Daten ausgelesen werden (siehe Variablen unten)
  • Immer: Blockgrößen müssen nach dem ersten Paar von 32-KB-Etikettierungsblöcken konsistent sein und mit der vom Scanner zurückgegebenen Blockgröße übereinstimmen, die in das Etikett geschrieben wurde

UNIX
So bereiten Sie ein Volume vor, indem Sie es zuerst zurückspulen:

mt -f /dev/nst0 rewind

Zu rennen t_readergeben Sie den Datei-Handle des Betriebssystemgeräts des Laufwerks mit eingelegter Bandkassette an, z. B.:

./t_reader_linux /dev/nst0

Die Ausgabe eines Standard-NetWorker-Volumes nach dem Zurückspulen sieht wie folgt aus:

About to read FileNo-BlockNo: 0-0  Found block size: 32768
About to read FileNo-BlockNo: 0-1 EOF encountered
About to read FileNo-BlockNo: 1-0  Found block size: 32768
About to read FileNo-BlockNo: 1-1 EOF encountered
About to read FileNo-BlockNo: 2-0  Found block size: 98304
About to read FileNo-BlockNo: 2-1  Found block size: 98304
...
About to read FileNo-BlockNo: 19-0  Found this record at block size= 98304
About to read FileNo-BlockNo: 19-1 File Mark encountered
About to read FileNo-BlockNo: 20-0 File Mark encountered
No more data is on Tape

Dieses Beispiel zeigt ein fehlerfreies Volume mit zwei 32K-Blöcken auf den ersten beiden Dateien, die die Bezeichnung angeben, gefolgt von 96K-Blöcken, die in regelmäßigen Abständen von Dateimarkierungen unterbrochen werden, bis nach Datei 18 das Ende der Daten (EOD) auftritt.

FENSTER
Unter Windows müssen Sie auch die Größe des Blocks angeben, den Sie lesen möchten:

t_reader \\.\tape0 131072

Dies hat zur Folge, dass Windows versucht, die Blockgröße zu lesen, die ihm zur Verfügung gestellt wird, und sich nicht beschwert (obwohl er potenziell größer ist als die tatsächlich geschriebene Blockgröße) - obwohl es einen Fehler verursacht, wenn entweder die als Argument angegebene Blockgröße kleiner ist als der tatsächliche Block, oder wenn es eine Betriebssystem- oder Treiberbeschränkung gibt, die einen Block dieser Größe unbrauchbar macht.

Da Windows die Blockgröße nicht automatisch ermitteln und melden kann, muss sie als zweites Argument angegeben werden. Wenn die Blockgröße zu groß ist, wird sie falsch gemeldet, da einfach mehrere Blöcke gelesen und als vom Argument bereitgestellte Größe dargestellt werden. Wenn die gelieferte Blockgröße, z.B. 131072, kleiner ist als die tatsächliche Blockgröße, z.B. 262144, erhalten Sie eine Fehlermeldung:

>>>>>File Mark Encountered. Total Records Estimated In File 1 Are 1
Read Record does not align on Assigned Buffer

Um daher eine unbekannte Blockgröße korrekt zu bestimmen, beginnen Sie bei 32768 und verdoppeln Sie, bis das Dienstprogramm erfolgreich ist. In der Regel können Sie die erwartete Blockgröße jedoch anhand der Beschriftung bestimmen.

Windows verfügt auch über zwei Variablen, die für ein tieferes Debuggen festgelegt werden können:

set EXPLODE_LEVEL=1

Bewirkt t_reader So melden Sie den Blockheader für alle gefundenen NetWorker-Blöcke:

Read 262144 bytes: HW Fn-Rn:2-81 Media Fn-Rn:2-81 Cummulative Bytes Read 21561344

mr_version 6
mr_size 262144
Volid 4222551389 (0xFBAF055D)
Media Fn 2-Media Rn 81
mr_len 444
mr_chunk_len 1

Zur Verursachung t_reader So geben Sie die ersten 512 B jedes gelesenen Blocks aus:

set DUMP_BUFFER=1

Erwarten Sie eine Ausgabe wie:

Read 262144 bytes: HW Fn-Rn: 2-47 Cummulative Bytes Read 12648448

Dumping 512 Bytes Starting At Address: 0x  850048
0x0000: 56 4F 4C 31 51 30 57 30 50 53 20 20 20 20 20 20
0x0010: 20 20 20 20 20 4E 45 54 57 4F 52 4B 45 52 20 20
0x0020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0x0030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0x0040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33
0x0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...

Dies kann ein tieferes Debugging oder den Nachweis von beschädigten oder verschlüsselten Nicht-NetWorker-Volumes ermöglichen, ist aber offensichtlich für ungewöhnliche Verwendungen vorgesehen.

 

Additional Information

t_reader wird auch mit einem Begleitdienstprogramm geliefert, t_writer.exe. Dies ist ein reines Windows-Dienstprogramm, das UNIX-Dienstprogramme wie tar und dd ersetzt und Testschreibvorgänge auf Bänder mit nutzerdefinierten Blockgrößen ermöglicht. Es erfordert die begleitende Datei, seeding.image oder eine Binärdatei desselben Namens.

Um das Dienstprogramm zu verwenden, führen Sie es mit einem mediengeladenen Gerät als erstem Argument und der gewünschten Blockgröße in Byte als zweitem Argument aus, z. B.:

win_t_writer.exe \\.\Tape2147483639 131072

Das Dienstprogramm wird so lange ausgeführt, bis der Nutzer den Prozess unterbricht. Sie kann nacheinander auf demselben Volume mit unterschiedlichen Blockgrößen ausgeführt werden, um unterschiedliche Blockgrößen zu simulieren, oder wiederholt bis zum Ausfall, wenn zufällige I/O-Fehler oder SCSI-Resets vermutet werden. Es kann auch verwendet werden, um zu demonstrieren, ob eine Bedingung Blockgrößen unterhalb der Anwendungsschicht kürzt.

Als Beispiel für die Ausgabe:

C:\Users\Administrator\t_reader>win_t_writer.exe \\.\Tape2147483639 131072

CAUTION: This Is An Un-Supported Tool. To Be Used By Tech. Support Personnel Only
For Comments or Change Requests, email: abid.yazdanie@emc.com

******WARNING Tape Write operations will occur on the device******
******Data Destruction Will Occur******
******You are using this tool at your own risk******


usage: win_t_writer \\.\tapeX 131072
Where tapeX is \\.\tapeX and 131072 (128X1024) is the desired block size, in this case 128K
The Block Size Used Above Is Only An Example.
Run mt -f \\.\tapeX status To Find The Max. Block Size For Your Tape Drive

Enter y to proceed or n to abort: y
Proceeding to write....
About to allocate write buffer
Opening Seeding File seeding.image
Copying Contents Of Seeding File: seeding.image To Write Buffer
WRITE access to device \\.\\\.\Tape2147483639
Successfully opened device: \\.\\\.\Tape2147483639

Calling WriteFile in a perennial loop...

 

Affected Products

NetWorker
Article Properties
Article Number: 000094976
Article Type: Solution
Last Modified: 19 Nov 2024
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.