Jak používat nástroj t_reader
Summary: Tento článek popisuje, jak se nástroje t_reader a t_writer používají v různých operačních systémech a odkud je stáhnout.
Symptoms
- Musí určit skutečné velikosti bloků na pásce.
- Je nutné ověřit strukturu štítku NetWorker.
- Je nutné ověřit fyzickou integritu páskového média.
- Je nutné potvrdit metadata záhlaví bloku NetWorker.
- Musí vypsat nezpracovaných prvních 512 bajtů každého bloku.
Příkaz t_reader Nástroj slouží k diagnostice a odstraňování problémů souvisejících s páskovou jednotkou. Jedná se také o podporu NetWorker, která poskytuje několik funkcí pásky, což z ní činí užitečný nástroj pro odstraňování problémů. Slouží k následujícím akcím:
- Testování skutečné velikosti bloků zapsaných na pásku
- Určení, zda existují rozdíly ve velikostech bloků zapsaných na pásku
- Testování čtení z fyzického média na chyby I/O nebo fyzické poškození
- Určení, zda prvky pod aplikační vrstvou (ovladač, operační systém, přenos, samotné zařízení) mohou číst bloky určité velikosti
- Vystavení nízkoúrovňových informací v systému Windows není možné pomocí žádného jiného aktuálního nástroje
Cause
Problémy s páskovým médiem jsou často způsobeny vnějšími faktory, jako jsou:
- Problémy s blokujícím faktorem operačního systému/HBA/ovladače
- Nezjištěný hardware I/O nebo chyby přenosu během zápisu
- Degradace médií v důsledku stáří, používání, hygieny disku nebo nesprávného skladování
Resolution
Stáhnout t_reader odsud: Nástroje pro práci v síti
Rozbalte balíček a použijte t_reader pro architekturu vašeho hostitele.
t_readerautomaticky nepřevíjí hlasitost v systému UNIX (nabízí to v systému Windows) - to vám umožní umístit a začít z libovolného místa na pásce.- U většiny operačních systémů
t_readerhlásí velikosti bloků, které najde od tohoto bodu; Některé vyžadují velikost bloku, abyste se je pokusili přečíst. t_readerzačíná výčet souboru a záznamu na 0 - to znamená, že pokud byste měli mezeru dopředu do souboru 5, zaznamenejte 500 záměrně a pak spusťtet_reader-t_readerZdá se, že výstupy začínají na F0 R0, přestože ve skutečnosti začínají na mnohem pozdější adrese.- V operačních systémech, které mohou určit skutečnou velikost bloku, způsobí omezení velikosti bloku v ovladači nebo operačním systému chybu oznamující, že vyrovnávací paměť je příliš malá na to, aby se do ní vešla data bloku, například
cannot allocate memorynebomore data is available. t_readerNepotřebuje číst skutečná data, ale dokáže rozpoznat a přečíst štítky NetWorker, pokud jsou přítomny.- V systému Windows může také číst a hlásit informace o záhlaví bloku, pokud jsou k dispozici; Může také vypsat prvních 512 nezpracovaných bajtů dat (viz proměnné níže)
- Vždy – velikosti bloků musí být konzistentní za první dvojicí bloků popisků o velikosti 32 kB a musí odpovídat velikosti bloku zapsané do popisku vrácené skenerem.
UNIX
Chcete-li připravit svazek tak, že jej nejprve přetočíte zpět:
mt -f /dev/nst0 rewind
Chcete-li spustit t_reader, dodejte popisovač souborů zařízení OS jednotky s vloženou páskovou kazetou, například:
./t_reader_linux /dev/nst0
Výstup standardního svazku NetWorker po převinutí vypadá takto:
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
Tento příklad ukazuje svazek v pořádku se dvěma bloky o velikosti 32 kB na prvních dvou souborech označujících popisek, následovaný bloky o velikosti 96K, které jsou pravidelně přerušované značkami souborů, dokud se po souboru 18 nezobrazí konec dat (EOD).
WINDOWS
V systému Windows musíte také zadat velikost bloku, který chcete číst:
t_reader \\.\tape0 131072
Důsledkem toho je, že systém Windows se pokusí přečíst jakoukoli velikost bloku, která je mu poskytnuta, a nestěžuje si (navzdory tomu, že je potenciálně větší než skutečná velikost zapsaného bloku) - i když dojde k chybě, pokud je buď velikost bloku poskytnutá jako argument menší než skutečný blok, nebo existuje omezení operačního systému nebo ovladače, které činí blok této velikosti nepoužitelným.
Vzhledem k tomu, že systém Windows nemůže automaticky určit a nahlásit velikost bloku, musí být zadán jako druhý argument. Pokud je velikost bloku příliš velká, zobrazí chybné hlášení, protože jednoduše čte více bloků a prezentuje je jako velikost zadanou argumentem. Pokud je zadaná velikost bloku, např. 131072, menší než skutečná velikost bloku, například 262144, zobrazí se chyba:
>>>>>File Mark Encountered. Total Records Estimated In File 1 Are 1 Read Record does not align on Assigned Buffer
Chcete-li tedy správně určit neznámou velikost bloku, začněte na 32768 a zdvojnásobte, dokud nástroj nebude úspěšný. Obecně však můžete určit očekávanou velikost bloku z popisku.
Windows má také dvě proměnné, které lze nastavit pro hlubší ladění:
set EXPLODE_LEVEL=1
Způsobuje t_reader Chcete-li nahlásit záhlaví bloku pro všechny nalezené bloky NetWorker:
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
Chcete-li způsobit t_reader pro výpis prvních 512 B z každého bloku si přečtěte:
set DUMP_BUFFER=1
Očekávejte výstup jako:
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 ...
To může umožnit hlubší ladění nebo prokázat, že poškozené nebo šifrované svazky nejsou NetWorker, ale je to samozřejmě pro neobvyklé použití.
Additional Information
t_reader dodává se také s doprovodným nástrojem, t_writer.exe. Tento nástroj je určen pouze pro systém Windows, nahrazuje unixové nástroje jako tar a dd a umožňuje provádět testovací zápisy na pásky s vlastními velikostmi bloků. Vyžaduje doprovodný soubor seeding.image nebo jakýkoli binární soubor se stejným názvem.
Chcete-li nástroj použít, spusťte jej pomocí zařízení s načteným médiem jako prvního argumentu a požadované velikosti bloku v bajtech jako druhého, například:
win_t_writer.exe \\.\Tape2147483639 131072
Nástroj poběží, dokud uživatel proces nepřeruší. Může být spuštěn postupně na stejném svazku s různými velikostmi bloků pro simulaci různých velikostí bloků nebo opakovaně až do selhání, pokud existuje podezření na náhodné chyby I/O nebo resetování SCSI. Může být také použit k demonstraci, zda podmínka zkracuje velikosti bloků pod aplikační vrstvou.
Jako příklad výstupu:
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...