Как делать бэкапы, чтобы не стать грустным админом. Играем в было/не было

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

Как делать бэкапы, чтобы не стать грустным админом. Играем в было/не было

В тексте перечислили досадные ошибки и лучшие практики в работе с бэкапами, а эпичные и поучительные истории реальных сисадминов оставили на десерт. Их полные боли рассказы читайте здесь.

→ Были или не были у вас такие ситуации? Пишите в комментариях!

Ошибся с выбором окна снятия бэкапов

Выбор времени снятия бэкапа важен. Нужно, чтобы в этот период происходило минимум операций с данными — так легче гарантировать консистентность резервной копии. Кроме того, это снижает шансы, что резервное копирование будет идти медленно и тормозить систему в целом. Разработчики знают, что, когда бэкапится база данных, индексы лучше не обновлять, иначе задачи накладываются друг на друга. Как минимум обе операции будут идти дольше и часть ресурсов будет «выедаться» текущей нагрузкой, как максимум — наткнешься на более диковинные конфликты, известные лишь DBA.

Использовал непроверенное решение для бэкапов

Обычно резервное копирование — не место для экспериментов. С другой стороны, непроверенное решение можно тестировать в дополнение к зарекомендовавшему себя способу снятия бэкапов. Если пройдет проверку, его можно использовать на постоянной основе.

Не проверял работоспособность резервных копий

Говорят, все системные администраторы делятся на три группы: те, кто не делает бэкапы, те, кто делает бэкапы, и те, кто проверяет их консистентность и работоспособность.

Действительно, далеко не всегда бэкапы — это «сделал и забыл». Работа по проверке целостности и периодические восстановления из бэкапа не менее важны. Это даст гарантии, что в экстренном случае резервные копии восстановятся штатно. То есть вы найдете их там, куда положили, они будут консистентными, и вы вернете последнюю версию системы за известное количество времени.

Иногда для проверки достаточно развернуть пустой проект, наполнить его данными, сделать бэкап и восстановиться из него. Также есть практика закрывать риски для систем несколькими способами резервирования: одна копия из 3-4 будет целостной с большей вероятностью.

Как делать бэкапы, чтобы не стать грустным админом. Играем в было/не было

Составлял подробную документацию по бэкапам

Достойный подход, одобренный сотнями крепко спящих по ночам админов. Многие согласятся, что первый шаг в работе с бэкапами — это составление документа, в котором описывается, что и как часто нужно делать, где хранить, как восстанавливать. Нередко такой документ является частью Disaster Recovery Plan компании.

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

Использовал несколько способов резервного копирования

Кто-то называет это оверхедом, а кто-то — лучшими практиками. Тем не менее, как показывает опыт сисадминов, чем богаче панель инструментов для бэкапов, тем надежнее. В некоторых компаниях реализовывать бэкапы несколькими способами — корпоративная норма. Главное, чтобы было место для их хранения. Часть клиентов бэкапов по расписанию Selectel подключили решение как раз в добавку к существующим способам бэкапирования — чаще всего кастомным скриптам.

Для критических сервисов стоит поднять реплику, чтобы быстро переключиться на нее при отказе «железа». Исключительно на RAID и SMART-мониторинг дисков полагаться не стоит.

Не ставил алерты

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

Хранил резервные копии на одном сервере с бэкапируемыми данными

Иногда это объясняется тем, что другого места нет и так экономнее (плохой сценарий). Или же так админ решает хранение горячей копии данных, чтобы восстановление конкретного утерянного файла происходила быстрее (хороший сценарий). В таком случае правильность решения определяется наличием холодной копии на стороннем сервере.

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

Забывал делать бэкапы

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

Проблему забывчивости, нехватки времени и добрую половину ранее озвученных вызовов решит сервис бэкапов сетевых дисков по расписанию. Бэкапы создаются автоматически по плану, который достаточно настроить один раз и применить ко всем дискам. Для переноса резервных копий в хранилище используются выделенные сети провайдера (не нужно нужно думать о торможении систем из-за ограничений собственных каналов). А для объема хранимых бэкапов нет ограничений — можно забыть о страхе, что однажды бэкап не сделается из-за отсутствия свободного места на диске.

Цена за бэкап 1 ГБ данных — 3,70 рублей в месяц. Рассчитать цену за хранение ваших бэкапов можно по ссылке.

Подпишитесь на блог Selectel, чтобы не пропустить новые обзоры, новости и кейсы из мира IT и технологий.

Читайте также:

1818
6 комментариев

А почему не можете развернуть в другом месте? Обычно бэкапы делают так, чтобы восстановление не представлялось невозможным.

1
Ответить

Тогда поздравляем вас с профессиональным праздником! Уверены, у вас есть десятки забавных историй, из-за которых к вам обращались клиенты :)

Ответить

Тогда поздравляем вас с профессиональным праздником!Спасибо :)
Уверены, у вас есть десятки забавных историй, из-за которых к вам обращались клиенты :)Это да, но помимо прочего, у нас зачастую вдобавок к этим историям есть ещё и NDA :)

1
Ответить

Комментарий недоступен

Ответить

— Не проверял работоспособность резервных копий — Хранил резервные копии на одном сервере с бэкапируемыми даннымиУже скоро как 20 лет занимаемся восстановлением данных и только им.
Варианты выше вполне можно назвать типовыми сценариями, после которых становятся нашими клиентами.

Ответить

Селектел повысил цены на колокейшен в 2 раза, это все что надо знать об этой компании. Сейчас у них 1юнит стоит 6400 рублей, а аренда сервера 5000 рублей в месяц, вот так ребята наживаются на своих клиентах.
Кому война, а кому - мать родная!

Ответить