Поиск по сайту Поиск

Нет бэкапа — жди факапа, или Почему важно вовремя делать резервные копии

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

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

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

А теперь, когда с теорией разобрались, давайте перейдём к практике!

Не повторяйте чужие ошибки!

Большинство системных администраторов при планировании архитектуры совершают типовые ошибки. Вот несколько распространённых заблуждений:

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

1. «Сервер будет работать без сбоев и резервные копии не нужны». Если бы всё было так! Например, пользователь обнаружил, что у него не работает сервер баз данных, а сам сервер периодически виснет. После проверки оказалось, что на жёстком диске машины было множество ошибок чтения и записи. Ресурс жёсткого диска не бесконечен. На его поверхности появились области, чтение информации с которых было невозможно. Это привело к появлению битых секторов. К сожалению, часть информации была безвозвратно утеряна без возможности восстановления.

2. «Если я закажу самое дорогое и надёжное железо, то у меня никогда и ничего не сломается». Это тоже не всегда совпадает с реальным положением дел. И, чтобы доказать точку зрения, поделимся ещё одним случаем. Сисадмин одной компании, казалось бы, предусмотрел практически всё: процессор последнего поколения, оперативная память с поддержкой контроля чётности (ECC), RAID1-массив из SSD.

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

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

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

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

Что учитывать при проектировании системы бэкапов

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

Как часто нужно создавать резервные копии

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

Программными средствами самой CMS или панели управления можно выполнять копирование каждое утро. Также нужно выполнять копирование перед обновлением сайта и сервера, так как если апдейт нарушит работу проекта, восстановление из копии значительно сократит время простоя.

Сколько должно длиться резервное копирование

Для начала определимся, каким бывает резервное копирование. Чаще его разделяют на полное и инкрементальное.

При полном резервном копировании выполняется копирование всей информации: файлов, папок, системных файлов. У такого подхода, несмотря на все плюсы, есть и недостатки, среди которых:

→ большой объём информации требует серьёзной дисковой подсистемы для хранения  резервных копий.

→ выполнение резервного копирования будет происходить очень долго.

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

Оптимальным решением будет комбинация двух этих методов. Например, полное копирование можно выполнять в выходные раз в неделю, а по будням выполнять только копирования файлов, в которых произошли изменения.

Зачем нужен план восстановления

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

Проверять знания и устраивать «учения» мы рекомендуем не реже, чем раз в 6 месяцев. Но если проводить их слишком часто, для сотрудников процедуры могут стать формальностью.

Что такое неконсистентность данных и к чему она может привести

Неконсистентность данных — состояние резервной копии, при котором восстановление из неё невозможно. То есть копия есть, но использовать её нельзя.

Подобные случаи неконсистентности бывают при выполнении копирования базы данных утилитой mysqldump  с ключом --skip-lock-tables. Также, если при создании копии выполняется архивирование в многотомный архив и по какой-то причине часть архива утеряна, то резервную копию можно считать неконсистентной.

Сколько должно стоить резервное копирование

Расчёт стоимости резервного копирования можно сравнить со страхованием на случай непредвиденной ситуации. Поэтому рекомендуется выделять на бэкапы 1% от прибыли компании.

Формула расчёта выглядит так: S (сумма в месяц) = 30 (количество дней в месяце) * X * 24 (количество часов в сутках) * 0,01, где X — прибыль компании в час.

Возьмём для примера некую абстрактную компанию, которая зарабатывает 100 000 рублей в час. Таким образом, формула будет выглядеть вот так: S (сумма в месяц) = 30 * 100 000 * 24 * 0,01 = 720 000 (бюджет системы резервного копирования). Если система стоит дороже, есть повод задуматься, обоснованы ли траты.

Какие инструменты использовать при создании систем резервного копирования

