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


WARNING
В архиве есть всё, из чего состоит панель: хеши паролей, учётные данные пользователей, ключи сертификатов и ключи, по которым узлы доверяют панели. У кого файл, у того и панель. Храните архивы в закрытом месте и по возможности шифруйте их.
Что содержит архив
Архив — это переносимый дамп всех таблиц в сжатом виде. Это не копия файла базы данных, поэтому архив, снятый на SQLite, восстанавливается на PostgreSQL и обратно.
При создании копии можно исключить две крупные части:
- Включить историю трафика: графики трафика и почасовые итоги, обычно большая часть базы. Без них живое состояние не теряется: израсходованный трафик хранится у самого пользователя.
- Включить журнал изменений: запись каждого действия администраторов.
Три вещи в архив не попадают никогда: файл конфигурации, где указана база данных, темы подписок на диске и подготовленные бинарные файлы узлов. Зеркальные файлы наборов правил тоже не включаются: панель скачает их заново. На узлах нет ничего, что стоило бы сохранять, поэтому им собственные копии не нужны.
Создание копии
- Скачать копию создаёт копию и сразу отправляет её в браузер. На сервере ничего не остаётся.
- Создать сейчас в разделе Копии на этом сервере записывает копию в каталог резервных копий.
Список Копии на этом сервере показывает дату, размер и содержимое каждого архива и кнопки, чтобы скачать, проверить или удалить его. Архивы с отметкой До восстановления — это страховочные копии, которые создаёт восстановление (см. ниже).
При стандартной установке каталог резервных копий — /var/opt/nexora/backups/. В Docker это ./backups рядом с compose-файлом, поэтому архивы переживают контейнер. Копируйте их и в другое место: копия, которая лежит только на той же машине, которую защищает, — не резервная копия.
Сервисы → Хранилища бэкапов дополнительно отправляет каждый архив, по расписанию или созданный вручную, в S3-совместимое хранилище, на SFTP-сервер или в чат Telegram. См. Хранилища бэкапов.
Шифрование
Парольная фраза шифрует архив. Восстановить её нельзя: потерянная фраза — это потерянная копия, поэтому храните её там же, где копии архивов, а не на панели.
- Для скачивания введите фразу дважды, прежде чем нажать Скачать копию. Оставьте поле пустым, чтобы получить незашифрованный архив.
- Создать сейчас использует фразу, введённую выше, а если она пуста — фразу расписания.
- У расписания своя парольная фраза. После сохранения она больше не показывается; пустое поле оставляет её как есть. Перестать шифровать удаляет её.
Автоматические копии
В разделе Автоматические копии:
| Параметр | |
|---|---|
| Делать копии автоматически | По умолчанию выключено. |
| Каждые (часов) | Как часто. |
| Хранить | Сколько архивов хранить. 0 хранит все. |
| Каталог | Куда сохранять, абсолютный путь. |
| Содержимое | Включать ли историю трафика и журнал аудита. |
| Парольная фраза | Шифрует архивы по расписанию. |
Время следующей копии отсчитывается от самого нового архива в каталоге. Панель, которая была выключена, делает копию, как только снова запускается, и копия, созданная вручную, тоже учитывается. Хранение удаляет самые старые архивы сверх значения Хранить и никогда не удаляет снимки до восстановления.
Те же настройки можно задать из командной строки; см. Командная строка.
Проверка архива
Перетащите файл в Проверить файл копии или нажмите кнопку проверки у сохранённого архива. Панель читает его целиком и ничего не записывает. Зашифрованный архив сначала запрашивает парольную фразу (Открыть).
Проверка сообщает, когда и какой версией панели создан архив, исходную панель, тип базы данных, размер и число строк в каждой таблице, сверенное с собственным манифестом архива. Так обнаруживается недокачанный файл, прежде чем вы на него положитесь. В разделе Стоит знать перечисляется всё, что важно для восстановления, например:
- в архиве нет ни одного аккаунта администратора;
- он создан на другой машине, поэтому его лицензия здесь недействительна;
- он записан более новой версией панели;
- история трафика или журнал аудита в нём не сохранены;
- в нём другой клиентский сертификат панели, и все узлы будут отвергать эту панель, пока их не переустановят;
- закреплённые сертификаты некоторых узлов отличаются, и их нужно закрепить заново.
Восстановление
После проверки Восстановить из этой копии заменяет все строки базы данными из архива и перезапускает панель.
- Проверьте архив и прочитайте предупреждения.
- Выберите, что Сохранить от этой установки:
- Сохранить настройки адреса этой панели: домен, базовый путь, адрес прослушивания и HTTPS. Включено по умолчанию, чтобы архив с другой машины не поднял панель на адресе, недоступном с этого сервера.
- Сохранить лицензию этой панели: включено по умолчанию. Лицензия принадлежит одной машине, поэтому лицензия, привезённая с другого хоста, здесь недействительна.
- Введите фразу подтверждения и нажмите Заменить базу и перезапустить.
- Когда панель вернётся, войдите заново. Если архив пришёл с другой панели, используйте аккаунты той панели.
Прежде чем что-либо изменить, панель записывает полный снимок текущей базы До восстановления в каталог резервных копий. Если восстановление было ошибкой, восстановите этот снимок. Само восстановление выполняется целиком или не выполняется вовсе: при сбое панель остаётся точно такой, какой была.
Если панель вообще не запускается, восстанавливайте из командной строки сервера; см. Командная строка.
Переезд на другой сервер
- На старой панели создайте копию и скачайте её.
- Установите панель на новом сервере и откройте ссылку настройки. См. Установка панели.
- На первом экране мастера настройки вместо заполнения формы перейдите по ссылке Переезжаете с другого сервера? Восстановите из копии и выберите Восстановить и перезапустить.
- Войдите с аккаунтом старой панели.
При восстановлении во время настройки берутся настройки самого архива, включая адрес, потому что у пустой установки нет ничего, что стоило бы сохранять. Адрес, на котором запущена новая панель, всё равно имеет приоритет, если его закрепил установщик, и панель возвращается к нему, если восстановленный адрес здесь использовать нельзя.
Лицензия переносится, но остаётся привязанной к старой машине. Перенесите её на странице Лицензия кнопкой Перенести лицензию на эту машину; см. Лицензия.
Направьте DNS на новый сервер. Узлам ничего не нужно: они доверяют клиентскому сертификату панели, который есть в архиве.
Темы подписок и файлы пресетов, если вы ими пользуетесь, скопируйте вручную.
Переход между SQLite и PostgreSQL
Архив восстанавливается на любую из двух баз, поэтому резервная копия — это и способ переключиться:
- Создайте копию на старой панели и скачайте её.
- Установите панель на новой базе, например с параметром установщика
--postgres, или укажите новую базу в файле конфигурации существующей панели. - Восстановите архив: из мастера настройки на новой панели или в Настройки → Резервная копия на уже настроенной.
О выборе базы данных см. Установка панели.
См. также
- Хранилища бэкапов: копии каждого архива вне сервера.
- Командная строка: резервное копирование и восстановление из командной строки.
- Лицензия: перенос лицензии после переезда.
