Резервное копирование

Надёжная работа любого сервиса предполагает возможность его восстановления при любых возможных неполадках (планируемых отказах). Одно из первых и обязательных средств решения этой задачи — резервные копии (backups или бэкапы).

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

Технические подробности

Бэкапы могут быть как локальными, хранящиеся непосредственно на production-сервере, так и удалёнными – хранящиеся на других серверах. Первые позволяют восстановить работу сервиса при программных сбоях на самом сервере, вторые — неоценимо помогут в случае физического отказа или изъятия сервера. Даже для «простых» проектов необходимо делать оба типа резервных копий.

Типичная схема создания резервной копии состоит из следующих этапов:

  1. Создание локальной резервной копии непосредственно на сервере: скриптов/кода, дампа базы данных, пользовательских данных, настроек сервера и программного обеспечения.
  2. Копирования бэкапа на удалённую машину по защищённым протоколам (например, SCP/SFTP) на удалённый сервер.
  3. Автоматическое управление бэкапами на удалённой машине: старые бэкапы заменяются новыми, хранится несколько последних версий бэкапов. Последние версии сохраняются в разных временных масштабах, наиболее типичный из которых: несколько дневных, недельных и месячных версий.
  4. Периодическая проверка резервных копий на способность их восстановления.

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

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

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

Что есть хороший бэкап

К хорошей резервной копии предъявляется следующий минимальный набор требований. Действительно хороший бэкап должен быть:

  • Очевидно, рабочим, т.е. восстанавливаемым в исходные данные. К сожалению, когда все отлично работает, мало кто проверяет резервные копии на их целостность. Если этого не делать, можно в случае отказа остаться с неполной версией бэкапа и не восстановить сервис.
  • Быстро восстанавливаемым, чтобы в случае отказа не допускать длительного простоя сервиса. Для этого полезен локальный и полный бэкап, на восстановление которого требуется минимум времени. В ряде случаев целесообразна установка резервного сервиса на другом физическом сервере и переключение на него в случае необходимости.
  • Физически удалённым, т.е. храниться на другой физической машине на случай его изьятия или аппаратного отказа сервера.
  • Не единственным. Бывают ситуации, когда ошибка в данных обнаруживается уже после создания очередной резервной копии. Следовательно, для восстановления требуется несколько резервных копий, подготовленных в разное время. Несколько разных по времени резервных копий позволяют откатиться на нужную версию данных.

Как заказать и использовать

Создание резервных копий уже включено в услугу системного администрирования серверов. В ходе её полностью автоматически создаются и хранятся с разным временным размахом десятки-сотни разных версий бэкапов с разными датами создания. Используются как полные бэкапы, так и дифференциальные, в зависимости от рода резервируемых данных.

Кроме создания резервных копий возможны дополнительные средства резервирования информации: репликация БД, создание горячих снимков диска и другие.

Вы также можете услугу мониторинга заказать отдельно.