Для создания систем резервного копирования подходит множество инструментов, начиная от простых утилит копирования SCP, CP до сложных многоуровневых распределенных систем резервного копирования: Bareos, Bacula, Acronis TrueBackup. Нужно отметить, что панели управления, такие как ISPmanager, Cpanel, Plesk, включают встроенные скрипты для создания резервных копий. Также некоторые CMS, такие, как «1С-Битрикс», Joomla и WordPress, включают встроенные инструменты для бэкапов.

Некоторые хостинг-провайдеры (в том числе и мы) предлагают комплексные решения. Так, каждый клиент REG.RU, заказавший услугу «Администрирование сервера», автоматически подключается к системе резервного копирования. Она децентрализована и использует несколько серверов управления, которые дублируют друг друга. Для хранения данных мы используем профессиональные, многодисковые шасси Supermicro. Для бэкапов баз данных применяются наши собственные разработки на основе утилит mysqldump, rsync, xtrabackup.

Для решения задачи мы разработали несколько планов.

Первый план копирования — хранение информации 14 суток

По выходным дням (либо дням, согласованным с клиентом) выполняется полное копирование всех файлов. В остальные дни по ночами мы производим инкрементальное копирование. Резервное копирование баз данных также производится 1 раз в сутки, в ночное время. По желанию клиента время начала копирования может быть изменено. Инструмент для копирования баз данных выбирается индивидуально для каждого проекта.

Второй план копирования — хранение информации 7 суток

Условия те же, что в предыдущем плане. Отличается только время хранения и, соответственно, требования к дисковому хранилищу.

Размер места, необходимого для хранения копий, определяется следующим способом:

— для 14 суток хранения

3 * полный размер занятого места + 16 * 3% полного занятого места, то есть для сервера с занятым местом 500 Гб потребуется 1 740 Гб.

— для 7 суток хранения

2 * полный размер занятого места + 13 * 3% полного занятого места, то есть для сервера с занятым местом 500 Гб потребуется 1 195 Гб.

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

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

⌘⌘⌘

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


Как открыть интернет-магазин с нуля: гайд по запуску онлайн-бизнеса

К 2024 году интернет-магазины набрали большую популярность: большинство людей совершали онлайн-покупки хотя бы один раз в жизни. Как известно, спрос...
Read More

Машинное обучение: что такое и где применяют

Мир вокруг нас меняется быстрее, чем когда-либо. Алгоритмы, которые еще вчера были научной фантастикой, сегодня помогают водить автомобили, рекомендовать фильмы...
Read More

Коммерческое предложение: что это, зачем нужно, как его оформить

Коммерческое предложение — это ключевой инструмент, который позволяет компаниям представлять свои товары и услуги потенциальным клиентам. Рассмотрим, в каких случаях...
Read More

Как внедрить CRM-систему для подбора персонала в облаке и ускорить наем: кейс DIY Service

В кейсе рассказываем, как маркетинговое агентство DIY Service автоматизировало подбор и передачу кандидатов на вакансии в операционный отдел и оптимизировало...
Read More

Что такое CentOS – обзор, версии ОС

В мире IT есть много операционных систем, каждая из которых претендует на звание «лучшей». Среди этого множества дистрибутивов есть CentOS...
Read More

Холдинг: что это такое, как работает и кому выгоден

Рассмотрим, в чем особенности этой корпоративной структуры, какие у нее преимущества и недостатки. (далее…)
Read More

Байер: кто такой, чем занимается, сколько может заработать

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

Что такое комплаенс: как бизнесу управлять рисками и вовремя решать проблемы

Соответствие требованиям закона и отраслевым стандартам — это не только юридическая необходимость, но и решающий фактор успеха и репутации компании....
Read More

Основные средства в 2024 году: бухгалтерский учет, стоимость, амортизация

В любом бизнесе важно иметь четкое представление о состоянии активов компании для планирования ее дальнейшего развития. Рассказываем, что такое основные...
Read More

Нотариус: кто это, чем занимается и чем полезен бизнесу и физлицам

Нотариус обладает исключительным правом подтверждать, что юридическая процедура была совершена по всем требованиям закона. Это важно, например, чтобы защититься от...
Read More