Korzystanie z narzędzia t_reader

Summary: W tym artykule opisano korzystanie z narzędzi t_reader i t_writer w różnych systemach operacyjnych oraz informacje o tym, skąd można je pobrać.

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

  • Musi określać rzeczywiste rozmiary bloków na taśmie
  • Weryfikacja struktury etykiet NetWorker
  • Weryfikacja integralności fizycznej nośnika taśmowego.
  • Należy potwierdzić metadane nagłówka bloku NetWorker
  • Musi zrzucić surowe pierwsze 512 bajtów każdego bloku

Polecenie t_reader Narzędzie służy do diagnozowania i rozwiązywania problemów związanych z napędami taśmowymi. Jest to również obsługa NetWorker, która zapewnia kilka funkcji taśm, co czyni ją przydatnym narzędziem do rozwiązywania problemów. Użyj go, aby:

  • Przetestuj rzeczywisty rozmiar bloków zapisanych na taśmie
  • Określ, czy istnieją różnice w rozmiarach bloków zapisanych na taśmie
  • Testowy odczyt nośników fizycznych pod kątem błędów we/wy lub uszkodzeń fizycznych
  • Określ, czy elementy znajdujące się poniżej warstwy aplikacji (sterownik, system operacyjny, transport, samo urządzenie) mogą odczytywać bloki o określonym rozmiarze
  • Uwidocznienie informacji niskiego poziomu w systemie Windows nie jest możliwe przy użyciu żadnego innego aktualnego narzędzia

 

Cause

Problemy z nośnikami taśmowymi są często spowodowane czynnikami zewnętrznymi, takimi jak:

  • Problemy z czynnikiem blokującym system operacyjny/HBA/sterownik
  • Niewykryte błędy sprzętu we/wy lub transportu podczas zapisu
  • Degradacja nośnika spowodowana wiekiem, użytkowaniem, higieną napędu lub niewłaściwym przechowywaniem

 

Resolution

Pobierz t_reader stąd: Narzędzia NetWorker

Wyodrębnij pakiet i użyj t_reader dla architektury Twojego hosta.

  • t_reader nie przewinie automatycznie woluminu w systemie UNIX (oferuje w systemie Windows) - pozwala to na pozycjonowanie i rozpoczynanie od dowolnego miejsca na taśmie.
  • W większości systemów operacyjnych t_reader zgłasza rozmiary bloków, które znajduje od tego punktu; Niektóre wymagają rozmiaru bloku do próby odczytania.
  • t_reader rozpoczyna wyliczanie pliku i rekordu na 0 - co oznacza, że jeśli miałbyś przesunąć się do przodu do pliku 5, nagraj 500 celowo, a następnie uruchom t_reader - t_reader wydaje się, że wyjścia zaczynają się od F0 R0, mimo że w rzeczywistości zaczynają się od znacznie późniejszego adresu.
  • W systemach operacyjnych, które mogą określić rzeczywisty rozmiar bloku, ograniczenie rozmiaru bloku w sterowniku lub systemie operacyjnym powoduje błąd wskazujący, że bufor jest zbyt mały, aby pomieścić dane bloku, taki jak cannot allocate memory lub more data is available.
  • t_reader nie musi odczytywać rzeczywistych danych, ale potrafi rozpoznawać i odczytywać etykiety NetWorker, jeśli są obecne
  • W systemie Windows może również odczytywać i raportować informacje o nagłówku bloku, jeśli są dostępne; Może również zrzucić pierwsze 512 surowych bajtów danych (patrz zmienne poniżej)
  • Zawsze — rozmiary bloków muszą być spójne po pierwszej parze bloków etykiet 32 KB i muszą być zgodne z rozmiarem bloku zapisanym na etykiecie zwróconym przez skaner

UNIX
Aby przygotować wolumin, przewijając go najpierw:

mt -f /dev/nst0 rewind

Biegać t_reader, podaj uchwyt do plików urządzenia z systemem operacyjnym napędu z załadowaną kasetą z taśmami, na przykład:

./t_reader_linux /dev/nst0

Dane wyjściowe standardowego woluminu NetWorker po przewinięciu wyglądają następująco:

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

W tym przykładzie pokazano prawidłowy wolumin z dwoma blokami 32 KB w pierwszych dwóch plikach, wskazującymi etykietę, a następnie blokami 96 KB przerywanymi okresowo znacznikami plików, aż do końca danych (EOD) napotkanego po pliku 18.

WINDOWS
W przypadku systemu Windows należy również podać rozmiar bloku, który ma być odczytywany:

t_reader \\.\tape0 131072

Efekt tego jest taki, że system Windows próbuje odczytać dowolny rozmiar bloku, który jest mu podany, i nie narzeka (pomimo tego, że jest potencjalnie większy niż rzeczywisty rozmiar zapisanego bloku) - chociaż będzie błąd, jeśli rozmiar bloku podany jako argument jest mniejszy niż rzeczywisty blok, lub istnieje ograniczenie systemu operacyjnego lub sterownika, które sprawia, że blok o tym rozmiarze jest bezużyteczny.

Ponieważ system Windows nie może automatycznie określić i zgłosić rozmiaru bloku, należy go podać jako drugi argument. Jeśli rozmiar bloku jest zbyt duży, błędnie zgłasza, ponieważ po prostu odczytuje wiele bloków i przedstawia je jako rozmiar dostarczony przez argument. Jeśli podany rozmiar bloku, np. 131072, jest mniejszy niż rzeczywisty rozmiar bloku, na przykład 262144, pojawi się błąd:

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

W związku z tym, aby poprawnie określić nieznany rozmiar bloku, zacznij od 32768 i podwajaj go, aż narzędzie zakończy się pomyślnie. Na podstawie etykiety można jednak określić oczekiwany rozmiar bloku.

Windows ma również dwie zmienne, które można ustawić w celu głębszego debugowania:

set EXPLODE_LEVEL=1

Powoduje t_reader Aby zgłosić nagłówek bloku dla znalezionych bloków 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

Aby spowodować, że t_reader aby zrzucić pierwsze 512 B każdego bloku przeczytaj:

set DUMP_BUFFER=1

Oczekuj takich wyników, jak:

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

Może to pozwolić na głębsze debugowanie lub sprawdzenie, że woluminy inne niż NetWorker, są uszkodzone lub zaszyfrowane, ale oczywiście dotyczy rzadkich zastosowań.

 

Additional Information

t_reader jest również dostarczany w pakiecie z narzędziem towarzyszącym, t_writer.exe. Jest to narzędzie tylko dla systemu Windows, które zastępuje narzędzia systemu UNIX, takie jak tar i dd, i umożliwia wykonywanie testowych zapisów na taśmach z niestandardowymi rozmiarami bloków. Wymaga pliku towarzyszącego, seeding.image lub dowolnego pliku binarnego o tej samej nazwie.

Aby użyć narzędzia, uruchom je z pierwszym argumentem urządzenia załadowanego nośnikiem i żądanym rozmiarem bloku w bajtach jako drugim, na przykład:

win_t_writer.exe \\.\Tape2147483639 131072

Narzędzie działa, dopóki użytkownik nie przerwie procesu. Może być uruchamiana sukcesywnie na tym samym woluminie z różnymi rozmiarami bloków w celu symulacji wariantów rozmiarów bloków lub wielokrotnie aż do niepowodzenia, jeśli podejrzewane są losowe błędy we/wy lub resetowanie SCSI. Może być również używany do zademonstrowania, czy warunek obcina rozmiary bloków poniżej warstwy aplikacji.

Jako przykład danych wyjściowych:

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.