Як користуватися утилітою t_reader

Résumé: У цій статті описано використання t_reader та t_writer утиліт на різних операційних системах, а також про те, де їх завантажити.

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes

  • Потрібно визначити фактичний розмір блоків на стрічці
  • Потрібно перевірити структуру міток NetWorker
  • Потрібно перевірити фізичну цілісність носія стрічки
  • Потрібно підтвердити метадані заголовка блоку NetWorker
  • Потрібно скинути перші 512 байт кожного блоку

The t_reader Утиліта призначена для діагностики та усунення несправностей, пов'язаних із стрічковим накопичувачем. Це також підтримка NetWorker, яка забезпечує кілька функцій стрічки, що робить її корисним інструментом для усунення несправностей. Використовуйте його для:

  • Перевірте фактичний розмір блоків, записаних на стрічку
  • Визначте, чи існують варіації розмірів блоків, записаних на стрічку
  • Тестове зчитування фізичних носіїв на помилки введення/виведення або фізичні пошкодження
  • Визначте, чи можуть елементи під рівнем додатку (драйвер, ОС, транспорт, сам пристрій) читати блоки певного розміру
  • Відкривати низькорівневу інформацію у Windows, неможливу за допомогою будь-якої іншої поточної утиліти

 

Cause

Проблеми з стрічковим носієм часто спричинені зовнішніми факторами, такими як:

  • Проблеми з факторами блокування ОС/HBA/драйвера
  • Невиявлені апаратні помилки вводу/виводу або транспортні помилки під час запису
  • Псування середовища через вік, використання, гігієну приводу або неправильне зберігання

 

Résolution

Завантажити t_reader Звідси: NetWorker Tools (Потрібен вхід у обліковий запис підтримки Dell).

Витягніть пучок і використайте t_reader для архітектури вашого господаря.

  • t_reader не перемотує гучність автоматично в UNIX (у Windows це пропонується) — це дозволяє позиціонувати і починати з будь-якої точки на стрічці.
  • На більшості операційних систем t_reader повідомляє про розміри блоків, які вона знаходить, з цієї точки; Деякі вимагають розміру блоку, щоб спробувати читати.
  • t_reader починає перераховувати файл і запис на 0 — тобто якщо ви перемістите проміжок вперед до файлу 5, навмисно запишіть 500 і потім запустите t_reader - t_reader виходи, здається, починаються з F0 R0, хоча насправді починаються з набагато пізнішої адреси.
  • В операційних системах, які можуть визначати фактичний розмір блоку, обмеження розміру блоку в драйвері або ОС призводить до помилки, що вказує на те, що буфер занадто малий для зберігання даних блоку, наприклад cannot allocate memory або more data is available.
  • t_reader не потрібно читати реальні дані, але може розпізнавати та читати мітки NetWorker, якщо вони присутні
  • У Windows він також може читати та повідомляти інформацію про заголовки блоків, якщо доступна; Він також може скидати перші 512 сирих байтів даних (див. змінні нижче)
  • Завжди — розміри блоків мають бути послідовними після першої пари блоків 32 КБ і відповідати розміру блоку, записаному на мітці, отриманому сканером

UNIX
Щоб підготувати том, спочатку перемотуючи його назад:

mt -f /dev/nst0 rewind

Бігти t_reader, надати файловому об'язку пристрою ОС з завантаженим картриджем стрічки, наприклад:

./t_reader_linux /dev/nst0

Вихід стандартного обсягу NetWorker після перемотування виглядає так:

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

Цей приклад демонструє здоровий том із двома блоками по 32K на перших двох файлах, що вказують на мітку, а потім блоками 96K, періодично підкресленими файловими мітками до End of Data (EOD), що виникає після файлу 18.

ВІКНА
Для Windows також потрібно вказати розмір блоку, який хочете прочитати:

t_reader \\.\tape0 131072

Наслідок цього Windows намагається прочитати будь-який розмір блоку, який їй надають, і не скаржитися (незважаючи на те, що він потенційно більший за фактичний розмір записаного блоку) — хоча виникне помилка, якщо розмір блоку, наведений як аргумент, менший за фактичний блок, або існує обмеження ОС чи драйвера, яке робить блок такого розміру непридатним для використання.

Оскільки Windows не може автоматично визначати та повідомляти розмір блоку, він має бути вказаний як другий аргумент. Якщо розмір блоку занадто великий, він помилково повідомляє, оскільки просто читає кілька блоків і подає їх як розмір, наданий аргументом. Якщо наданий розмір блоку, наприклад 131072, менший за фактичний розмір блоку, наприклад 262144, ви отримуєте помилку:

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

Щоб правильно визначити невідомий розмір блоку, починайте з 32768 і подвоюйте, поки утиліта не досягне успіху. Однак зазвичай можна визначити очікуваний розмір блоку за етикеткою.

Windows також має дві змінні, які можна встановити для глибшого налагодження:

set EXPLODE_LEVEL=1

Причини t_reader щоб повідомити заголовок блоку для будь-яких знайдених блоків 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

Спричинити t_reader щоб скинути перші 512 B кожного блоку, було так:

set DUMP_BUFFER=1

Очікуйте такі результати, як:

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

Це може дозволити глибше налагоджувати або довести не-NetWorker, пошкоджені або зашифровані томи, але це очевидно для рідкісних випадків.

 

Informations supplémentaires

t_reader Також у комплекті є супутня утиліта, t_writer.exe. Це утиліта лише для Windows, яка замінює UNIX-утиліти, такі як tar і dd, і дозволяє виконувати тестові записи на стрічки з власними розмірами блоків. Потрібен супровідний файл, seeding.image або будь-який бінарний файл з такою ж назвою.

Щоб скористатися утилітою, запустіть її з використанням пристрою з завантаженням медіа як першого аргументу та потрібного розміру блоку в байтах як другого, наприклад:

win_t_writer.exe \\.\Tape2147483639 131072

Утиліта працює, доки користувач не перерве процес. Він може запускатися послідовно на тому ж об'ємі з різними розмірами блоків для імітації варіантних розмірів блоків, або багаторазово до відмови, якщо підозрюються випадкові помилки введення/виведення або скидання SCSI. Він також може використовуватися для демонстрації, чи є умова обрізання розмірів блоків нижче рівня застосування.

Як приклад результату:

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

 

Produits concernés

NetWorker
Propriétés de l’article
Numéro d’article: 000094976
Type d’article: Solution
Dernière modification: 30 mars 2026
Version:  4
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.