Резервная копия¶
Конфигурация Agora — стримы с источниками, настройки транскодера, пуши, шаблоны, зоны доставки, политика доступа, настройки стримеров — живёт в базе управляющего контура. Раздел Кластер → Резервная копия выгружает её файлом и загружает обратно.
Копия нужна в двух случаях:
- коробка погибла — сервер, диск или база потеряны, и конфигурацию надо поднять на новой машине, не набирая заново сотню стримов;
- откат — неудачную правку проще отменить копией, снятой до неё, чем вспоминать, как было.
Раздел видит только суперадминистратор: в файле копии лежат секреты установки.
Что входит в копию¶
- Стримы — со всеми настройками: источники, транскодер, пуши, архив.
- Шаблоны и CDN-зоны.
- Политика доступа — как защищён просмотр.
- Настройки central и политики записи.
- Настройки стримеров — то, что правится в карточке стримера: диски архива и остальное.
- VOD-каталог — описания ассетов и сведения о том, на дисках каких стримеров лежат их файлы. Сами медиафайлы в копию не входят, они остаются на дисках.
В копию не входят:
- Состав кластера — какие машины в него вступили и с какими ключами. Ключ стримера выдаётся при вступлении и хранится на самом стримере; копия со старыми ключами после переустановки была бы бесполезна.
- Администраторы. Восстановленный список администраторов закрыл бы вход тому, кто восстанавливает.
- История — журнал аудита, сессии зрителей, статистика.
- Медиа — архив и файлы VOD.
В файле копии лежат секреты: DRM-ключи и пароли в адресах источников и пушей. Храните его так же бережно, как сам сервер: не пересылайте почтой и не кладите в общие папки.
Как снять копию¶
- Откройте Кластер → Резервная копия и нажмите Создать копию.
- Копия собирается в фоне. Пока она собирается, строка в списке Копии стоит в статусе в работе. Оставаться на странице не нужно: готовую копию можно забрать позже.
- Когда статус станет готова, нажмите Скачать. Файл называется
agora-config-<дата>-<номер>.jsonl.gz.

Копия хранится не в каталоге на диске, а в базе управляющего контура, рядом с конфигурацией, — поэтому её можно скачать с любого инстанса central. У установки в Docker это том базы PostgreSQL. Там копии живут 30 дней, потом удаляются.
Из этого следует главное: копия на коробке погибает вместе с базой. От аварии спасает только скачанный файл — уносите его с коробки.
Снимайте копию перед заметной правкой — перед переездом стримов, сменой политики доступа, массовым изменением шаблонов.
Как восстановить¶
Восстановление идёт в три шага: загрузка файла, план, подтверждение. До подтверждения конфигурация не меняется.
- В блоке Восстановления нажмите Загрузить файл и выберите файл копии.
- Коробка читает файл и строит план — что именно изменится. Строка восстановления переходит в статус ждёт подтверждения. Нажмите на неё, чтобы открыть план.
- Проверьте план и нажмите Восстановить.
Как читать план¶
План — таблица по разделам копии:
- Создать — такого на коробке нет, оно появится.
- Перезаписать — есть, но отличается; версию коробки заменит версия из копии.
- Удалить — есть на коробке, но нет в копии. Восстановление возвращает конфигурацию к моменту копии, поэтому стримы, заведённые после копии, будут удалены. Их имена стоят под строкой раздела — прочтите их до подтверждения.
- Без изменений — совпадает с копией.
- Ждёт стример — настройки стримера, которому пока не нашлось машины (см. Отложенный стример).
VOD-каталог восстанавливается только добавлением: ассеты, которых нет в копии, остаются на месте. Удаление ассета стирает его файлы с дисков, и откат этого делать не должен.
Если в плане есть ошибки — например, в копии больше стримов, чем разрешает лицензия новой коробки, — кнопка Восстановить заперта, пока причина не устранена.
Если между показом плана и подтверждением конфигурацию кто-то изменил, коробка пересчитает план и попросит подтвердить его заново: применяется только тот план, который вы видели.
Восстановление оставляет следы в журнале аудита: запись config_restore.apply и записи о каждом изменённом стриме, шаблоне и зоне с номером восстановления.
Кластер из нескольких стримеров¶
На одной коробке восстановление этим и исчерпывается. В кластере есть ещё вопрос: какой машине достанутся настройки какого стримера.
Почему стримеры не встают на свои места сами¶
У каждого стримера кластера есть номер: его выдаёт коробка, когда машина вступает в кластер. Настройки стримера привязаны к этому номеру. Новая коробка с чистой базой выдаёт номера заново, в порядке вступления: машина, которая была стримером №3, может стать №2, а под №3 окажется совсем другая машина. Восстанавливать настройки по номерам значило бы отдать диски архива одной машины другой.
Поэтому копия хранит настройки каждого стримера вместе с приметами машины — её идентичностью (идентификатор сервера, тот же, что видит лицензия) и именем хоста. При восстановлении план ищет для них машину:
- локальный стример коробки получает свои настройки автоматически;
- та же машина — стример, вступивший в новый кластер с той же идентичностью, узнаётся автоматически, какой бы номер он ни получил;
- остальных решаете вы: выбираете стример в плане или откладываете решение.
Имя хоста к привязке само не ведёт: у машин, развёрнутых из одного образа, оно бывает одинаковым. В плане оно — подсказка для вас.
Пример¶
Коробка и два стримера, edge-1 и edge-2, ведут четыре камеры с архивом. Копия снята на живом кластере:

