Коротко. Холодный класс ActiveScale хранит объекты на ленте и совместим с S3 Glacier: запись идёт автоматически по политике, чтение требует restore. Планировать надо не только «сколько петабайт влезет», но и число кассет, наличие свободных под ротацию, достижимость safety и сколько времени займёт массовый возврат данных. Лента — не бэкап: удаление и lifecycle работают и там.
1. Что даёт холодный класс
| Параметр | Значение (по данным Quantum) |
|---|---|
| Совместимость | S3 Glacier-класс в том же namespace, что и активный |
| Защита | 2D erasure coding, а не репликация/две копии |
| Overhead | от 15% |
| Эффективность | до 40% эффективнее репликации или двух копий |
| Массив | RAIL — Redundant Array of Independent Libraries |
| Патент | US11216196 |
| Стоимость | вендор заявляет снижение стоимости холодного хранения до 80% |
Ключевое: классы живут в одном namespace. Приложение пишет объект с классом GLACIER (или его
переводит lifecycle по возрасту) и дальше не думает, где объект лежит физически.
2. Что планируется помимо объёма
Пять чисел, без которых проект «архив на ленте» разваливается на эксплуатации:
- Объём архива и скорость роста — сколько уходит в холодный класс в месяц.
- Число кассет — с учётом ёмкости поколения LTO и того, что кассета — единица ротации, а не «файл».
- Свободные кассеты под staging и ротацию. Без запаса свободных кассет
safetyпадает в ноль, и архивация встаёт — см. TAPE SAFETY = 0. - Число приводов — определяет параллелизм записи и чтения, а значит и время.
- Бюджет restore — сколько данных может понадобиться вернуть одновременно и за какое время.
Пункт 5 чаще всего забывают. Архив, который «дешевле», но возвращается неделю, в аварии оказывается дороже активного хранения.
3. Кассеты: что важно знать до закупки
- Штрихкод — идентификатор кассеты в системе. Продукт нормализует его, отрезая LTO-суффикс, а реестр кассет может хранить штрихкод как есть. Из-за этого «кассета есть, а система её не видит» — см. «Пропавшие» кассеты.
- Кассета не бесконечна. В 7.3 появилось Tape Space Reclamation — повторное использование ёмкости кассет после удаления объектов, работает ретроспективно и автоматически. До этого ёмкость кассеты с удалёнными объектами считалась занятой.
- Поколения LTO не смешиваются в одной партиции произвольно: 7.3 поддерживает LTO-10, и разные поколения можно держать в разных партициях библиотек.
- Маркировка. Формат штрихкода выбирается один раз и дальше соблюдается на всех кассетах; «кто как наклеил» — это не про аккуратность, а про работоспособность реестра.
4. Лента и S3: где границы
Что делает система:
- ставит объект в очередь на архивацию;
- собирает объект в том, проходит staging, получает маркер архивации;
- оркестратор выдаёт запрос библиотеке; привод пишет на кассету;
- объект остаётся доступным «логически», но чтение требует
restore.
Что важно понимать:
restoreвозвращает объект в активный/staging-слой — только после этого его можно читать как обычный. С 7.1 поддержан ranged restore (часть объекта), с 7.2 restore стал заметно быстрее (вендор заявляет до 5×), в 7.3 — ещё быстрее из warm-staging.- Cold Storage QoS (7.3) позволяет резервировать приводы под archive и restore — настраивается через поддержку. Это ответ на ситуацию «массовый restore съел все приводы, архивация встала».
- MPF (Multi-Path Failover) — альтернатива APF для control-path между Tape Connector и Scalar; новые установки по умолчанию на MPF. При проектировании надо знать, какой путь у вас.
- Лента — не бэкап. Object Lock и версионирование настраиваются отдельно, а ошибка приложения («удалили не то») придёт и в архив.
5. Как считать
Простой расчёт, который стоит делать до закупки:
нужно кассет = ceil(объём архива × (1 + overhead) / ёмкость кассеты) + резерв на ротацию
overhead— от 15% (2D erasure coding);- резерв на ротацию — минимум 10–20% сверху, чтобы было куда писать при переполнении группы;
- отдельно считаются кассеты под staging, если профиль нагрузки предполагает частые записи.
Дальше проверяется, что:
- Число приводов даёт приемлемое время архивации месячного объёма.
- Время массового restore укладывается в целевое окно (RTO), а не «когда-нибудь».
safetyв группах достижима при текущем числе кассет — иначе система честно скажет «не могу обеспечить защиту».- Есть регламент ротации: какая кассета когда выводится, кто проверяет, что данные на ней читаются.
6. Частые ошибки
- Считать только ёмкость. Без приводов и свободных кассет архив не работает.
- Не планировать restore. Проверяют только запись — а авария всегда про чтение.
- Забыть про Lifecycle. Объекты копятся в активном классе, если политика перехода не задана.
- Игнорировать reclamation. На версиях до 7.3 ёмкость кассет с удалёнными объектами считалась занятой.
- Смешивать поколения LTO в одной партиции без понимания последствий.
- Планировать «на глаз» по числу кассет в шкафу — вместо расчёта по объёму и профилю.
7. Источники
- Cold Storage Tech Brief (доступ 2026-11-07)
- ActiveScale Datasheet DS00546A (доступ 2026-11-07)
- ActiveScale Z200 Datasheet (доступ 2026-11-07)
- Release Notes 7.3 (доступ 2026-11-07)
- Наша практика: обслуживание реестра кассет, разбор
safety = 0и «пропавших» кассет на стендах с холодным классом. - Обновлено: 2026-11-07.