Como usar o utilitário t_reader

Samenvatting: Este artigo descreve o uso dos utilitários t_reader e t_writer em vários sistemas operacionais e onde baixá-lo.

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Symptomen

  • Deve determinar os tamanhos reais dos blocos em uma fita
  • Deve verificar a estrutura de rótulos do NetWorker
  • Deve verificar a integridade física da mídia de fita
  • Precisa confirmar os metadados do cabeçalho de bloco do NetWorker
  • Deve despejar os primeiros 512 bytes brutos de cada bloco

O comando t_reader O utilitário é para diagnosticar e solucionar problemas relacionados à unidade de fita. Também é um suporte do NetWorker, que fornece várias funções de fita que o tornam uma ferramenta útil de solução de problemas. Use-o para:

  • Testar o tamanho real dos blocos gravados na fita
  • Determine se há variações de tamanhos de blocos gravados em fita
  • Teste a leitura da mídia física em busca de erros de E/S ou danos físicos
  • Determine se os elementos abaixo da camada do aplicativo (driver, sistema operacional, transporte, o próprio dispositivo) podem ler blocos de um tamanho específico
  • Expor informações de baixo nível no Windows não é possível com qualquer outro utilitário atual

 

Oorzaak

Problemas com a mídia de fita geralmente são causados por fatores externos, como:

  • Problemas de fator de bloqueio do SO/HBA/driver
  • Erros de hardware ou transporte de E/S não detectados durante a gravação
  • Degradação da mídia devido à idade, uso, higiene da unidade ou armazenamento inadequado

 

Oplossing

Download t_reader daqui: Ferramentas do NetWorker

Extraia o pacote e use o comando t_reader para a arquitetura do seu host.

  • t_reader não retrocederá automaticamente o volume no UNIX (ele oferece no Windows) — isso permite que você posicione e comece a partir de qualquer ponto da fita.
  • Na maioria dos sistemas operacionais t_reader relata os tamanhos de bloco encontrados a partir deste ponto; alguns exigem que você tenha um tamanho de bloco para tentar ler.
  • t_reader começa sua enumeração de arquivo e registro em 0 - o que significa que se você fosse espaçar para o arquivo 5, registre 500 deliberadamente e, em seguida, execute t_reader - t_reader as saídas parecem começar em F0 R0, apesar de realmente começarem em um endereço muito posterior.
  • Em sistemas operacionais que podem determinar o tamanho real do bloco, uma limitação de tamanho de bloco no driver ou no SO resulta em um erro que indica que o buffer é muito pequeno para armazenar os dados do bloco, como cannot allocate memory ou more data is available.
  • t_reader não precisa ler os dados reais, mas pode reconhecer e ler os rótulos do NetWorker, se presentes
  • No Windows, ele também pode ler e relatar informações de cabeçalho de bloco, se disponíveis; Ele também pode despejar os primeiros 512 bytes brutos de dados (veja as variáveis abaixo)
  • Always — os tamanhos dos blocos devem ser consistentes após o primeiro par de blocos de etiquetas de 32 KB e devem corresponder ao tamanho do bloco gravado na etiqueta conforme retornado pelo scanner

UNIX
Para preparar um volume rebobinando-o primeiro:

mt -f /dev/nst0 rewind

Para executar t_reader, forneça o identificador de arquivo do dispositivo operacional da unidade com o cartucho de fita carregado, por exemplo:

./t_reader_linux /dev/nst0

A saída de um volume padrão do NetWorker após o rebobinamento é semelhante a esta:

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

Este exemplo demonstra um volume íntegro com dois blocks de 32K nos dois primeiros arquivos indicando o rótulo, seguidos por blocks de 96K pontuados periodicamente por marcas de arquivo até o EOD (End of Data) encontrado após o arquivo 18.

WINDOWS
Para Windows, você também deve informar o tamanho do bloco que deseja ler:

t_reader \\.\tape0 131072

O efeito disso é que o Windows tenta ler qualquer tamanho de bloco fornecido a ele, e não reclamar (apesar de ser potencialmente maior do que o tamanho de bloco real escrito) - embora ele irá errar se o tamanho do bloco fornecido como o argumento é menor do que o bloco real, ou se houver uma limitação de sistema operacional ou driver que torna um bloco desse tamanho inutilizável.

Como o Windows não pode determinar e relatar automaticamente o tamanho do bloco, ele deve ser fornecido como o segundo argumento. Se o tamanho do bloco for muito grande, ele apresenta relatórios incorretos, pois está simplesmente lendo vários blocos e apresentando-os como o tamanho fornecido pelo argumento. Se o tamanho do bloco fornecido, por exemplo, 131072, for menor do que o tamanho real do bloco, por exemplo, 262144, você receberá um erro:

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

Portanto, para determinar corretamente um tamanho de bloco desconhecido, comece em 32768 e dobre até que o utilitário seja bem-sucedido. No entanto, geralmente é possível determinar o tamanho esperado do bloco a partir do rótulo.

O Windows também tem duas variáveis que podem ser definidas para uma depuração mais profunda:

set EXPLODE_LEVEL=1

Causas t_reader para relatar o cabeçalho do bloco para todos os blocos do NetWorker encontrados:

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

Para causar t_reader para despejar o primeiro 512 B de cada bloco, leia:

set DUMP_BUFFER=1

Espere um resultado como:

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

Isso pode permitir uma depuração mais profunda ou comprovar volumes danificados ou criptografados que não sejam do NetWorker, mas é obviamente para usos incomuns.

 

Extra informatie

t_reader também vem com um utilitário complementar, t_writer.exe. Este é um utilitário somente para Windows que substitui utilitários UNIX, como tar e dd, e permite que as gravações de teste sejam executadas em fitas em tamanhos de bloco personalizados. Ele requer o arquivo que o acompanha, seeding.image ou qualquer arquivo binário de mesmo nome.

Para usar o utilitário, execute-o usando um dispositivo carregado por mídia como o primeiro argumento e o tamanho de bloco desejado em bytes como o segundo, por exemplo:

win_t_writer.exe \\.\Tape2147483639 131072

O utilitário será executado até que o usuário interrompa o processo. Ele pode ser executado sucessivamente no mesmo volume com tamanhos de bloco diferentes para simular tamanhos de bloco de variantes, ou repetidamente até a falha se houver suspeita de erros aleatórios de E/S ou redefinições de SCSI. Ele também pode ser usado para demonstrar se uma condição está truncando tamanhos de blocos abaixo da camada de aplicação.

Como exemplo do resultado:

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

 

Getroffen producten

NetWorker
Artikeleigenschappen
Artikelnummer: 000094976
Artikeltype: Solution
Laatst aangepast: 30 mrt. 2026
Versie:  4
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.