Het hulpprogramma t_reader gebruiken
Summary: In dit artikel wordt het gebruik van hulpprogramma's voor t_reader en t_writer op verschillende besturingssystemen beschreven en waar u deze kunt downloaden.
Symptoms
- Moet de werkelijke blokgroottes op een tape bepalen
- Moet de labelstructuur van NetWorker controleren
- Moet de fysieke integriteit van tapemedia controleren
- Moet de metadata van de NetWorker-blokheader bevestigen
- Moet de ruwe eerste 512 bytes van elk blok dumpen
De t_reader hulpprogramma is voor het diagnosticeren en oplossen van problemen met tapestations. Het is ook een NetWorker Support, die verschillende tapefuncties biedt waardoor het een handig hulpmiddel is voor het oplossen van problemen. Gebruik het om:
- Test de werkelijke grootte van blokken die op tape zijn geschreven
- Bepalen of er variaties zijn in de grootte van blokken die op tape worden geschreven
- Test het uitlezen van fysieke media op I/O-fouten of fysieke schade
- Bepaal of de elementen onder de applicatielaag (driver, besturingssysteem, transport, apparaat zelf) blokken van een bepaalde grootte kunnen lezen
- Het blootstellen van informatie op laag niveau in Windows is niet mogelijk met een ander huidig hulpprogramma
Cause
Problemen met tapemedia worden vaak veroorzaakt door externe factoren zoals:
- Problemen met OS/HBA/driverblokkeringsfactor
- Niet-gedetecteerde I/O-hardware- of transportfouten tijdens schrijven
- Degradatie van media door ouderdom, gebruik, schijfhygiëne of onjuiste opslag
Resolution
Downloaden t_reader Vanaf hier: NetWorker Tools
Pak de bundel uit en gebruik de t_reader voor de architectuur van uw host.
t_readerzal niet automatisch het volume terugspoelen op UNIX (het biedt aan op Windows) - dit stelt u in staat om vanaf elke plek op de band te positioneren en te beginnen.- Op de meeste besturingssystemen
t_readerrapporteert de blokgroottes die vanaf dit punt worden gevonden; Sommige vereisen een blokgrootte om te proberen te lezen. t_readerbegint met de opsomming van bestand en record op 0 - wat betekent dat als je vooruit zou gaan naar bestand 5, je opzettelijk 500 opneemt en dan uitvoertt_reader-t_readeruitgangen lijken te beginnen bij F0 R0, ondanks dat ze eigenlijk op een veel later adres beginnen.- Op besturingssystemen die de werkelijke blokgrootte kunnen bepalen, resulteert een beperking van de blokgrootte in de driver of het besturingssysteem in een fout die aangeeft dat de buffer te klein is om de blokgegevens te bevatten, zoals
cannot allocate memoryofmore data is availablete installeren. t_readerhoeft geen werkelijke data te lezen, maar kan wel NetWorker-labels herkennen en lezen, indien aanwezig- In Windows kan het ook blokheaderinformatie lezen en rapporteren, indien beschikbaar; Het kan ook de eerste 512 ruwe bytes aan gegevens dumpen (zie onderstaande variabelen)
- Altijd : blokformaten moeten consistent zijn na het eerste paar labelblokken van 32 KB en moeten overeenkomen met de blokgrootte die op het label is geschreven zoals geretourneerd door de scanner
UNIX
Een volume voorbereiden door het eerst terug te spoelen:
mt -f /dev/nst0 rewind
Uitvoeren t_reader, levert u de bestandshandgreep van het besturingssysteem van de schijf met de geladen tapecartridge, bijvoorbeeld:
./t_reader_linux /dev/nst0
De uitvoer van een standaard NetWorker-volume na terugspoelen ziet er als volgt uit:
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
In dit voorbeeld ziet u een gezond volume met twee blokken van 32K op de eerste twee bestanden die het label aangeven, gevolgd door blokken van 96K die periodiek worden onderbroken door bestandsmarkeringen tot het einde van de gegevens (EOD) dat u tegenkomt na bestand 18.
RAMEN
Voor Windows moet u ook de grootte van het blok opgeven dat u wilt lezen:
t_reader \\.\tape0 131072
Het effect hiervan is dat Windows probeert de blokgrootte te lezen die het krijgt, en niet te klagen (ondanks dat het potentieel groter is dan de werkelijke blokgrootte geschreven) - hoewel het een fout zal maken als de blokgrootte die als argument wordt opgegeven kleiner is dan het werkelijke blok, of als er een besturingssysteem- of driverbeperking is die een blok van die grootte onbruikbaar maakt.
Aangezien Windows de blokgrootte niet automatisch kan bepalen en rapporteren, moet dit als tweede argument worden opgegeven. Als de blokgrootte te groot is, rapporteert het verkeerd, omdat het gewoon meerdere blokken leest en deze presenteert als de door argumenten geleverde grootte. Als de opgegeven blokgrootte, bijv. 131072, kleiner is dan de werkelijke blokgrootte, bijvoorbeeld 262144, krijgt u een foutmelding:
>>>>>File Mark Encountered. Total Records Estimated In File 1 Are 1 Read Record does not align on Assigned Buffer
Om daarom een onbekende blokgrootte correct te bepalen, begint u bij 32768 en verdubbelt u totdat het hulpprogramma slaagt. Over het algemeen kunt u echter de verwachte blokgrootte bepalen aan de hand van het label.
Windows heeft ook twee variabelen die kunnen worden ingesteld voor diepere foutopsporing:
set EXPLODE_LEVEL=1
Oorzaken t_reader Ga als volgt te werk om de blokheader voor alle gevonden NetWorker-blokken te melden:
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
Om te veroorzaken t_reader om de eerste 512 B van elk blok te dumpen, lees:
set DUMP_BUFFER=1
Verwacht uitvoer zoals:
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 ...
Dit kan diepere foutopsporing mogelijk maken of het bewijzen van niet-NetWorker, beschadigde of versleutelde volumes, maar is uiteraard voor ongewoon gebruik.
Additional Information
t_reader wordt ook geleverd met een begeleidend hulpprogramma, t_writer.exete installeren. Dit is een hulpprogramma voor Windows dat de plaats inneemt van UNIX-hulpprogramma's zoals tar en dd en het mogelijk maakt om testschrijfbewerkingen uit te voeren naar tapes met aangepaste blokgroottes. Hiervoor is het bijbehorende bestand, seeding.image of een binair bestand met dezelfde naam vereist.
Als u het hulpprogramma wilt gebruiken, voert u het uit met behulp van een media-geladen apparaat als het eerste argument en de gewenste blokgrootte in bytes als het tweede, bijvoorbeeld:
win_t_writer.exe \\.\Tape2147483639 131072
Het hulpprogramma blijft actief totdat de gebruiker het proces onderbreekt. Het kan achtereenvolgens op hetzelfde volume met verschillende blokgroottes worden uitgevoerd om verschillende blokgroottes te simuleren, of herhaaldelijk totdat een fout optreedt als willekeurige I/O-fouten of SCSI-resets worden vermoed. Het kan ook worden gebruikt om aan te tonen of een voorwaarde blokgroottes onder de applicatielaag afkapt.
Als voorbeeld van de uitvoer:
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...