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

Summary: У цій статті розповідається про використання t_reader і t_writer утиліт на різних операційних системах, і де її скачати.

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

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

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

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

 

Cause

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

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

 

Resolution

Завантажити t_reader Звідси: Інструменти NetWorker

Розпакуйте пакет і використовуйте 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

Цей приклад демонструє здоровий обсяг із двома блоками по 32 Кбайт на перших двох файлах, що вказують на мітку, а потім 96 Кбайт блоків, періодично розділених позначками файлів до кінця даних (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, пошкоджені або зашифровані томи, але, очевидно, це стосується рідкісних випадків.

 

Additional Information

t_reader також поставляється в комплекті з утилітою-компаньйоном, t_writer.exe. Це утиліта лише для Windows, яка замінює утиліти UNIX, такі як tar і dd, і дозволяє виконувати тестові записи на стрічки з користувацькими розмірами блоків. Для цього потрібен супровідний файл, seding.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...

 

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.