Вредные советы по настройке резервного копирования и несколько баек

Учим плохому резервному копированию. Не делайте так.

20 апреля  •  Александр Васильев

Если настроил резервное копирование, не забил, не сэкономил — уже молодец. Но бэкап еще нужно уметь правильно готовить.

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

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

Читайте и мотайте на ус.

Совет 1. Используйте RAID вместо бэкапа

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

Случай из жизни. Данные клиента находились на СХД. Для скорости и надежности на ней был создан RAID-10 из более чем 24 дисков. У СХД также было некоторое количество запасных дисков. Когда произошел отказ одного из дисков в зеркале, СХД заменила отвалившийся диск запасным и принялась восстанавливать содержимое на нем. Оставшийся в строю диск работал за двоих и активно отдавал данные тому новенькому диску, но делал это недолго, буквально 5 секунд. Потом диск не выдержал нагрузки, и произошел отказ всего RAID. В результате данные на всех 24 дисках были потеряны.

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

В общем RAID – не для бэкапа. Не путайте теплое с мягким.

Совет 2. Складывайте бэкапы на ту же СХД, где находятся исходные данные

Если все-таки решили делать бэкап, не тратьтесь на отдельное хранилище для резервных копий. Современные СХД очень надежные и умные. Берете и выделяете быстрые тома под продуктивные данные, а на медленные складываете резервные копии. Забудьте про правило 3-2-1. Те, кто говорит про него, просто не знают, что так можно.

Используйте возможности СХД до конца!

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

  • администратор перепутал и удалил продуктивный LUN;
  • начинающий администратор прилепил к СХД на забор воздуха большую наклейку с подробным описанием назначения СХД, ее IP-адреса, краткой инструкцией по включению и выключению, контактами ответственного и пр. очень “нужной” в работе информацией. СХД перегрелась и отказала.

Или вот совсем недавно коллеги рассказали: СХД старой модели долго-долго работала и умерла. Когда ее труп увидели инженеры, они поняли, что такую СХД видели только в музее. Идей, как ее восстановить, тем более – как это сделать быстро, нет.

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

Совет 3. Откажитесь от бэкапа сервера и базы данных системы резервного копирования

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

Случай из жизни. На одном LUN СХД размещались исходные данные и сервер резервного копирования. Когда LUN стал недоступен и понадобилось восстановиться, оказалось, что бэкапа сервера и базы данных резервного копирования нет. Без последней все резервные копии превратились в чемодан без ручки. Ребятам пришлось разворачивать систему резервного копирования “с нуля”. Благо у используемого решения была возможность воссоздать базу заново через импорт бэкапов в систему. Но был один нюанс: данных для импорта было 100 ТБ. Чтобы собрать новую базу, новая система должна по ним обстоятельно пройти и каталогизировать все данные. В итоге за 1,5 суток было обработано лишь 20%. Потом кто-то им посоветовал импортировать только full бэкапы (самые большие файлы), и дело пошло быстрее, но потерпевшие уже потеряли много времени и нервов.

Если серьезно. Чтобы быть во всеоружии, когда сервер резервного копирования потерян, нужно предусмотреть два момента:

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

    С другими без базы данных не обойтись (Symantec). Если она не бэкапилась, придется потратить время на ее восстановление.

    Для третьих – после потери базы остается только обратиться к техподдержке вендора (Commvault).
  • заранее продуманный план по Disaster Recovery для сервера резервного копирования на случай отказа основного сервера/площадки. Многие вендоры систем резервного копирования в документации предлагают варианты по организации Disaster Recovery сервера резервного копирования, например: Veeam, Commvault.

Совет 4. Не тестируйте восстановление из резервных копий

Бэкап – не для восстановления, а для того, чтобы просто был и грел администратору душу самим своим существованием. Главное – настроить резервное копирование, а дальше все точно будет бэкапиться так, что вы сможете без труда восстановить и виртуальную машину, и базы данных, и приложения. Во всех случаях восстановленные данные будут целостны и невредимы.

До “часа Ж” RTO останется тайной для администратора и для начальства. Зато потом для всех будет сюрприз.

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

Случаи из жизни. Таких историй тоже много, вот одна из самых типичных. Жила-была база данных по имени prod. Инженер резервного копирования как положено поставил ее на бэкап. В один прекрасный день случился сбой, и администраторы восстановили базу рядом с названием prod1. Продуктив соответственно стал жить на prod1. Инженер резервного копирования про это ничего не знал, поэтому prod1 на бэкап не поставил. Старая база prod продолжает бэкапиться. Когда наступает необходимость восстановиться из бэкапа, оказывается, что его нет. Данные за последние 3 месяца потеряны.

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

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

Если не хочется проверять все вручную, то у большинства ПО резервного копирования есть функции автоматизации проверок (например, у Veeam Sure Backup – целостность данных).

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

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

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

Совет 5. Никакой отдельной инфраструктуры под резервное копирование

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

Случай из жизни. У клиента продуктив и резервное копирование делили между собой один сетевой канал.

Раз в квартал в компании рассчитывался квартальный отчет. Весь процесс занимал более 15 часов, поэтому группа (назовем ее условно “бизнес”) стартует генерацию отчета с утра и получает готовый отчет утром следующего дня. Одним таким прекрасным утром оказывается, что квартальный отчет не сформировался. Расследование показало, что ошибка произошла из-за разрыва соединения с базой данных. Каких-либо видимых технических причин этому не находилось. Через неделю ребята повторно запускают создание отчета, и все получается. Но через полгода проблема повторяется.

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

Если серьезно. Резервное копирование – ресурсоемкая вещь. В идеале под него нужна своя инфраструктура и сеть на выделенном оборудовании. Тогда резервное копирование не будет создавать помех продуктиву, а задания на бэкап и восстановление будут выполняться за приемлемое время.

Заложить отдельную инфраструктуру под резервное копирование легче всего на этапе планирования продуктивного стенда.

Если отделить мух от котлет уже не получается, то можно попробовать выставить ограничения средствами системы резервного копирования (Network Traffic Throttling) или ограничить полосу пропускания с помощью QoS на сетевом оборудовании. Тут главное соблюдать баланс и не “зарезать” полосу для резервного копирования так, что задания будут выполняться по 24 часа.

Совет 6. Не мониторьте

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

Меньше знаешь – крепче спишь.

Случай из жизни. У Veeam есть одна особенность: после установки обновления нужно обязательно зайти на основной сервер и запустить этот обновленный Veeam. Он проверит и выдаст список инфраструктурных серверов, требующих обновления. Если какие-то из компонентов инфраструктуры резервного копирования останутся необновленными, то основной сервер не сможет общаться с ними, при выполнении заданий будет выдаваться ошибка. Администратор то ли забыл про этот момент, то ли просто не знал, обновил основной сервер и ушел со спокойной душой на выходные. Оповещения не настроены, поэтому о своей ошибке он узнал только в понедельник, когда понадобились бэкапы, которых не было.

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

Мониторьте доступность самого сервера резервного копирования: хотя бы пингуйте.

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

Расскажите друзьям и коллегам о статье
  • Поделиться
  • Плюсануть
  • Поделиться

Подписка на новые статьи

Новые статьи почтой

Пишем редко, но по делу

Последние статьи

Учим плохому резервному копированию. Не делайте так.

20 апреля  •  Александр Васильев

Рассказываем, как устроено резервное копирование в Cloud-V и как создавать задания на бэкап виртуальных машин.

06 апреля  •  Сергей Груздов

Раскрываем секреты закулисья своего маленького крепостного театра DataLine.

31 марта  •  Яна Такмазис

Комментарии