@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
드라이버 문서에 있습니다.