ActiveScaleвнедрение и сопровождение

Функционал ActiveScale: что система умеет на практике

Коротко. ActiveScale — не «ещё один S3». У него есть два класса хранения в одном namespace, erasure coding с высокой durability, раскладка без rebalance, самовосстановление, сильная консистентность, география, IAM, версионирование, Object Lock, lifecycle, квоты, репликация, NFS и мониторинг. Ниже — что каждый блок даёт на практике и где у него границы.


1. Защита данных

1.1 Erasure coding

Данные режутся на фрагменты и дополняются чётностью; фрагменты распределяются по дискам, нодам и (при 3GEO) площадкам. Потеря диска/ноды не останавливает доступ: недостающее восстанавливается из чётности.

  • Для активного класса — конфигурируемая политика (spread/safety).
  • Для холодного — 2D erasure coding: чётность внутри и между кассетами, приводами, библиотеками и площадками.
  • Вендор заявляет до 19 девяток durability для обоих классов.

Практика: политика должна влезать в число блоксторов (w+s ≤ N). Иначе запись встанет с 507, хотя диски свободны. Это не «баг», а математика раскладки.

1.2 Dynamic Data Placement (DDP)

Раскладка по доступным ресурсам по политике. При добавлении нод не требует «перебалансировки всего»: новые данные учитывают новую ёмкость, старые не переписываются.

Практика: расширение становится предсказуемым, но политику всё равно надо пересчитывать под итоговое число блоксторов.

1.3 Dynamic Data Repair (DDR)

Фоновая проверка целостности и починка повреждённых фрагментов — без ожидания замены диска.

Практика: замена диска — рутина; но «зелёный» статус не отменяет проверку SMART и событий.


2. Консистентность и география

  • Strong consistency — после успешной записи данные видны всем нодам.
  • Один сайт — стандарт.
  • Два сайта — репликация бакетов (включая Object Lock и холодный класс).
  • Три сайта (3GEO) — DDP с защитой от отказа площадки.

Практика: география — это не «бэкап». Репликация защищает от отказа площадки, но не от логической ошибки/удаления; для этого нужны версионирование, Object Lock и отдельная копия.


3. S3 API и классы

  • S3-совместимый REST API; S3 Standard и S3 Glacier-совместимый холодный класс.
  • Основные операции: PUT/GET/HEAD/DELETE, multipart, листинг, копирование, presigned URL.
  • Checksums: MD5; с 7.3 — CRC32, CRC32C, SHA-1, SHA-256 через x-amz-checksum-*.
  • Lifecycle-политики: переход в холодный класс, expiration.
  • Версионирование бакета.
  • Object Lock (WORM) — защита от удаления/изменения.
  • Bucket replication — в другой кластер/площадку.
  • Квоты аккаунтов (hard/soft) — на бакеты и NFS-тома.

Практика: S3-совместимость не означает «любой AWS-клиент заработает без проверки». Проверяйте подпись (SigV4), кодирование не-ASCII ключей, query-параметры, стиль адресации (path-style vs virtual-hosted).


4. IAM и доступ

  • Аккаунты, пользователи, группы, политики.
  • Resource policy на бакет — без неё клиент получает AccessDenied даже с валидными ключами.
  • IAM conditions и переменные (с 7.1) — ограничения по IP, времени, классу, Object Lock.
  • S3-домен и IAM-домен настраиваются отдельно; IAM по IP-адресу не работает — нужен FQDN.
  • MFA (TOTP) для администраторов (с 7.2).

Практика: «ключи есть, а доступа нет» — почти всегда отсутствие resource policy, а не неверный секрет.


5. Безопасность

  • Шифрование in flight: TLS (AES-256).
  • Шифрование at rest: AES-256.
  • FIPS 140-2 — опционально (уточнять у вендора).
  • Сертификаты S3 и GUI — через модель (ConfigRule haproxy_ssl / samurai_ssl), не правкой файла.
  • Аудит действий, журналы, события.

