Så här använder du t_reader verktyget

Summary: I den här artikeln beskrivs hur du använder t_reader- och t_writer verktygen på olika operativsystem och var du kan hämta dem.

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

  • Måste bestämma de faktiska blockstorlekarna på ett band
  • Måste verifiera NetWorker-etikettstrukturen
  • Måste verifiera bandmediets fysiska integritet
  • Måste bekräfta NetWorker-blockrubrikmetadata
  • Måste dumpa de första 512 byten i varje block

Informationen t_reader Verktyget används för att diagnostisera och felsöka problem med bandenheter. Det är också en NetWorker-support som tillhandahåller flera bandfunktioner som gör den till ett användbart felsökningsverktyg. Använd den för att:

  • Testa den faktiska storleken på block som skrivs till band
  • Ta reda på om det finns variationer av storlekar på block som skrivs till band
  • Testavläsning av fysiska medier för I/O-fel eller fysisk skada
  • Ta reda på om elementen under programlagret (drivrutin, operativsystem, transport, själva enheten) kan läsa block av en viss storlek
  • Exponera information på låg nivå i Windows som inte är möjlig med något annat aktuellt verktyg

 

Cause

Problem med bandmedier orsakas ofta av externa faktorer som:

  • Problem med OS/HBA/drivrutinsblockeringsfaktor
  • Oupptäckta I/O-maskinvaru- eller transportfel under skrivning
  • Medieförsämring på grund av ålder, användning, diskhygien eller felaktig förvaring

 

Resolution

Ladda ner t_reader härifrån: NetWorker-verktyg

Packa upp paketet och använd t_reader för värdens arkitektur.

  • t_reader kommer inte automatiskt att spola tillbaka volymen på UNIX (den erbjuder det på Windows) - detta gör att du kan placera till och börja från vilken plats som helst på bandet.
  • På de flesta operativsystem t_reader rapporterar de blockstorlekar som den hittar från denna punkt; Vissa kräver att du har en blockstorlek för att försöka läsa.
  • t_reader börjar sin uppräkning av fil och post vid 0 - vilket innebär att om du skulle blanka framåt till fil 5, spela in 500 medvetet och sedan köra t_reader - t_reader utgångar verkar börja på F0 R0, trots att de faktiskt börjar på en mycket senare adress.
  • På operativsystem som kan fastställa den faktiska blockstorleken resulterar en begränsning av blockstorleken i drivrutinen eller operativsystemet i ett fel som anger att bufferten är för liten för att lagra blockdata, t.ex. cannot allocate memory eller more data is available.
  • t_reader behöver inte läsa faktiska data, men kan känna igen och läsa NetWorker-etiketter om de finns
  • I Windows kan den också läsa och rapportera information om blockrubriker, om sådan finns. Den kan också dumpa de första 512 råa byten data (se variabler nedan)
  • Alltid – blockstorlekarna måste vara konsekventa efter det första paret etikettblock på 32 kB och måste matcha blockstorleken som skrivs in i etiketten som returneras av skannern

UNIX
Så här förbereder du en volym genom att spola tillbaka den först:

mt -f /dev/nst0 rewind

Att springa t_reader, ange handtaget för enhetens OS-enhetsfil med bandkassetten ifylld, till exempel:

./t_reader_linux /dev/nst0

Utdata från en NetWorker-standardvolym efter tillbakaspolning ser ut så här:

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

Det här exemplet visar en felfri volym med två 32K-block på de två första filerna som anger etiketten, följt av 96K-block som avbryts regelbundet av filmärken tills EOD (End of Data) påträffas efter fil 18.

WINDOWS
För Windows måste du också ange storleken på blocket du vill läsa:

t_reader \\.\tape0 131072

Effekten av detta är att Windows försöker läsa vilken blockstorlek som helst och inte klaga (trots att det potentiellt är större än den faktiska blockstorleken som skrivits) - även om det kommer att fela om antingen den angivna blockstorleken som argumentet är mindre än det faktiska blocket, eller om det finns en OS- eller drivrutinsbegränsning som gör ett block av den storleken oanvändbart.

Eftersom Windows inte automatiskt kan fastställa och rapportera blockstorleken måste den anges som det andra argumentet. Om blockstorleken är för stor rapporterar den felaktigt eftersom den helt enkelt läser flera block och presenterar dem som den argumenterade storleken. Om den angivna blockstorleken, t.ex. 131072, är mindre än den faktiska blockstorleken, till exempel 262144, får du ett felmeddelande:

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

För att korrekt bestämma en okänd blockstorlek, börja med 32768 och dubbla tills verktyget lyckas. Du kan dock i allmänhet fastställa den förväntade blockstorleken från etiketten.

Windows har också två variabler som kan ställas in för djupare felsökning:

set EXPLODE_LEVEL=1

Orsakar t_reader Så här rapporterar du blockhuvudet för alla NetWorker-block som hittas:

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

Att orsaka t_reader för att dumpa de första 512 B i varje block, läs:

set DUMP_BUFFER=1

Förvänta dig utdata som:

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
...

Detta kan möjliggöra djupare felsökning eller för att bevisa icke-NetWorker, skadade eller krypterade volymer, men är uppenbarligen för ovanliga användningsområden.

 

Additional Information

t_reader levereras också med ett kompletterande verktyg, t_writer.exe. Det här är ett Windows-verktyg som ersätter UNIX-verktyg som tar och dd och gör det möjligt att utföra testskrivningar till band med anpassade blockstorlekar. Den medföljande filen, seeding.image, eller en binär fil med samma namn krävs.

Om du vill använda verktyget kör du det med en medieladdad enhet som det första argumentet och önskad blockstorlek i byte som det andra, till exempel:

win_t_writer.exe \\.\Tape2147483639 131072

Verktyget körs tills användaren avbryter processen. Det kan köras successivt på samma volym med olika blockstorlekar för att simulera variantblockstorlekar, eller upprepade gånger tills fel uppstår om slumpmässiga I/O-fel eller SCSI-återställningar misstänks. Den kan också användas för att visa om ett villkor trunkerar blockstorlekar under programskiktet.

Som ett exempel på utdata:

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.