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 지원에서도 유용한 문제 해결 툴이 될 수 있는 여러 테이프 기능을 제공합니다. 다음과 같은 용도로 사용할 수 있습니다.

  • 테이프에 기록된 블록의 실제 크기 테스트
  • 테이프에 기록된 블록의 크기에 차이가 있는지 확인
  • I/O 오류 또는 물리적 손상에 대한 물리적 미디어의 판독 테스트
  • 응용 프로그램 계층 아래의 요소(드라이버, OS, 전송, 장치 자체)가 특정 크기의 블록을 읽을 수 있는지 확인합니다.
  • Windows에서 다른 현재 유틸리티로는 불가능한 낮은 수준의 정보를 노출합니다.

 

Cause

테이프 미디어 문제는 다음과 같은 외부 요인에 의해 발생하는 경우가 많습니다.

  • OS/HBA/드라이버 차단 요인 문제
  • 쓰기 중 I/O 하드웨어 또는 전송 오류가 감지되지 않음
  • 사용 기간, 사용, 드라이브 위생 또는 부적절한 보관으로 인한 미디어 성능 저하

 

Resolution

다운로드 t_reader 여기에서: NetWorker 툴

번들을 추출하고 t_reader 호스트의 아키텍처를 위해.

  • t_reader UNIX에서는 볼륨을 자동으로 되감지 않습니다 (Windows에서는 제공됨) - 테이프의 어느 지점에서나 배치하고 시작할 수 있습니다.
  • 대부분의 운영 체제에서 t_reader 이 시점에서 찾은 블록 크기를 보고합니다. 일부는 읽기를 시도하기 위해 블록 크기가 필요합니다.
  • t_reader 0에서 파일 및 레코드의 열거를 시작합니다 - 즉, 파일 5로 스페이스 포워드하려면 의도적으로 500을 기록한 다음 실행하십시오. t_reader - t_reader 출력은 실제로 훨씬 나중에 시작함에도 불구하고 F0 R0에서 시작하는 것처럼 보입니다.
  • 실제 블록 크기를 확인할 수 있는 운영 체제에서는 드라이버 또는 OS의 블록 크기 제한으로 인해 버퍼가 블록 데이터를 보유하기에 너무 작음을 나타내는 다음과 같은 오류가 발생합니다. cannot allocate memory 또는 more data is available를 사용하여 로그인합니다.
  • t_reader 에서는 실제 데이터를 읽을 필요가 없지만 NetWorker 레이블이 있는 경우 이를 인식하고 읽을 수 있습니다.
  • Windows에서는 블록 헤더 정보(사용 가능한 경우)를 읽고 보고할 수도 있습니다. 또한 데이터의 처음 512 원시 바이트를 덤프 할 수 있습니다 (아래 변수 참조)
  • Always - 블록 크기는 32KB 레이블 블록의 첫 번째 쌍 이후에 일관되어야 하며 scanner에서 반환된 레이블에 기록된 블록 크기와 일치해야 합니다.

유닉스
먼저 볼륨을 되감아 준비하려면 다음을 수행합니다.

mt -f /dev/nst0 rewind

실행 t_reader에서 테이프 카트리지가 로드된 드라이브의 OS 디바이스 파일 핸들을 제공합니다. 예를 들면 다음과 같습니다.

./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 블록이 있는 정상 볼륨과 파일 18 이후에 EOD(End of Data)가 나타날 때까지 주기적으로 파일 표시로 구두점이 찍힌 96K 블록을 보여 줍니다.

윈도우
Windows의 경우 읽으려는 블록 크기도 제공해야 합니다.

t_reader \\.\tape0 131072

이것의 효과는 Windows가 제공된 블록 크기를 읽으려고 시도하고 (잠재적으로 기록된 실제 블록 크기보다 클 수 있음에도 불구하고) 불평하지 않는다는 것입니다 - 인수로 제공된 블록 크기가 실제 블록보다 작거나 해당 크기의 블록을 사용할 수 없게 만드는 OS 또는 드라이버 제한이 있는 경우 오류가 발생합니다.

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 읽은 모든 블록의 처음 512B를 덤프하려면 다음을 수행합니다.

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를 사용하여 로그인합니다. 이 유틸리티는 tar 및 dd와 같은 UNIX 유틸리티를 대체하는 Windows 전용 유틸리티이며 사용자 지정 블록 크기의 테이프에 테스트 쓰기를 수행할 수 있습니다. 함께 제공되는 파일, seeding.image 또는 같은 이름의 이진 파일이 필요합니다.

유틸리티를 사용하려면 미디어 로드 디바이스를 첫 번째 인수로 사용하고 원하는 블록 크기(바이트)를 두 번째 인수로 사용하여 유틸리티를 실행합니다. 예를 들면 다음과 같습니다.

win_t_writer.exe \\.\Tape2147483639 131072

이 유틸리티는 사용자가 프로세스를 중단할 때까지 실행됩니다. 블록 크기가 다른 동일한 볼륨에서 연속적으로 실행하여 변형 블록 크기를 시뮬레이션하거나, 랜덤 I/O 오류 또는 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.