Практика: самоподписанный сертификат без SAN ломает S3-клиентов — они проверяют имя хоста. Нужен сертификат с SAN (apex + wildcard), установленный через GUI/модель.


6. Файловый доступ

  • NFS v3 — файловые тома для приложений без S3.
  • Не основной сценарий; на scaled-out нодах есть ограничения (уточнять в документации версии).

7. Управление и мониторинг

Интерфейс Для чего
ActiveScale SM (GUI samurai) обзор, ресурсы, события, задачи, настройки, обновления
CLI (sherpa / ascli) DSS, S3, IAM, диагностика, автоматизация
REST API (Model API) управление моделью, задачи, автоматизация
ActiveScale View управление бакетами/ключами со стороны S3-аккаунта
Prometheus / Grafana метрики, дашборды, алерты
CBA (Cloud-Based Analytics) удалённая аналитика и диагностика (по желанию)

Практика: GUI показывает состояние, но не всё. Латентность модели, содержимое services.cfg, остатки процессов и реальные порты проверяются руками/CLI — см. базу знаний.


8. Обновления и расширение

  • Rolling-апгрейды без остановки доступа (по документации вендора).
  • Расширение нодами и полками; политика пересчитывается.
  • 7.3: Migration and Decommission (Disk Only) — вывод старого железа с переносом данных.
  • Даунгрейд после апгрейда — нет; перед апгрейдом — health check и снятие обходов.

Практика: апгрейд — отдельный проект с окном, бэкапом конфигурации и проверкой после.


9. Границы и честные оговорки

  • Часть функций (QoS ленты, миграция) запускается через поддержку вендора.
  • Полного публичного списка known issues нет — сверяйтесь с release notes и поддержкой.
  • «19 девяток» — расчётная durability, а не гарантия при любых сценариях.
  • Поведение S3-клиентов зависит от их реализации; проверять на своём стеке.

10. Источники


Частые вопросы

Что здесь главное, если сравнивать с обычным хранилищем? Три вещи: erasure coding вместо RAID внутри полки, отдельный слой метаданных на NVMe и два класса хранения в одном пространстве имён. Плюс Dynamic Data Placement — раскладка без обязательного rebalance при расширении, и Dynamic Data Repair — фоновый контроль целостности с восстановлением без ожидания замены диска. Именно эти четыре механизма дают то, что обычно называют «durability и масштаб».

S3 у вас настоящий? Любой клиент заработает? API S3-совместимый: бакеты, объекты, multipart, версионирование, Object Lock, lifecycle, квоты, репликация, IAM. Но «совместимый» не значит «любой AWS-клиент без проверки»: подпись SigV4, стиль адресации (path-style или virtual-hosted), DNS и сертификат с SAN надо проверить на конкретном клиенте. С 7.3 добавлены контрольные суммы CRC32/CRC32C/SHA-1/SHA-256 — часть клиентов их использует.

Что с шифрованием и требованиями безопасности? Шифрование в полёте по TLS/AES-256 и на диске AES-256; FIPS 140-2 — опционально, по данным вендора. Отдельно настраиваются IAM-политики, Object Lock для неизменяемых данных и MFA для администраторов (с 7.2). Шифрование и Object Lock — разные вещи: первое закрывает чтение посторонним, второе запрещает удаление и перезапись даже владельцу.

Есть ли файловый доступ, или только объекты? Есть NFS v3, но это не основной сценарий: система оптимизирована под объектный доступ. Для POSIX-нагрузок файловая система обычно остаётся разумнее. Если приложение сегодня работает с файлами, а завтра — с объектами, планируйте это как два разных режима, а не как «одно и то же через разные протоколы».

Как это обновляется и расширяется? Вендор заявляет непрерывные rolling-апгрейды и расширение добавлением нод. Практика: апгрейд — плановая работа с pre-upgrade health check, даунгрейда после апгрейда нет, а обходы известных проблем надо снять до него. Расширение пересчитывает число блоксторов, а значит и допустимую политику защиты — это проверяют до, а не после.