Коротко. Установка — не «нажать кнопку», а четыре стадии с гейтами: подготовка площадки → live/PXE → ОС → initialize → install-ng → приёмка. Большинство проблем возникает до install-ng (сеть, MAC, профиль железа, очередь, политика) и выглядит как «продукт не работает». Мы проходим это по чек-листу и проверяем каждый этап живым выводом.
1. Что входит в работу
- Обследование площадки: стойка, питание, сеть, BMC, NTP, DNS.
- Подготовка профиля железа и очереди установки.
- Монтаж (если нужно) и подключение.
- Stage 0–3: live → ОС →
initialize→install-ng. - Настройка политики DSS, S3/IAM, почты, мониторинга.
- Приёмка по 11 проверкам.
- Runbook и обучение оператора.
2. Этапы
2.1 Стадия 0. Подготовка площадки
- VLAN: management/public, storage/private, BMC/IPMI. Шлюз на каждой VLAN.
- Статические адреса по MAC (не по именам интерфейсов).
- NTP до установки: расхождение часов потом выглядит как сетевая проблема.
- BMC: доступ, пароли, BootOrder, режим UEFI.
- Профиль железа (
hardware type) и шаблон дисков. - Политика DSS под итоговое число блоксторов — проверить, что пресет существует и валиден.
Гейт: curl до PXE/HTTP-раздачи → 200; диски пусты; MAC уникальны; NTP синхронизирован.
2.2 Стадия 1. Live и установка ОС
- Загрузка по PXE (или с USB) в live-среду AMUR.
iso_installer.py: выбор диска, hostname, mgmt-интерфейс, IP, шлюз, DNS, роль.- Ловушка: интерфейс выбирается по индексу, а имена
enp*/eth*в live и на диске могут отличаться. Выбирать порт, который реально несёт mgmt-IP. - Ловушка: после установки переключить BMC на загрузку с диска в UEFI; Legacy → узел молчит и не в сети.
- Ловушка:
url=в casper должна оканчиваться на.iso; иначе загрузка молча игнорируется.
Гейт: df -h / — корень на диске (не overlay); hostname верный; узел пингуется по mgmt-IP.
2.3 Стадия 2. initialize
marvin_installзапускается вручную — это задумка продукта, а не баг.- Разворачивает mongodb/marvinweb/marvintaskmgr, создаёт
initial_environment.json. - Маркеры:
Doneвdeploy.log,initial_environment.json, исчезновение/usr/bin/marvin_install.
Гейт: curl -sk https://127.0.0.1:8443/ отвечает (400 без клиентского серта — норма);
install-ng.py на месте.
2.4 Стадия 3. install-ng
- Очередь: 8 файлов (
environment,location,machine,network,column,configrule,config-ng.ini, сертификаты). --product activescaleобязателен.- Флаги:
-e -i -m -a -ASC -AST -D -d;-S— только для первой ноды в scale-out-сценарии. - Маркер завершения —
/tmp/.unattended_install_finished(внутри exit code), а не строка в логе. - Фазы могут идти часами; не считать «зависшим» раньше времени.
Гейт: федерация 200 < 50 мс; барометр ok; NS status: ok; selectedstoragepolicy не
null; S3 round-trip; GUI без пустот.
2.5 Приёмка
| # | Проверка | Норма |
|---|---|---|
| 1 | Федерация (/federated/_status/) |
200 < 50 мс |
| 2 | Барометр DSS | ok |
| 3 | Заполнение NS | status: ok |
| 4 | Durability в GUI | политика не null |
| 5 | Политика влезает | w + s ≤ N |
| 6 | S3 PUT/GET | round-trip OK |
| 7 | Права S3 | PUT от пользователя — 200 |
| 8 | Почта | verify → 200, task SUCCESS |
| 9 | Вентиляторы | нет NOTFOUND |
| 10 | NIC | соответствуют реальным портам |
| 11 | GUI | дашборд без пустот |
3. Типовые ловушки (и что с ними делать)
| Симптом | Причина | Решение |
|---|---|---|
| PXE висит минуту и ребут | url= не оканчивается на .iso |
Исправить url=/casper |
| Узел не грузится с диска | BMC остался в Legacy | Переключить на UEFI+Hdd, power cycle |
install-ng: No suitable management server |
Федерация не смоделирована / порт не 27019 | Путь A или B, проверить federated.cfg |
column NOTINITIALIZED |
В column.json есть поле status |
Убрать поле |
S3 507 при свободных дисках |
Политика не влезает в N |
Пересчитать w/s, выбрать ветку |
| Пустая страница «Ресурсы» | Нет серийника стойки в модели | Записать серийник, перезапустить GUI |
NOTMANAGED диск |
Продукт его пропускает | Не «лечить» статус, а пройти штатный путь |
4. Что получает заказчик
- Работающая система, принятая по проверкам (с кодами/значениями).
- Runbook: как проверить, что делать при типовом сбое, кого звать.
- Схема сети/VLAN и карта портов.
- Обучение оператора (2–4 часа) + доступ к базе знаний.
- Список «что осталось» (если что-то не входит в объём).
5. Сроки и границы
- Срок зависит от площадки, железа и готовности сети; «по запросу» после обследования.
- Не входит: закупка железа, монтаж силами заказчика, изменение чужих сетей без согласования.
- Изменения на продуктивной системе — только в согласованное окно.
Частые вопросы
Сколько времени занимает установка?
Зависит от площадки, железа и готовности сети, поэтому срок называем по запросу — после обследования.
Сам процесс идёт стадиями: подготовка, live и ОС, initialize, install-ng, приёмка. Отдельные фазы
install-ng могут идти часами, и это нормально: считать их зависшими раньше времени не нужно.
Что нужно подготовить на площадке?
Стойку, питание, три VLAN — management, storage и BMC — со шлюзом на каждой, статические адреса по
MAC, синхронизацию NTP до установки, доступ к BMC с режимом UEFI. Плюс профиль железа и шаблон
дисков. Перед стартом — гейт: раздача отвечает 200, диски пусты, MAC уникальны, часы синхронизированы.
Можно ли поставить на существующее железо? Ставим на штатное железо платформ ActiveScale — P200, X200, Z200 — по поддерживаемым конфигурациям. Минимум три ноды, для X200 — четыре, два twin-сервера. Если железо уже стоит, сначала смотрим его состояние: диски, прошивки, BMC, профиль. Решение принимаем по фактам, а не по названию модели в накладной.
А если PXE не грузится?
Ставим с USB — это штатный путь live-среды. Частые причины отказа PXE: url= в конфигурации не
оканчивается на .iso, и загрузка молча игнорируется; BMC остался в Legacy вместо UEFI; неверный
BootOrder. Всё это всплывает до install-ng, поэтому и выглядит как «продукт не работает».
Кто принимает работу?
Приёмка формальная: 11 проверок с конкретными значениями — федерация 200 и меньше 50 мс, барометр
ok, статус NS ok, политика не null и влезает в число блоксторов, S3 round-trip, права, почта,
вентиляторы, NIC, GUI. Принимаете вы, по этим значениям; мы отдаём runbook, схему сети и карту портов.