Utilisation de l’utilitaire t_reader

Summary: Cet article explique comment utiliser les utilitaires t_reader et t_writer sur différents systèmes d’exploitation et où les télécharger.

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

  • Doit déterminer les tailles de bloc réelles sur une bande
  • Doit vérifier la structure de l’étiquette NetWorker
  • Doit vérifier l’intégrité physique du support de bande
  • Doit confirmer les métadonnées d’en-tête de bloc NetWorker
  • Vous devez vider les 512 premiers octets bruts de chaque bloc

L’opérateur t_reader L’utilitaire permet de diagnostiquer et de résoudre les problèmes liés au lecteur de bande. Il s’agit également d’un support NetWorker qui fournit plusieurs fonctions de bande qui en font un outil de dépannage utile. Utilisez-le pour :

  • Tester la taille réelle des blocs écrits sur bande
  • Déterminer s’il existe des variations de tailles de blocs écrits sur bande
  • Test de lecture des supports physiques pour détecter des erreurs d’E/S ou des dommages physiques
  • Déterminer si les éléments situés sous la couche applicative (pilote, système d’exploitation, transport, périphérique lui-même) peuvent lire des blocs d’une taille spécifique
  • Affichage d’informations de bas niveau dans Windows, impossible avec tout autre utilitaire actuel

 

Cause

Les problèmes liés aux supports de bande sont souvent causés par des facteurs externes tels que :

  • Problèmes de facteur de blocage du système d’exploitation/HBA/pilote
  • Matériel d’E/S non détecté ou erreurs de transport lors de l’écriture
  • Dégradation des supports due à l’âge, à l’utilisation, à l’hygiène du disque ou à un stockage inadéquat

 

Resolution

Télécharger t_reader À partir de là : Outils NetWorker

Extrayez le bundle et utilisez la commande t_reader pour l’architecture de votre hôte.

  • t_reader ne rembobinera pas automatiquement le volume sous UNIX (il le propose sous Windows) - cela vous permet de vous positionner et de commencer à partir de n’importe quel endroit de la bande.
  • Sur la plupart des systèmes d’exploitation t_reader signale les tailles de bloc qu’il trouve à partir de ce point ; Certains nécessitent une taille de bloc pour tenter de les lire.
  • t_reader commence son énumération de fichier et d’enregistrement à 0 - ce qui signifie que si vous deviez avancer jusqu’au fichier 5, enregistrez 500 délibérément, puis exécutez t_reader - t_reader les sorties semblent commencer à F0 R0, bien qu’elles commencent en fait à une adresse beaucoup plus tardive.
  • Sur les systèmes d’exploitation qui peuvent déterminer la taille réelle des blocs, une limitation de la taille des blocs dans le pilote ou le système d’exploitation entraîne une erreur indiquant que la mémoire tampon est trop petite pour contenir les données de bloc, par exemple : cannot allocate memory ou more data is available.
  • t_reader n’a pas besoin de lire les données réelles, mais peut reconnaître et lire les étiquettes NetWorker si elles sont présentes
  • Sous Windows, il peut également lire et rapporter des informations d’en-tête de bloc, le cas échéant ; Il peut également vider les 512 premiers octets de données brutes (voir les variables ci-dessous)
  • Always : les tailles de bloc doivent être cohérentes après la première paire de blocs d’étiquette de 32 Ko et doivent correspondre à la taille de bloc écrite dans l’étiquette renvoyée par le scanneur

UNIX
Pour préparer un volume en le rembobinant d’abord :

mt -f /dev/nst0 rewind

Pour exécuter t_reader, fournissez le descripteur de fichier de l’appareil du système d’exploitation du lecteur avec la cartouche de bande chargée, par exemple :

./t_reader_linux /dev/nst0

La sortie d’un volume NetWorker standard après rembobinage se présente comme suit :

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

Cet exemple illustre un volume sain avec deux blocs de 32 Ko sur les deux premiers fichiers indiquant le libellé, suivis de blocs de 96 Ko ponctués régulièrement par des marques de fichier jusqu’à la fin des données (EOD) rencontrée après le fichier 18.

WINDOWS
Pour Windows, vous devez également fournir la taille du bloc que vous souhaitez lire :

t_reader \\.\tape0 131072

L’effet de ceci est que Windows tente de lire n’importe quelle taille de bloc qui lui est fournie, et ne se plaint pas (bien qu’il soit potentiellement plus grand que la taille de bloc réelle écrite) - bien qu’il y ait une erreur si la taille de bloc fournie comme argument est plus petite que le bloc réel, ou s’il y a une limitation du système d’exploitation ou du pilote qui rend un bloc de cette taille inutilisable.

Étant donné que Windows ne peut pas déterminer et signaler automatiquement la taille de bloc, celle-ci doit être fournie en tant que deuxième argument. Si la taille de bloc est trop importante, il se trompe dans les rapports car il lit simplement plusieurs blocs et les présente comme la taille fournie par l’argument. Si la taille de bloc fournie, par exemple 131072, est inférieure à la taille de bloc réelle , par exemple 262144, vous recevez une erreur :

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

Par conséquent, pour déterminer correctement une taille de bloc inconnue, commencez à 32768 et doublez jusqu’à ce que l’utilitaire réussisse. Toutefois, vous pouvez généralement déterminer la taille de bloc attendue à partir de l’étiquette.

Windows dispose également de deux variables qui peuvent être définies pour un débogage plus approfondi :

set EXPLODE_LEVEL=1

Causes t_reader Pour signaler l’en-tête de bloc pour tous les blocs NetWorker trouvés :

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

Pour provoquer t_reader pour vider les 512 premiers B de chaque bloc, lisez :

set DUMP_BUFFER=1

Attendez-vous à une sortie du type :

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

Cela peut permettre un débogage plus approfondi ou la vérification de volumes non NetWorker, endommagés ou chiffrés, mais c’est évidemment pour des utilisations peu courantes.

 

Additional Information

t_reader est également livré avec un utilitaire d’accompagnement, t_writer.exe. Il s’agit d’un utilitaire Windows uniquement qui remplace les utilitaires UNIX tels que tar et dd et permet d’effectuer des écritures de test sur des bandes avec des tailles de bloc personnalisées. Il nécessite le fichier d’accompagnement, seeding.image, ou tout fichier binaire du même nom.

Pour utiliser l’utilitaire, exécutez-le en utilisant un périphérique chargé en tant que premier argument et la taille de bloc souhaitée en octets dans le second, par exemple :

win_t_writer.exe \\.\Tape2147483639 131072

L’utilitaire s’exécute jusqu’à ce que l’utilisateur interrompe le processus. Elle peut être exécutée successivement sur le même volume avec des tailles de blocs différentes pour simuler des tailles de blocs variantes, ou de manière répétée jusqu’à ce qu’elle tombe en panne si des erreurs d’E/S aléatoires ou des réinitialisations SCSI sont suspectées. Il peut également être utilisé pour démontrer si une condition tronque des tailles de bloc sous la couche d’application.

À titre d’exemple de sortie :

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.