Надёжная работа любого сервиса предполагает возможность его восстановления при любых возможных неполадках (планируемых отказах). Одно из первых и обязательных средств решения этой задачи — резервные копии (backups или бэкапы).
Необходимость создания бэкапов лучше всего описывает известная в среде системных администраторов поговорка: есть два типа людей — кто ещё не делает бэкапы, и кто уже делает. Лучше сразу оказаться во второй категории и не учиться на собственных ошибках потери данных.
Технические подробности
Бэкапы могут быть как локальными, хранящиеся непосредственно на production-сервере, так и удалёнными – хранящиеся на других серверах. Первые позволяют восстановить работу сервиса при программных сбоях на самом сервере, вторые — неоценимо помогут в случае физического отказа или изъятия сервера. Даже для «простых» проектов необходимо делать оба типа резервных копий.
Типичная схема создания резервной копии состоит из следующих этапов:
- Создание локальной резервной копии непосредственно на сервере: скриптов/кода, дампа базы данных, пользовательских данных, настроек сервера и программного обеспечения.
- Копирования бэкапа на удалённую машину по защищённым протоколам (например,
SCP/SFTP
) на удалённый сервер. - Автоматическое управление бэкапами на удалённой машине: старые бэкапы заменяются новыми, хранится несколько последних версий бэкапов. Последние версии сохраняются в разных временных масштабах, наиболее типичный из которых: несколько дневных, недельных и месячных версий.
- Периодическая проверка резервных копий на способность их восстановления.
Резервные копии могут быть полными и дифференциальными (разностными). Полный бэкап содержит всю необходимую для восстановления сервиса информацию, дифференциальный – изменения относительно последнего полного бэкапа. Очевидно, что полный бэкап занимает существенно больше места, чем дифференциальный. С другой стороны, полный бэкап полностью автономен и, следовательно, более надежен. Восстановление из полного бэкапа проще и занимает меньше времени, чем из дифференциального. В зависимости от особенностей резервируемых серверов используются оба типа бэкапов.
Необходимо отметить, что использование RAID-массивов не решает задачу резервного копирования. RAID защищает только от поломки носителей информации (жетских дисков) и обеспечивает хорошую скорость доступа к данным, но не защищает от программных ошибок. Также, RAID не помогает в случае серьёзного повреждения или изьятия сервера.
Копирование резервной копии на удалённый сервер происходит по защищённым протоколам, которые обеспечивают безопасность передачи данных по каналам связи.
Что есть хороший бэкап
К хорошей резервной копии предъявляется следующий минимальный набор требований. Действительно хороший бэкап должен быть:
- Очевидно, рабочим, т.е. восстанавливаемым в исходные данные. К сожалению, когда все отлично работает, мало кто проверяет резервные копии на их целостность. Если этого не делать, можно в случае отказа остаться с неполной версией бэкапа и не восстановить сервис.
- Быстро восстанавливаемым, чтобы в случае отказа не допускать длительного простоя сервиса. Для этого полезен локальный и полный бэкап, на восстановление которого требуется минимум времени. В ряде случаев целесообразна установка резервного сервиса на другом физическом сервере и переключение на него в случае необходимости.
- Физически удалённым, т.е. храниться на другой физической машине на случай его изьятия или аппаратного отказа сервера.
- Не единственным. Бывают ситуации, когда ошибка в данных обнаруживается уже после создания очередной резервной копии. Следовательно, для восстановления требуется несколько резервных копий, подготовленных в разное время. Несколько разных по времени резервных копий позволяют откатиться на нужную версию данных.
Как заказать и использовать
Создание резервных копий уже включено в услугу системного администрирования серверов. В ходе её полностью автоматически создаются и хранятся с разным временным размахом десятки-сотни разных версий бэкапов с разными датами создания. Используются как полные бэкапы, так и дифференциальные, в зависимости от рода резервируемых данных.
Кроме создания резервных копий возможны дополнительные средства резервирования информации: репликация БД, создание горячих снимков диска и другие.
Вы также можете услугу мониторинга заказать отдельно.