CDP бэкапы: как лучше перебдеть

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

Первым сервисом, предоставляемым нами для резервного копирования vps, является  сервис ftp бекапов. Фактически на сервере бекапов существует отдельная учетная запись для каждого пользователя. Соответственно, пользователь может загружать любые данные на сервер бекапов по протоколу ftp. При настройке резервного копирования VPS без контрольной панели необходимо наличие  скриптов, выполняющих архивирование и отправку файлов по ftp, создание задач для демона crond. Эти скрипты могут привести к повышению нагрузки на дисковую подсистему и сеть, а, соответственно, и к более медленной работе VPS.

В этой связи была найдена перспективная альтернатива — Continuous Data Protection (далее — CDP). Сначала мы успешно испытали эту технологию при создании резервных копий наших внутренних ресурсов. В результате решили предоставить возможность использования CDP нашим пользователям.  Главный ее плюс — это удобство. Создание резервных копий осуществляется автоматически в соответствии с расписанием, заданным пользователем. Расписание может быть задано при помощи интуитивно понятного веб интерфейса, используя который так же можно, как просмотреть резервные копии, так и скачать или восстановить  любую из них.

Пользователь может хранить произвольное количество резервных копий и созданных на их основе архивных копий в пределах дисковой квоты, соответствующей его тарифному плану.

Интерфейс системы резервного копирования:

Интерфейс CDP бекапов

 

Как проходит процесс создания резервной копии?

Бекапы создаются с помощью CDP-агента, который устанавливается на подлежащий копированию сервер.  Агент выполняет  команды,  отданные CDP-сервером. Таким образом сервер управляет работой агента и является хранилищем резервных копий.

Работа CDP-агента происходит на низком уровне: фактически он представляет собой модуль ядра ОС. В процессе первого обращения от сервера агент разбивает жесткий диск на логические блоки, описание которых хранится в специальной таблице. Данные, хранящиеся на диске, поблочно пересылаются на сервер. Таким образом происходит первичная репликация.

Те блоки, которые в дальнейшем меняются, отмечаются агентом. При следующем обращении сервера передадутся лишь измененные блоки данных, что значительно позволяет ускорить процесс резервного копирования. Как было отмечено, частота проведения резервного копирования vps серверов может варьироваться в зависимости от пожеланий пользователя и скорости изменения данных на сервере. Для примера примем, что репликация производиться раз в сутки. За это время даже на достаточно загруженном сервере изменяется относительно небольшой объем данных. Потому и передать этот объем данных можно быстрее, экономя процессорное время и пропускную способность сети для для более приоритетных задач.

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

Схематическая иллюстрация создания первых двух резервных копий:

Как работают CDP-бекапы

Кроме создания резервных копий файлов, с помощью CDP можно бекапить базы данных, которые размещены на VPS. Восстанавливать можно базу данных целиком или отдельные таблицы. Само восстановление проводиться нашим тех отделом.

 

Бекапы OpenVZ VPS

В первую очередь, следует отметить то, что для данного типа виртуализации, так же как и для xen, предоставляется услуга ftp бекапов. Потенциальные недостатки и проблемы связанные с этим видом резервного копирования, приведены в начале статьи.

В связи с тем, что при использовании технологии OpenVZ, все виртуальные серверы используют ядро физического сервера(vps носителя), то, установив CDP-агент на самом носителе, мы имеем возможность создавать резервные копии всех виртуальных серверов. Тем не менее, с использованием CDP резервное копирования можем осуществить только мы сами, а пользователю доступ к интерфейсу закрыт. Несмотря на данный недостаток, в большинстве случаев мы храним архивные копии впс за последний месяц, так как и несколько текущих копий. В случае острой необходимости данные резервные копии могут быть предоставлены, однако их наличе не гарантируется.

С уважением,
сотрудник отдела системного администрирования
Александр Власов