Потом коробка погибла вместе с базой. edge-1 уцелел, edge-2 потерян, и на замену ему ставят новую машину edge-3.
Пока коробки нет, стримеры продолжают вести стримы, которые на них были: они держат последнюю полученную конфигурацию и не получают только изменений.
Порядок восстановления¶
- Поставьте новую коробку — пакет
agora, как при первой установке (см. Установку). Войдите статическими учётными данными из/etc/agora/secrets.envи заведите первого администратора (см. Администраторы): администраторы в копию не входят. - Откройте окно присоединения: Кластер → Стримеры → Разрешить присоединение (см. Присоединение сервера).
-
Верните уцелевшие стримеры. Ключ, выданный погибшей коробкой, новая не знает, и сама машина в неё не войдёт — в журнале стримера это строка
node key rejected. На каждом уцелевшем стримере впишите новый токен в строкуJOIN_TOKEN=файла/etc/agora/secrets.env(и адрес коробки вCENTRAL_URL=, если он изменился), удалите старый ключ и перезапустите сервис:rm /var/lib/agora/identity.json systemctl restart agoraУдаляйте только файл ключа. Остальное в
/var/lib/agoraне трогайте: там же лежит идентичность машины, по которой план её узнает и к которой привязана лицензия. На время перезапуска стримы этой машины прерываются. -
Поставьте машины на замену — пакет
agora-baseс тем же токеном, как при обычном расширении кластера (см. Установку). -
Проверьте состав в Кластер → Стримеры. Номера у машин новые:
edge-1вступил вторым и получил №2. Настроек у стримеров пока нет — ни дисков архива, ни адресов, отсюда пометка нет адреса: их вернёт копия.
-
Загрузите копию и откройте план. Блок Стримеры показывает, куда встанут настройки каждого стримера из копии: локальный — на локальный,
edge-1узнан как та же машина, а дляedge-2машины нет, и выбор за вами.
-
Выберите машину для неузнанного стримера. В списке — свободные стримеры нового кластера. Пометка та же машина стоит у кандидата с той же идентичностью; у
edge-3её нет, это другая машина, и выбрать её — ваше решение. Если машина на замену ещё не готова, оставьте Позже.
-
Нажмите «Восстановить». Конфигурация применяется, и коробка размещает стримы на стримерах так же, как после любой правки.
Отложенный стример¶
Настройки, оставленные на потом, хранятся в карточке восстановления вместе с размещениями VOD-файлов на дисках этой машины. Пока они не применены, машины с этими настройками в кластере нет: стримы с архивом размещаются на тех стримерах, у которых диски уже заведены. В примере все четыре камеры уходят на edge-1.
Когда машина на замену вступит в кластер, откройте карточку восстановления, выберите её в блоке Стримеры, ждущие своих настроек и нажмите Применить к стримеру.

Стример получает настройки из копии — диски архива и остальное, — и коробка снова может размещать на нём работу. Адреса у машины на замену свои: копия переносит адреса только на ту же машину, иначе central ходил бы к погибшей. Если у стримера стоит пометка нет адреса, впишите адрес в его карточке.

Отложенные настройки применяет только оператор, кнопкой. Машина, вступившая в кластер, сама чужие настройки не забирает: вступление машины не должно менять конфигурацию без человека.
Откат на живом кластере¶
Если коробка цела и копия нужна, чтобы отменить неудачную правку, шаги с переустановкой не нужны: стримеры остаются в кластере со своими номерами и идентичностью, и план привязывает их автоматически. Загрузите копию, прочтите, что стоит в колонке Удалить, и подтвердите.