6.2 LTO 테이프와 LTFS - 순차 접근 매체를 파일 시스템처럼
LTO 세대별 용량, 순차 접근 매체의 특성, 일반 파일 시스템이 테이프에 맞지 않는 이유, LTFS의 두 파티션(Index/Data)과 XML 인덱스 구조, 운영 시 주의점을 설명합니다.
#LTO 테이프
LTO(Linear Tape-Open) 는 데이터 보관용 자기 테이프 규격입니다. 비디오 촬영용 테이프(VTR 테이프)와는 전혀 다른, IT 데이터용 카트리지입니다. 방송 아카이브에서 가장 널리 쓰이는 이유는 대용량, 낮은 단가(TB당), 낮은 보관 전력, 오프라인 보관 가능(전원을 연결하지 않아도 안전)이라는 점입니다.
세대가 올라갈 때마다 용량이 커집니다. 아래 값은 압축을 쓰지 않은 네이티브 용량입니다.
| 세대 | 네이티브 용량 | 비고 |
|---|---|---|
| LTO-5 | 1.5 TB | LTFS 지원 시작 |
| LTO-6 | 2.5 TB | |
| LTO-7 | 6 TB | |
| LTO-8 | 12 TB | |
| LTO-9 | 18 TB |
영상은 이미 압축되어 있어서 테이프 드라이브의 압축 기능으로 추가 이득을 얻기 어렵습니다. 용량을 계산할 때는 네이티브 용량을 기준으로 하세요. 또한 LTO는 세대 간 호환 범위가 제한적입니다(일반적으로 드라이브는 자신보다 한두 세대 이전의 테이프까지 읽을 수 있음). 오래 보관할 계획이라면 미디어를 읽을 드라이브가 앞으로도 있을지를 계획에 넣어야 하고, 보통 몇 세대마다 데이터를 새 세대로 이관(마이그레이션) 합니다.
#순차 접근 매체의 특성
테이프는 디스크와 접근 방식이 근본적으로 다릅니다.
| 구분 | 디스크 | 테이프 |
|---|---|---|
| 접근 방식 | 임의 접근 | 순차 접근(테이프를 감아서 위치 이동) |
| 첫 바이트까지의 시간 | ms 단위 | 수십 초~수 분(로드 + 위치 찾기) |
| 연속 읽기/쓰기 속도 | 빠름 | 매우 빠름(수백 MB/s) |
| 작은 파일 많이 접근 | 가능 | 매우 비효율 |
핵심은 이것입니다. 테이프는 연속적으로 많이 쓰고 많이 읽는 데는 강하지만, 이리저리 조금씩 읽는 데는 약합니다. 방송 영상 파일은 크고 연속적이어서 테이프에 잘 맞습니다.
#왜 일반 파일 시스템을 쓸 수 없는가
일반 파일 시스템(NTFS, ext4 등)은 디스크의 임의 접근을 전제로 설계되었습니다. 폴더를 열 때마다 메타데이터 구조(디렉터리, 파일 테이블)를 여기저기 읽어야 하는데, 이를 테이프에 적용하면 구조를 읽는 동안 테이프를 앞뒤로 계속 감아야 합니다. 폴더 하나를 열고 파일 목록을 확인하는 데도 분 단위가 걸려서 사실상 쓸 수 없습니다.
#LTFS
LTFS(Linear Tape File System) 는 테이프를 디스크나 USB 드라이브처럼 보이게 해 주는 파일 시스템 규격입니다. 사용자는 폴더를 열고 파일을 복사·드래그할 수 있고, 테이프에 저장된 형식은 자기 설명형(self-describing) 이라 LTFS 소프트웨어가 있는 어느 시스템에서나 읽을 수 있습니다. IBM이 개발한 형식을 기반으로 LTO 컨소시엄이 2010년 채택했고, LTO-5부터 사용할 수 있습니다(LTO-4까지는 필요한 2파티션 기능이 없습니다).
#두 개의 파티션
LTFS의 핵심 아이디어는 테이프를 두 영역(파티션) 으로 나누는 것입니다.
| 파티션 | 역할 |
|---|---|
| Index Partition | 파일 목록과 위치 정보(인덱스)를 저장 |
| Data Partition | 실제 파일 데이터를 저장 |
테이프를 로드하면 인덱스를 읽어 메모리에 올려 두고, 이후 폴더 탐색은 메모리에서 처리합니다. 테이프를 감을 필요가 없습니다. 파일을 쓰거나 테이프를 꺼내기 전에 변경된 인덱스를 테이프에 다시 기록합니다. 그래서 일반 파일 시스템의 "메타데이터를 계속 읽어야 하는" 문제를 피할 수 있습니다.
#XML 인덱스와 확장 속성
LTFS 규격(v2.3.1 기술 문서)에서 확인한 구성은 다음과 같습니다.
- 테이프의 레이블(Label)과 인덱스(Index)가 모두 XML 스키마로 정의되어 있습니다(규격 부록 A: LTFS Label XML Schema, 부록 B: LTFS Index XML Schema). 사람이 읽을 수 있는 형식이라 LTFS 소프트웨어가 없어도 데이터 구조를 이해할 수 있습니다.
- 인덱스에는 세대 번호(Generation Number) 가 있어 인덱스가 갱신될 때마다 증가하며, 여러 시점의 인덱스 중 최신을 판별합니다.
- 파일에 부가 정보를 붙이는 확장 속성(extended attributes) 이
ltfs.*네임스페이스로 정의되어 있고(부록 C), 벤더가 자체 속성을 추가할 수 있는ltfs.vendor.X.Y영역도 있습니다. - 알 수 없는 XML 태그는 마운트할 때 무시해도 되지만, 인덱스를 새로 쓸 때는 그대로 보존해야 한다는 규칙이 있어 규격 버전이 달라도 호환됩니다.
#쓰는 방식의 제약
- 한 번 쓰면 덮어쓰지 못합니다. 파일을 삭제해도 테이프의 공간은 회수되지 않고(인덱스에서만 사라짐), 수정은 새 데이터를 이어서 쓰는 방식입니다. 그래서 LTFS는 한 번 쓰고 오래 읽는 아카이브에 적합합니다.
- 인덱스 기록 전에 전원이 꺼지거나 테이프를 꺼내면 마지막에 쓴 파일이 보이지 않을 수 있습니다. 쓰기를 마치면 반드시 정상적으로 언마운트(인덱스 기록)해야 합니다.
- 한 테이프에 폴더·파일을 많이 쓰면 인덱스가 커지고 마운트 시간이 늘어납니다. 큰 파일 위주로 보관하는 것이 좋습니다.
#운영 시 고려사항
| 항목 | 내용 |
|---|---|
| 테이프 라벨·바코드 | 테이프 식별과 보관 위치 관리. MAM DB에 소재 ↔ 테이프 ID 매핑을 기록 |
| 복본 | 서로 다른 테이프 2개 이상, 가능하면 다른 장소 |
| 검증 | 기록 후 읽어서 체크섬 확인(다음 글들), 주기적 재검증 |
| 환경 | 온도·습도 관리, 정기적인 테이프 상태 확인 |
| 세대 이관 | 드라이브 호환 범위를 벗어나기 전에 새 세대로 복사 |
| 암호화 | 테이프 암호화 사용 시 키 관리가 곧 데이터 접근성. 키를 잃으면 데이터도 잃음 |
| 목록 관리 | 테이프에 쓴 파일 목록을 MAM DB에도 보관(테이프를 로드하지 않고도 검색) |
#정리
- LTO는 대용량·저비용·오프라인 보관에 강한 순차 접근 매체입니다.
- LTFS는 Index/Data 두 파티션과 XML 인덱스로 테이프를 파일 시스템처럼 쓰게 하며, LTO-5부터 사용 가능합니다.
- 한 번 쓰고 오래 읽는 용도에 맞고, 복본·검증·세대 이관·키 관리까지 운영 계획에 포함해야 합니다.