# О бэкапах на сервере GMGame

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

На нашем сервере используется резервное копирование с дедупликацией. Резервное копирование реализовано на borg backup

![image.png](https://wiki.gmgame.ru/uploads/images/gallery/2024-01/scaled-1680-/fyyimage.png)

##### **Плюсы такого подхода:**

- быстрое создание резервной копии
- занимает меньший объем
- возможность чаще создавать копии

##### **К минусам можно отнести:**

- меньшую надежность (конфликты в хэш-таблицах, хранение только одной полной копии)

У нас резервное копирование выполняется, каждые 10 минут, а копии хранятся по следующим правилам:

- все копии за 48 часов
- по одной копии за каждый день последние 30 дней
- по одной копии за последние 3 месяца
- по одной копии за последние 3 года

Такой подход мы стали использовать c июля 2021 года и сейчас самый ранний бэкап, на который мы можем откатиться — 2021-06-30, если это потребуется.

Разумеется бэкапы за 3 года и даже за 3 месяца скорее для истории, чем для практического применения.

По цифрам сейчас у нас суммарный размер бэкапов 133.01 GB, если бы все эти бэкапы просто хранились целиком в сжатом виде, то они занимали бы 4.06 TB, а оригинальный размер, без сжатия, составил бы 5.67 TB

![image.png](https://wiki.gmgame.ru/uploads/images/gallery/2024-01/scaled-1680-/BSGimage.png)

**В бэкапах хранятся следующие данные:**

- cами миры (основной, фермерский, ..)
- конфиги серверов
- плагины и их настройки
- базы данных (зарегистрированных игроков, разрешения, баны, инвентари игроков)

Для повышения надежности мы используем несколько репозиториев борга для хранения бэкапов и делаем периодически отдельные копии данных.

##### **save-off save-all save-on**

К сожалению, нет достоверной информации и достаточных исследований о необходимости останавливать сохранения мира на время создания резервной копии.

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

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

##### **Мониторинг**

Для мониторинга используем просто [Healthchecks](https://healthchecks.io/)

![image.png](https://wiki.gmgame.ru/uploads/images/gallery/2024-01/scaled-1680-/P1dimage.png)

<p class="callout success">Информация о размерах и файлах бекапов актуальна на момент написания статьи. В настоящее время список файлов для бекапа может измениться, при этом технология резервного копирования остается без изменений</p>