LTO 테이프에 여분 / 미사용 용량이 있습니까?


13

알다시피, LTO 테이프는 "랩"으로 데이터를 기록합니다. 첫 번째 랩은 테이프를 드라이브로 스풀링하고 두 번째 랩은이를 카트리지로 스풀링합니다. 이 과정은 여러 번 반복되며, 테이프 끝에 도달하면 모든 테이프가 카트리지에 다시 들어가고 되감기없이 배출 할 수 있다는 아이디어가 있습니다.

그러나 테이프의 끝 부분에 도달하면 드라이브가 최종 포장을 반쯤 마치는 것처럼 들리므로 드라이브는 테이프를 꺼내기 전에 테이프를 되 감는 데 시간이 걸린다는 사실을 알았습니다. 테이프의 끝에 도달했습니다.

테이프에 예약 된 용량이 있기 때문에 실패한 블록을 다시 쓰거나 총 용량을 줄이지 않고 테이프의 불량 섹션을 건너 뛸 수 있습니까? 아니면 테이프의 조기 마감에 대한 다른 이유가 있습니까?

답변:


13

새 드라이브이고 테이프의 품질이 좋은 경우 공식 용량보다 많은 바이트를 테이프에 쓸 수 있습니다. 어떤 의미에서는 여분의 용량을 호출 할 수 있지만 사용되지는 않습니다.

드라이브 헤드가 마모되면 용량이 줄어 듭니다. 품질이 좋지 않은 테이프와 함께 사용하면 용량이 더 줄어들 수 있습니다.

용량은 용량이 다양하므로 백업 응용 프로그램에 용량이 부족하다는 신호를 보내는 방법이 필요합니다. 테이프 끝에 도달하여 준비되지 않은 경우 백업 응용 프로그램에 문제가 될 수 있습니다. 남은 공간을 사용하여 수행중인 작업을 마무리 할 수 ​​있도록 사전 경고가있는 응용 프로그램에 더 좋습니다.

OS가 Linux 인 경우 API는 테이프의 마지막 부분에 도달 write하면 다른 모든 시스템 호출에 실패 ENOSPC합니다. 백업 응용 프로그램이이 기능에 대해 알지 못하면 첫 번째 기능 ENOSPC은 끝으로 간주 되며 테이프에 사용되지 않은 공간이 남아 있습니다.

다른 OS에서도 비슷한 일이 발생할 수 있다고 상상할 수 있습니다.


2

@kasperd 덕분에 추가 조사를 수행했으며 실제로 문제가되었습니다. 이 기능을 EWEOM (Early Warning End Of Media)이라고하며 테이프 제조업체가 테이프에 놓은 마커를 나타내므로 스풀 된 테이프 양을 추적하는 드라이브가 아닙니다.

mbuffer테이프에 쓰는 데 사용 하는 프로그램에 대한 패치 를 작성했으며 테이프 끝에 도달했을 때 ENOSPC번갈아 가면서 오류가 발생 write()하지만 더 많은 데이터를 계속 쓸 수 있습니다. 필자의 경우 압축 할 수없는 데이터의 압축에 따라 8 ~ 19GiB의 훨씬 더 많은 데이터가 있습니다.

흥미롭게도 EWEOM 마커에 도달하면 테이프 쓰기 속도가 크게 떨어집니다. 거의 80MB / sec에서 약 47MB / sec로 절반으로 줄어 듭니다. 이 시점 이전에 드라이브가 몇 시간 동안 80MB / 초를 유지했기 때문에 데이터 문제가 아닌 것 같습니다. 드라이브 모터가 느린 속도로 작동하는 것을들을 수 있으며 전체 테이프에 걸쳐 다시 쓰기를하면이 섹션이 다시 쓰여지더라도 속도가 증가하지 않습니다. 아주 새로운 테이프.)

테이프에 EWEOM 마커가 나타나는시기에 대한 설명서를 찾을 수 없으므로 표준화되었는지 확실하지 않습니다. 내가 찾을 수있는 것은 테이프 공간의 5 %로 증가한 LTO-6 / 7 드라이브에 대한 모호한 참조 일뿐입니다. 테이프의 빠른 쓰기 속도로 인해 큰 버퍼를 플러시 할 수 있습니다.

Linux API가 진행되는 한 관련 행은 st.c SCSI 테이프 드라이버 소스 코드 에 있으며이 동작에 대한 설명은 st드라이버 문서에 있습니다.


물리적 끝에 도달하기 전에 테이프가 완전히 멈출 수 있도록 끝에 접근 할 때 테이프 속도가 느려집니다.
— Zac67

1
나는 그것이 LTO 테이프의 경우라고 생각하지 않는다. EWEOM 표시 후 드라이브가 몇 분 동안 느려집니다. 따라서 드라이브는 속도를 늦출 필요없이 테이프의 물리적 시작 / 끝에 가까워 졌음을 확실히 알고 있습니다. 감속 된 다른 원인이 있어야합니다.
— Malvineous

나는 테이프 끝 부분이 스트레스로 인해 보호되어야한다고 생각하지만 순수한 추측입니다.
— Zac67

1
드라이브가 읽거나 쓰는 동안이 아니라로드 / 배출 작업 중에 만 한계가 있습니다. 테이프의 스풀링 및 풀링은 전체 처음부터 끝까지의 읽기 또는 쓰기 작업 중에 여러 번 수행되므로 테이프의 "끝"에서의 최종 쓰기는 전체 작업에서 발생한 많은 리버스 랩과 다르지 않습니다.
— Malvineous

2
@ Zac67 끝까지 도달하기 전에 드라이브 속도가 느려지는 기계적 이유가있는 경우 마지막 포장뿐만 아니라 모든 포장에서 발생할 것으로 예상됩니다.
— kasperd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.