Sådan bruger du t_reader-værktøjet
Summary: Denne artikel beskriver brugen af t_reader og t_writer værktøjer på forskellige operativsystemer, og hvor du kan downloade den.
Symptoms
- Skal bestemme de faktiske blokstørrelser på et bånd
- Skal bekræfte NetWorker-mærkatstrukturen
- Skal kontrollere båndmediets fysiske integritet
- Skal bekræfte NetWorker-blokheadermetadata
- Skal dumpe de rå første 512 byte af hver blok
Ikonet t_reader Hjælpeprogrammet bruges til diagnosticering og fejlfinding af problemer med båndstationen. Det er også en NetWorker-support, der giver flere båndfunktioner, der gør det til et nyttigt fejlfindingsværktøj. Brug den til at:
- Test den faktiske størrelse af blokke skrevet til bånd
- Find ud af, om der er variationer i størrelsen på blokke, der er skrevet til bånd
- Test aflæsning af fysiske medier for I/O-fejl eller fysisk skade
- Bestem, om elementerne under applikationslaget (driver, OS, transport, selve enheden) kan læse blokke af en bestemt størrelse
- Udsæt oplysninger på lavt niveau i Windows, der ikke er mulige med noget andet aktuelt værktøj
Cause
Problemer med båndmedier skyldes ofte eksterne faktorer såsom:
- Problemer med OS/HBA/driverblokeringsfaktor
- Uopdaget I/O-hardware eller transportfejl under skrivning
- Medieforringelse på grund af alder, brug, drevhygiejne eller forkert opbevaring
Resolution
Download t_reader herfra: NetWorker-værktøjer
Pak bundtet ud, og brug t_reader til din værts arkitektur.
t_readervil ikke automatisk spole lydstyrken tilbage på UNIX (det tilbyder på Windows) - dette giver dig mulighed for at placere til og begynde fra ethvert sted på båndet.- På de fleste operativsystemer
t_readerrapporterer de blokstørrelser, den finder fra dette punkt; Nogle kræver, at du har en blokstørrelse for at forsøge at læse. t_readerBegynder sin optælling af fil og post ved 0 - hvilket betyder, at hvis du skulle gå videre til fil 5, skal du registrere 500 bevidst og derefter køret_reader–t_readerudgange ser ud til at begynde ved F0 R0, på trods af at de faktisk starter på en meget senere adresse.- På operativsystemer, der kan bestemme den faktiske blokstørrelse, resulterer en begrænsning af blokstørrelsen i driveren eller operativsystemet i en fejl, der angiver, at bufferen er for lille til at indeholde blokdataene, f.eks.
cannot allocate memoryellermore data is available. t_readerbehøver ikke at læse faktiske data, men kan genkende og læse NetWorker-etiketter, hvis de findes- På Windows kan den også læse og rapportere blokoverskriftsoplysninger, hvis de er tilgængelige; Det kan også dumpe de første 512 rå bytes af data (se variabler nedenfor)
- Altid - blokstørrelser skal være konsistente efter det første par 32 KB-etiketblokke og skal matche den blokstørrelse, der er skrevet ind i etiketten, som returneret af scanneren
UNIX
Sådan forberedes en diskenhed ved først at spole den tilbage:
mt -f /dev/nst0 rewind
At løbe t_reader, skal du forsyne OS-enhedens filhåndtag på drevet med båndkassetten isat, f.eks.:
./t_reader_linux /dev/nst0
Outputtet fra en standard NetWorker-diskenhed efter tilbagespoling ser således ud:
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
Dette eksempel viser en sund diskenhed med to 32K-blokke på de to første filer, der angiver etiketten, efterfulgt af 96K-blokke, der periodisk er præget af filmærker, indtil EOD (End of Data) er stødt på efter fil 18.
WINDOWS
For Windows skal du også angive størrelsen på den blok, du vil læse:
t_reader \\.\tape0 131072
Effekten af dette er, at Windows forsøger at læse den blokstørrelse, der leveres den, og ikke klage (på trods af at den potentielt er større end den faktiske blokstørrelse, der er skrevet) - selvom det vil fejle, hvis enten den angivne blokstørrelse, da argumentet er mindre end den faktiske blok, eller der er en OS- eller driverbegrænsning, der gør en blok af den størrelse ubrugelig.
Da Windows ikke automatisk kan bestemme og rapportere blokstørrelsen, skal det angives som det andet argument. Hvis blokstørrelsen er for stor, rapporterer den forkert, da den blot læser flere blokke og præsenterer dem som den argumentleverede størrelse. Hvis den angivne blokstørrelse, f.eks. 131072, er mindre end den faktiske blokstørrelse, f.eks. 262144, modtager du en fejl:
>>>>>File Mark Encountered. Total Records Estimated In File 1 Are 1 Read Record does not align on Assigned Buffer
For at bestemme en ukendt blokstørrelse korrekt skal du starte ved 32768 og fordoble, indtil værktøjet lykkes. Du kan dog generelt bestemme den forventede blokstørrelse ud fra etiketten.
Windows har også to variabler, som kan indstilles til dybere fejlfinding:
set EXPLODE_LEVEL=1
Årsager t_reader Sådan rapporterer du blokoverskriften for fundne NetWorker-blokke:
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
At forårsage t_reader for at dumpe de første 512 B i hver blok læst:
set DUMP_BUFFER=1
Forvent output 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 ...
Dette kan give mulighed for dybere fejlfinding eller bevis for ikke-NetWorker, beskadigede eller krypterede diskenheder, men er naturligvis til usædvanlig brug.
Additional Information
t_reader leveres også med et ledsagende værktøj, t_writer.exe. Dette er kun et Windows-værktøj, der erstatter UNIX-værktøjer som tjære og dd og gør det muligt at udføre testskrivninger til bånd ved brugerdefinerede blokstørrelser. Det kræver den ledsagende fil, seeding.image eller en binær fil med samme navn.
For at bruge værktøjet skal du køre det ved hjælp af en medieindlæst enhed som det første argument og den ønskede blokstørrelse i byte som det andet, for eksempel:
win_t_writer.exe \\.\Tape2147483639 131072
Værktøjet kører, indtil brugeren afbryder processen. Det kan køres successivt på den samme diskenhed med forskellige blokstørrelser for at simulere variantblokstørrelser eller gentagne gange indtil fejl, hvis der er mistanke om tilfældige I/O-fejl eller SCSI-nulstillinger. Det kan også bruges til at demonstrere, om en tilstand afkorter blokstørrelser under applikationslaget.
Som et eksempel på outputtet:
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...