LTO 테이프의 남은 용량 확인


15

LTO 테이프에 남은 공간을 어떻게 확인할 수 있습니까?

끝까지 찾고 상태를 확인하면 파일 번호 17에 있음을 알 수 있지만 알 수없는 것은 각 파일의 크기입니다.

$ mt -f /dev/nst1 eod
$ mt -f /dev/nst1 status
SCSI 2 tape drive:
File number=17, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x44 (LTO-3).
Soft error count since last status=0
General status bits on (81010000):
 EOF ONLINE IM_REP_EN

전체 스트립을 읽지 못하면 테이프의 사용 된 / 사용 가능한 용량을 어떻게 확인할 수 있습니까?


1
모든 데이터를 읽는 것이 남은 용량을 결정하는 데 큰 도움이되지는 않습니다. 용량은 테이프 헤드의 마모와 테이프 품질에 따라 다릅니다. 모든 데이터를 읽으면 실제로 읽은 바이트 수를 계산하는 대신 읽는 데 걸리는 시간을 측정하여 더 나은 추정치를 얻을 수 있습니다.
kasperd

1
그리고 ... 압축 가짜 용량 문제있다
Overmind

@Overmind Compression은 선택 사항이지만, 켜져 있으면 테이프에서 읽은 바이트 수를 세는 것만으로도 덜 유용한 결과를 얻을 수 있습니다. 이 경우에도 제 충고는 여전히 유효합니다. 전체 테이프를 읽고 소요 된 시간을 측정하면 사용 된 테이프 용량을 합리적으로 추정 할 수 있습니다. 가짜 용량의 의미가 무엇인지 모르겠습니다.
kasperd

테이프의 실제 제조업체에서 선언 한 실제 용량은 가짜 (일반적으로 실제 용량의 두 배)입니다. 그들은 특정 용량 (즉, 2 : 1 압축비에서 1.6TB, 이는 실제로 테이프가 0.8TB임을 의미)을 말합니다. 내 데이터를 2 : 1 압축 비율로 아카이브했기 때문에 10TB WD 골드 HDD가 20TB라고 말하는 것과 같습니다.
Overmind

답변:


3

HP 호환 * 드라이브 (Tandberg Data HH LTO 4 드라이브 참조)가있는 경우 SCSI 로그에서 압축률, 읽기 / 쓰기와 같은 다른 많은 재미있는 tidbit와 함께 남은 테이프 용량을 찾을 수 있습니다. 고장, 드라이브 / 테이프 이력 등

sg_logs -a /dev/nst1

이 유틸리티는 일반적으로 sg3-utils또는 이라는 이름의 배포 패키지로 제공됩니다 sg3_utils.

다음과 같은 줄을 찾고 있습니다.

  • Main partition remaining capacity (in MiB)
  • Megabytes written to tape (압축되지 않은 용량에서 빼기)
  • Data bytes written to media by WRITE commands (압축되지 않은 용량에서 빼기)

실패하면 공급 업체별 도구를 사용해 볼 수 있습니다. 예를 들어 HP에는 모든 HP 호환 * 드라이브에서 작동하는 HPE Library & Tape Tools가 있습니다. 메뉴에 묻혀있는 드라이브에 대한 보고서를 만들고 볼 수있는 기능을 찾을 수 있습니다 sg_logs.


그리고 모든 것을 실패하면 테이프가 끝날 때까지 압축 할 수없는 데이터를 작성하고 남아있는 것을 계산하기 위해 작성된 블록에서 수학을 수행 할 수 있습니다 (이것은 약간 불쾌합니다).

dd if=/dev/urandom of=/dev/nst1 bs=1M status=progress iflag=fullblock

또는

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | dd of=/dev/nst1 bs=1M status=progress iflag=fullblock


* 내가 아는 한 IBM과 Dell을 제외한 모든 드라이브는 동일한 OEM에서 제공되며 HP / HPE 도구와 호환됩니다.

내가 사용했습니다 nst1즉 원래의 질문에 장치 업데이트가 필요한 경우와 같이이 답변을 통해.


0

우선, 이것은 쉽지 않을 것입니다.

테이프 카트리지에는 다양한 정보를 제공하는 칩이 있습니다. 이 칩을 MAM (미디어 보조 메모리)이라고합니다. 테이프를로드하는 동안 테이프 드라이브에서 SCSI 명령 "READ ATTRIBUTE"를 사용하여 정보를 읽을 수 있습니다. 속성 중 하나는 "남은 용량의 파티션"입니다. 여기에는 현재 테이프 파티션에 쓸 수있는 바이트 수가 포함됩니다. 테이프 파티션이란 무엇입니까? 최신 버전의 LTO (LTO 5 이상) 테이프를 분할 할 수 있습니다 (LTFS는 2 개의 분할을 사용합니다).

테이프가 파티션 된 경우, 각 파티션에는 사용 가능한 공간이 있으며 각 파티션에 여유 공간 정보를 얻으려면 모든 파티션을 반복해야합니다.

MAM에 대한 자세한 내용을 보려면 이를 자세히 설명하는 IBM LTO-8 SCSI Reference참조 하십시오 (355 페이지에서 시작하는 6.5 절에 흥미로운 내용이 포함되어 있음). 이를 구현하는 방법에 대한 시작점이 필요한 경우 maminfo 또는 sg3_utils issue tracker에서이 문제를 살펴보십시오 .

테이프에 쓴 직후이 정보가 업데이트되는지 확실하지 않습니다. 마운트 해제시에만 업데이트되어 정확한 정보 검색이 더욱 어려워 질 수 있습니다. 또한 테이프를 덮어 쓸 때 이것이 어떻게 작동하는지 잘 모르겠습니다. 당신은 아마 이것을 스스로 알아 내야 할 것입니다.


-1

확실하지는 않지만 IBM의 소프트웨어 ITDT를 사용하도록 제안 할 수 있습니다. 테이프 라이브러리 및 lto 테이프에서 할 수있는 많은 기능이 있습니다. 어쩌면 해당 소프트웨어를 둘러 볼 수 있습니다. 검색 및 디스플레이 카트리지와 같은 기능이 있습니다. 사용법 및 건강 정보.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.