Существуют разные методы резервного копирования информации сайта. Они необходимы, чтобы сделать бэкап при возникновении серьезной ошибки в работе сайта, при повреждении информации и не только. Владелец интернет-ресурса всегда может загрузить предыдущую версию сайта после DDoS атаки, например. Таким образом, не стоит отказываться от бэкапов, их лучше делать ежедневно или раз в неделю.
При выборе способа создания бэкапа надо обращать внимание на скорость его формирования, объем используемых ресурсов, стоимость аренды сервера, количество копий, которые можно держать на дисковом пространстве и так далее.
Необходимо подробнее рассмотреть виды резервного копирования и особенности каждого метода.
Способы хранения и восстановления данных из резервных копий
Выбирая способы резервирования информации, необходимо обращать внимание на следующее:
- Резервные копии не стоит хранить вместе с резервируемыми данными. Если сервер будет поврежден, то вы потеряете все, поэтому важно использовать отдельный сервер дополнительно для копий.
- Зеркалирование или RAID 1 – это не резервное копирование. Зеркалирование позволит защитить сайт только от аппаратной проблемы, которая рано или поздно возникает на одном из жестких дисков.
- Есть определенные риски хранения информации в одном хранилище. Однако при использовании разных ДЦ приходится существенно увеличивать затраты на содержание сайта.
Практика показывает, что прибегать к помощи резервного копирования приходится при повреждении файлов или дисков, на которых хранится интернет-ресурс. Реже, когда происходят проблемы, вызванные человеческим фактором. Например, работа в админке сайта, в результате чего были созданы неправильные настройки, приведшие к неправильной работе всей системы.
Важно. При использовании выделенного сервера настоятельно рекомендуется использовать отдельное хранилище для бэкапов. Это позволит не занимать канал во время создания резервной копии. В некоторых ситуациях это критично, когда портал обрабатывает много запросов от клиентов.
Доступ к бэкапу должен быть простым, а восстановление должно происходить быстро. Вряд ли владельцев сайтов устроит, что процесс восстановления портала будет занимать несколько часов. Поэтому производительность сервера должна быть высокой. Информацию о технических характеристиках можно получить у специалистов компании, которая предоставляет свой сервер в аренду.
Инкрементальное резервное копирование
Инкрементальное копирование предполагает, что происходит работа только с измененными файлами. Остальные в бэкапе не заменяются и остаются нетронутыми с предыдущего сохранения. Новые файлы добавляются на сервер независимо. Такой способ позволяет существенно сэкономить время на создании бэкапа, но процесс восстановления сайта будет происходить дольше.
Обычно для использования этой системы резервного копирования необходимо применять утилиту Rsync. Она удобная и простая в работе. Вот как происходит создание бэкапа с ее помощью:
- Составляется список файлов, по каждому из них происходит считывание метаданных.
- Если выявляется, что метаданные отличаются у нового и исходного файлов, то новый разбивается на блоки. Далее каждый из них обрабатывается, происходит расчет контрольной суммы. Далее отличающиеся по контрольной сумме блоки отправляются на сервер.
- Если во время проверки файла в него вносятся какие-то изменения пользователем, то проверка происходит сначала.
Каждый блок шифруется, что позволяет защитить информацию во время передачи созданной копии на сервер.
Утилита выполняет множество операций с каждым имеющимся в базе данных файлом, поэтому скорость копирования низкая, однако процесс надежный. Проблемы могут возникнуть при достижении объема информации в 200 Гб, но это актуально для небольшого количества интернет-проектов.
Есть и другие утилиты, которые позволяют добиться нужного результата, но почти все они начинают выдавать ошибки, если объем информации превышает 200 Гб.
Дифференциальное резервное копирование
Оно предполагает, что каждый измененный файл копируется заново. То есть, он не будет храниться на сервере отдельно. Чтобы восстановить работоспособность интернет-ресурса достаточно воспользоваться последней рабочей копией. Процесс создания бэкапа и его распаковка занимают меньше времени. Популярность этого метода постоянно растет, так как создаются копии файлов в разные моменты времени. Это весьма актуально, если, например, сайт был заражен вирусом.
Наиболее известной утилитой, чтобы выполнить дифференциальное резервное копирование, считается Rdiff-Backup. Она стабильно работает при объеме информации до 200 Гб. Рекомендуется самостоятельно периодически проверять резервную копию и вручную удалять файлы, которые перестали быть актуальными, чтобы снизить объем занимаемой на сервере памяти.
Полное резервное копирование
Оно предполагает сохранение всей системы и всех файлов. Рекомендуется применять такой метод с периодичностью в один месяц или одну неделю. Учитывая, что время на копирование достаточно большое, требуется запускать процесс перед началом выходных. Во время создания копии скоростные возможности сайта будут снижены.
Многие игнорируют этот метод, создавая копию значительно реже, однако важно периодически актуализировать бэкап. Если этого не делать, то при повреждении файлов придется использовать старую копию, на которой не будет большого количества необходимых компании или собственнику ресурса страниц. Их придется восстанавливать самостоятельно.
Полное резервное копирование делится на следующие этапы:
- Создание копии файлов.
- Создание копий на уровне устройств.
Стоит подробнее рассмотреть, что это такое и в чем заключаются отличия.
Полное резервное копирование на уровне файловой системы
В этом случае создается дамп системы. Dump стабильно работает с таблицами inode, поэтому его применяют и для создания инкрементальной копии тоже. Однако надо понимать, что для работающей системы создавать dump опасно, так как она будет меняться в процессе обращения к ней. Рекомендуется использовать снапшоты или заморозить файловую систему на время создания копии. Это позволит получить желаемый эффект без риска для копируемых файлов.
Требуется понимать, что скорость работы Dump выше, чем у RSync, но требуется предусмотреть все риски и исключить обращения к файловой системе в процессе работы утилиты.
Полное резервное копирование на уровне устройств
Его выполняют с использованием различных утилит.
- Использование Mdraid и DRBD. В этом случае настраивается RAID1 и происходит синхронизация с файлами на сервере с указанной в настройках частотой. Преимуществом этих утилит считается скорость создания бэкапа. Время работы варьируется, исходя из количества изменений с момента создания последней копии. Многие владельцы интернет - ресурсов применяют этот метод, но они не знают, что копия может быть нежизнеспособной. Дело в том, что иногда данные на локальный диск сохраняются порциями. При запуске утилиты создается бэкап части базы, поэтому при необходимости не удастся полностью восстановить работу сайта.
- LVM + dd. Снапшоты нередко используются при резервном копировании, однако перед их созданием требуется перенести кэш на дисковую подсистему. Необходимо следить за процессом, чтобы снапшот не уничтожился во время его обработки. Скорость создания бэкапа довольно низкая. Существует много утилит, которые позволяют работать со снапшотами. Требуется изучать функциональные возможности и требования к железу каждой из них, чтобы понять, какая будет оптимальной в конкретно взятом случае.
Благодаря полному бэкапу можно сохранить все файлы и функциональные возможности интернет -ресурса. При возникновении определенных проблем восстановить последнюю работающую версию будет несложно.
Безопасность
Требуется уделить внимание безопасности сервера или иного хранилища, так как всегда есть риск, что хакер получит к информации несанкционированный доступ. Рекомендуется пользователю, который делает бэкапы, не давать прав администратора и не позволять ему удалять или изменять сохраненные файлы. Максимальное ограничение прав пользователей позволит снизить вероятность намеренного повреждения баз данных.
В некоторых случаях сохраняется голосовая информация. Требуется использовать современные способы шифрования, чтобы предотвратить утечку данных в интернет.
Компании, которые вынуждены хранить в электронном виде персональные данные сотрудников или клиентов обязаны использовать максимальный уровень защиты сервера от несанкционированного доступа. Согласно действующему законодательству, за попадание персональных данных в сеть из-за несоответствия уровня защиты предусмотрена уголовная ответственность.
Заключение
Системы бэкапа обладают своими сильными и слабыми сторонами. Для выбора оптимального способа рекомендуется провести тестирование, обращая внимание на:
- затраченное время на создание копии;
- нагрузку на канал и дисковую систему;
- период восстановления всей информации или определенной части;
- расход памяти ЦП;
- необходимость консистентности данных.
Если нет необходимых опыта и знаний, то лучше обратиться за помощью к специалистам. Они выполнят требуемые действия и предложат оптимальные способы создания бэкапа для конкретно взятого проекта.