База знаний

Часто задаваемые вопросы, на которые мы уже ответили

Зачем делать бекапы?

Возможно, вы уже слышали известную фразу, что люди делятся на 2 типа: кто «делает бекапы» и кто «теперь делает». Порой мы не придаем внимания регулярному сохранению данных, вспоминая об этом в уже критических ситуациях. Резервное копирование (оно же создание бекапов) позволяет сохранить важные данные в отдельном пространстве на случай, если что-то пойдет не так. 

О том, какие возможности для бекапов есть у нашей Панели управления, мы описали в статье.

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

Обеспечение отказоустойчивости проекта

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

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

Глобальные изменения на сервере

Планируете обновить ядро, сменить веб-сервер, настроить уровни доступа другим пользователям или следуете инструкции, последствия которой до конца неизвестны? В результате подобных работ файловая система виртуальной машины может оказаться повреждена и не подлежать восстановлению.

Если копии хранить на том же сервере, то восстановиться из них может оказаться невозможно, так как они тоже будут повреждены. Для таких случаев резервные копии стоит хранить на облачных хранилищах, бекапных дисках или локальном устройстве. Например, можно подключить Ice Storage или создать бекап в разделе «Боксы» → «Бекапы» Панели управления. Там же вы можете подключить автоматическое резервное копирование, чтобы иметь возможность восстановиться даже после непредвиденных автоматических обновлений или взлома.

На одном из проектов сервера планируется обновление

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

Обычно копии отдельных проектов создаются перед проведением работ с помощью утилит rsync (копирование файлов) и mysqldump (создание дампа баз данных). Данные копируются без сжатия, поэтому важно заранее проверить наличие свободного пространства. Мы описали, как использовать эти утилиты, в инструкции. Чтобы сэкономить дисковое пространство, копию можно сжимать в архив. Этот процесс описан в другой инструкции.

Что еще стоит знать

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

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

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

Была ли эта инструкция полезной?