GameAP Respawn — система бекапов игровых серверов

GameAP Respawn — мощная и надёжная система инкрементальных бекапов с шифрованием данных и дедупликацией для экономии места.
Особенность инкрементальных бекапов в том, что сохраняются только изменившиеся данные, — это позволяет эффективно использовать дисковое пространство и быстро создавать бекапы: долгим будет только первый бекап, остальные будут выполняться за считанные секунды.
Функционал #
Плагин содержит большое количество полезных функций, связанных со снапшотами и файлами, которые в них хранятся.
Создание снапшотов и восстановление #
Снапшот можно создавать в любой момент, желательно на выключенном сервере. Плагин позволяет делать снапшоты и на работающем сервере, но без дополнительной настройки это нежелательно: данные в снапшоте могут оказаться несогласованными. Для целостного снимка предусмотрены pre/post-хуки — например, можно делать бекап с LVM, а не с живого каталога.
Восстановление возможно в двух режимах: слияние с текущими файлами или точная копия снапшота. Перед восстановлением доступен предпросмотр (dry-run), а восстановить снапшот можно и в отдельный подкаталог. Все длительные операции выполняются в фоновом режиме, их прогресс отображается в панели.
Автоматические бекапы по расписанию #
Для каждого сервера можно настроить расписание: по интервалу, ежедневно или еженедельно. Планировщик запускает бекапы без участия пользователя, а история запусков с выводом задач доступна в панели.
Просмотр файлов и изменений в снапшотах #
Дерево файлов любого снапшота можно просматривать прямо в панели, переходя по каталогам. Плагин позволяет смотреть изменения между снапшотами.
Скачивание снапшота архивом #
Плагин позволяет создать архив снапшота и скачать его на компьютер. Архив собирается на выделенном сервере в фоновом режиме; доступны форматы tar.gz, zip и tar.
Восстановление определённых файлов из снапшотов #
Плагин позволяет восстанавливать не только бекап целиком, но и отдельный файл или каталог из выбранного снапшота.
Сравнение конфигов и текстовых файлов #
Встроенный diff-инструмент позволяет сравнивать разные версии конфигурационных файлов игрового сервера и восстанавливать отдельные строки в них.
Настраиваемые сроки хранения #
Для каждого сервера можно настроить собственную политику хранения снапшотов. Старые снапшоты удаляются автоматически и только в рамках своего сервера — бекапы других серверов при этом не затрагиваются.
Права доступа #
Доступ к бекапам настраивается гранулярно для каждого сервера: просмотр снапшотов, создание,
управление (расписание, сроки хранения, удаление) и восстановление — это отдельные права
(backup-view, backup-create, backup-manage, backup-restore).
Снапшоты удалённых серверов и восстановление на другой сервер #
Администратору доступен список снапшотов всех серверов. Резервные копии удалённого из панели сервера не пропадают. Снапшот одного сервера можно восстановить на другой — это доступно только администраторам.
Установка #
Плагин доступен в каталоге плагинов GameAP: GameAP Respawn.
Устанавливается он прямо из панели управления: откройте раздел «Плагины» в левом меню, перейдите во вкладку «Магазин», найдите Respawn в списке плагинов и нажмите «Установить». После этого на выделенные серверы можно в один клик установить утилиту gameap-respawn — об этом ниже.
Как это устроено #
Система состоит из двух компонентов: плагина для панели GameAP и утилиты gameap-respawn, которая работает на каждом выделенном сервере. Утилита устанавливается в один клик из панели и уже содержит движок бекапов — ничего дополнительно устанавливать не нужно.
Пароли и токены хранятся в зашифрованном хранилище панели (AES-256-GCM). На выделенные серверы они передаются только на время выполнения операции и нигде не сохраняются.
Хранилище бекапов #
В качестве хранилища бекапов используется GameAP Cloud с бесплатным объёмом дискового пространства. Подключение выполняется через диалог в административной панели: достаточно указать email и подтвердить его. Для панели автоматически создаётся отдельный доступ к хранилищу, который можно перевыпустить в любой момент.