Skip to content

Резервное копирование и восстановление ​

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

Страница резервного копирования: карточки создания и скачивания копии, список копий на сервере, расписание автоматических копий и область для проверки и восстановления архиваСтраница резервного копирования: карточки создания и скачивания копии, список копий на сервере, расписание автоматических копий и область для проверки и восстановления архива

WARNING

В архиве есть всё, из чего состоит панель: хеши паролей, учётные данные пользователей, ключи сертификатов и ключи, по которым узлы доверяют панели. У кого файл, у того и панель. Храните архивы в закрытом месте и по возможности шифруйте их.

Что содержит архив ​

Архив — это переносимый дамп всех таблиц в сжатом виде. Это не копия файла базы данных, поэтому архив, снятый на SQLite, восстанавливается на PostgreSQL и обратно.

При создании копии можно исключить две крупные части:

  • Включить историю трафика: графики трафика и почасовые итоги, обычно большая часть базы. Без них живое состояние не теряется: израсходованный трафик хранится у самого пользователя.
  • Включить журнал изменений: запись каждого действия администраторов.

Три вещи в архив не попадают никогда: файл конфигурации, где указана база данных, темы подписок на диске и подготовленные бинарные файлы узлов. Зеркальные файлы наборов правил тоже не включаются: панель скачает их заново. На узлах нет ничего, что стоило бы сохранять, поэтому им собственные копии не нужны.

Создание копии ​

  • Скачать копию создаёт копию и сразу отправляет её в браузер. На сервере ничего не остаётся.
  • Создать сейчас в разделе Копии на этом сервере записывает копию в каталог резервных копий.

Список Копии на этом сервере показывает дату, размер и содержимое каждого архива и кнопки, чтобы скачать, проверить или удалить его. Архивы с отметкой До восстановления — это страховочные копии, которые создаёт восстановление (см. ниже).

При стандартной установке каталог резервных копий — /var/opt/nexora/backups/. В Docker это ./backups рядом с compose-файлом, поэтому архивы переживают контейнер. Копируйте их и в другое место: копия, которая лежит только на той же машине, которую защищает, — не резервная копия.

Сервисы → Хранилища бэкапов дополнительно отправляет каждый архив, по расписанию или созданный вручную, в S3-совместимое хранилище, на SFTP-сервер или в чат Telegram. См. Хранилища бэкапов.

Шифрование ​

Парольная фраза шифрует архив. Восстановить её нельзя: потерянная фраза — это потерянная копия, поэтому храните её там же, где копии архивов, а не на панели.

  • Для скачивания введите фразу дважды, прежде чем нажать Скачать копию. Оставьте поле пустым, чтобы получить незашифрованный архив.
  • Создать сейчас использует фразу, введённую выше, а если она пуста — фразу расписания.
  • У расписания своя парольная фраза. После сохранения она больше не показывается; пустое поле оставляет её как есть. Перестать шифровать удаляет её.

Автоматические копии ​

В разделе Автоматические копии:

Параметр
Делать копии автоматическиПо умолчанию выключено.
Каждые (часов)Как часто.
ХранитьСколько архивов хранить. 0 хранит все.
КаталогКуда сохранять, абсолютный путь.
СодержимоеВключать ли историю трафика и журнал аудита.
Парольная фразаШифрует архивы по расписанию.

Время следующей копии отсчитывается от самого нового архива в каталоге. Панель, которая была выключена, делает копию, как только снова запускается, и копия, созданная вручную, тоже учитывается. Хранение удаляет самые старые архивы сверх значения Хранить и никогда не удаляет снимки до восстановления.

Те же настройки можно задать из командной строки; см. Командная строка.

Проверка архива ​

Перетащите файл в Проверить файл копии или нажмите кнопку проверки у сохранённого архива. Панель читает его целиком и ничего не записывает. Зашифрованный архив сначала запрашивает парольную фразу (Открыть).

Проверка сообщает, когда и какой версией панели создан архив, исходную панель, тип базы данных, размер и число строк в каждой таблице, сверенное с собственным манифестом архива. Так обнаруживается недокачанный файл, прежде чем вы на него положитесь. В разделе Стоит знать перечисляется всё, что важно для восстановления, например:

  • в архиве нет ни одного аккаунта администратора;
  • он создан на другой машине, поэтому его лицензия здесь недействительна;
  • он записан более новой версией панели;
  • история трафика или журнал аудита в нём не сохранены;
  • в нём другой клиентский сертификат панели, и все узлы будут отвергать эту панель, пока их не переустановят;
  • закреплённые сертификаты некоторых узлов отличаются, и их нужно закрепить заново.

Восстановление ​

После проверки Восстановить из этой копии заменяет все строки базы данными из архива и перезапускает панель.

  1. Проверьте архив и прочитайте предупреждения.
  2. Выберите, что Сохранить от этой установки:
    • Сохранить настройки адреса этой панели: домен, базовый путь, адрес прослушивания и HTTPS. Включено по умолчанию, чтобы архив с другой машины не поднял панель на адресе, недоступном с этого сервера.
    • Сохранить лицензию этой панели: включено по умолчанию. Лицензия принадлежит одной машине, поэтому лицензия, привезённая с другого хоста, здесь недействительна.
  3. Введите фразу подтверждения и нажмите Заменить базу и перезапустить.
  4. Когда панель вернётся, войдите заново. Если архив пришёл с другой панели, используйте аккаунты той панели.

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

Если панель вообще не запускается, восстанавливайте из командной строки сервера; см. Командная строка.

Переезд на другой сервер ​

  1. На старой панели создайте копию и скачайте её.
  2. Установите панель на новом сервере и откройте ссылку настройки. См. Установка панели.
  3. На первом экране мастера настройки вместо заполнения формы перейдите по ссылке Переезжаете с другого сервера? Восстановите из копии и выберите Восстановить и перезапустить.
  4. Войдите с аккаунтом старой панели.

При восстановлении во время настройки берутся настройки самого архива, включая адрес, потому что у пустой установки нет ничего, что стоило бы сохранять. Адрес, на котором запущена новая панель, всё равно имеет приоритет, если его закрепил установщик, и панель возвращается к нему, если восстановленный адрес здесь использовать нельзя.

Лицензия переносится, но остаётся привязанной к старой машине. Перенесите её на странице Лицензия кнопкой Перенести лицензию на эту машину; см. Лицензия.

Направьте DNS на новый сервер. Узлам ничего не нужно: они доверяют клиентскому сертификату панели, который есть в архиве.

Темы подписок и файлы пресетов, если вы ими пользуетесь, скопируйте вручную.

Переход между SQLite и PostgreSQL ​

Архив восстанавливается на любую из двух баз, поэтому резервная копия — это и способ переключиться:

  1. Создайте копию на старой панели и скачайте её.
  2. Установите панель на новой базе, например с параметром установщика --postgres, или укажите новую базу в файле конфигурации существующей панели.
  3. Восстановите архив: из мастера настройки на новой панели или в Настройки → Резервная копия на уже настроенной.

О выборе базы данных см. Установка панели.

Текст и изображения — CC BY 4.0.