CASTOR — это система иерархического хранения данных, которую разработали в CERN для архивирования физических данных. Она использует одновременно диски и ленты. Файлы можно сохранять, просматривать, забирать и удалённо читать через CLI или API. Основные протоколы доступа — XROOT (главный и рекомендуемый) и GridFTP. RFIO поддерживался до 2016 года.
CASTOR пришёл на смену системе SHIFT, которая работала в 1990-х. А с 29 июня 2020 года его самого начал заменять CTA — новый архив на лентах. График роста данных на лентах в CERN ведётся с 2001 года и включает статистику CASTOR 1 (1998–2007), CASTOR 2 (2005–2022) и CTA (2020 — сейчас).
Архитектура CASTOR — компонентная, с центральной базой данных, которая отслеживает изменения состояния всех модулей. Доступ к дисковым пулам контролирует Stager, структуру каталогов хранит Name Server, а запись и чтение с лент управляется Tape Infrastructure.
Всего пять основных модулей:
- Stager — менеджер дисковых пулов. Выделяет и освобождает место, контролирует доступ клиентов и ведёт локальный каталог дисков.
- Name Server — пространство имён CASTOR (файлы и папки) с метаданными: размер, даты, контрольные суммы, владелец, ACL, информация о копиях на ленте. Команды командной строки похожи на Unix (например, nsls вместо ls).
- Tape Infrastructure — при определённых условиях CASTOR сохраняет файлы на ленту для надёжности и чтобы хранить больше данных, чем помещается на диски. В CERN используются ленточные накопители Oracle StorageTek T10000C (5 TB) и IBM TS1140 (4 TB). Картриджи хранятся в автоматизированных библиотеках: 4 × Oracle SL8500 и 3 × IBM TS3500. Общая ёмкость ленточного архива на январь 2013 — около 100 PB. База данных Volume Manager хранит характеристики каждой ленты, ёмкость и статус. Name Server хранит информацию о файлах (сегментах) на ленте — права доступа, смещение на ленте. Монтированием картриджей в приводы управляет VDQM вместе с библиотечным ПО.
- Client — позволяет пользователям загружать, скачивать, читать и управлять данными.
- Storage Resource Management — обеспечивает доступ к данным в вычислительной Grid через протокол SRM. Взаимодействует с CASTOR от лица пользователя или других сервисов, например FTS (File Transfer System, используется сообществом LHC для экспорта данных).
Хранить данные на ленте гораздо дешевле, чем на жёстких дисках, и ленты не потребляют электричество, пока к ним не обращаются. Но время доступа к ленте дольше — минуты, а не секунды.