Зачем проверять восстановление: копия без проверки — это не копия
Резервное копирование — это не задача, которую можно закрыть галочкой после настройки. Это процесс, который должен гарантировать, что данные можно вернуть после сбоя, атаки или случайного удаления. Но гарантия работает только в одном случае: если копию хотя бы раз восстановили на чистом сервере и убедились, что она целая, читаемая и восстанавливается за приемлемое время.
Пока копию не восстановили, она не существует. Есть только набор байтов, который может оказаться повреждённым, неполным или нерасшифровываемым. Восстановление — это единственный способ проверить, что копия действительно защищает данные, а не создаёт иллюзию безопасности. Без проверки копия — это как огнетушитель, который никто никогда не испытывал: в теории он должен сработать, но на практике может оказаться пустым.
Что должно быть у копии: четыре условия, без которых она бесполезна
Копия — это не просто файл. Это набор условий, которые делают её рабочей. Если хотя бы одно из них не выполнено, копия может не сработать в нужный момент.
-
Срок хранения Данные должны храниться столько, сколько требуется для бизнеса или регулятора. Если копия удаляется раньше, чем нужно, она бесполезна. Например, если регулятор требует хранить данные три года, а копии удаляются через год, то в случае проверки данные будут недоступны. Срок хранения должен быть задан явно и соответствовать требованиям.
-
Место хранения Копия должна лежать вне того же сервера, где хранятся оригинальные данные. Если сервер выйдет из строя, сгорит или будет заражён шифровальщиком, копия на его диске погибнет вместе с оригиналом. Хранить копии нужно на отдельном носителе: другом сервере, облачном хранилище или ленте. При этом носитель должен быть доступен в нужный момент: если копия лежит на ленте в другом городе, а данные нужно восстановить за час, это не поможет.
-
Проверка целостности Копия должна иметь механизм, который подтверждает, что данные не повреждены. Это может быть контрольная сумма, хеш или другой способ проверки. Без этого невозможно узнать, что копия целая, пока не попробуешь её восстановить. Например, если копия базы данных повреждена, но контрольная сумма не проверяется, то при восстановлении данные могут оказаться нечитаемыми.
-
Известное время восстановления Должно быть замерено, сколько времени занимает восстановление данных из копии. Если время восстановления неизвестно, невозможно планировать аварийное восстановление. Например, если бизнес требует, чтобы данные восстанавливались за 10 минут, а на практике восстановление занимает час, то копия не соответствует требованиям.
Без этих условий копия — это просто файл, который может не сработать в нужный момент. Наличие файла не гарантирует, что данные можно восстановить.
Две величины, которые задают всю схему: сколько терять и сколько ждать
Вся схема резервного копирования строится вокруг двух вопросов. Ответы на них определяют, как часто делать копии, где их хранить и как проверять.
-
Сколько данных допустимо потерять? Это определяет, как часто нужно делать копии. Если допустимо потерять данные за последний час, копии нужно делать каждый час. Если допустимо потерять данные за день — достаточно ежедневных копий. Если данные критичны и потеря даже одного байта недопустима, нужно использовать репликацию или другие механизмы, которые обеспечивают минимальные потери.
Например, если бизнес может позволить себе потерять данные за последние 15 минут, то копии нужно делать каждые 15 минут. Если данные не так критичны, можно делать копии раз в день. Но если требования не определены, копии будут либо слишком частыми и дорогими, либо слишком редкими и бесполезными.
-
Сколько времени допустимо восстанавливаться? Это определяет, где и как хранить копии. Если восстановление должно занимать не более 10 минут, копии нужно хранить на быстром носителе рядом с сервером. Если допустимо восстанавливаться несколько часов, можно хранить копии в облаке или на ленте.
Например, если бизнес требует, чтобы данные восстанавливались за 5 минут, то копии нужно хранить на SSD или другом быстром носителе. Если допустимо восстанавливаться за несколько часов, можно использовать облачное хранилище или ленту. Но если время восстановления не замерено, невозможно понять, соответствует ли схема требованиям.
Эти две величины — основа всей стратегии. Если их не определить, копии будут либо слишком дорогими, либо бесполезными.
Как проводить учения по восстановлению: шаг за шагом
Учения — это не разовая акция, а регулярный процесс. Они должны проводиться по чёткому плану, чтобы убедиться, что копии работают. Вот порядок действий:
-
Восстановить на чистый сервер Нельзя восстанавливать на тот же сервер, где лежат оригинальные данные. Нужно взять чистый сервер или виртуальную машину и восстановить копию туда. Это единственный способ убедиться, что копия работает независимо от оригинала. Если восстанавливать на тот же сервер, можно не заметить, что копия повреждена или неполна.
-
Сверить контрольные суммы и число строк После восстановления нужно убедиться, что данные не повреждены. Для этого сверяют контрольные суммы оригинала и копии, а также число строк в базе данных. Если контрольные суммы не совпадают, данные повреждены. Если число строк отличается, копия неполна.
Например, если в оригинальной базе данных 100 000 строк, а в восстановленной — 99 000, значит, копия неполная. Если контрольная сумма не совпадает, данные повреждены и не могут быть использованы.
-
Замерить время восстановления Нужно засечь, сколько времени занимает восстановление, и убедиться, что оно укладывается в допустимые рамки. Если время восстановления превышает допустимое, нужно пересмотреть схему хранения или механизм восстановления.
Например, если бизнес требует, чтобы данные восстанавливались за 10 минут, а на практике восстановление занимает 20 минут, то копия не соответствует требованиям. В этом случае нужно либо ускорить восстановление, либо пересмотреть требования.
-
Записать результат Результаты учений нужно фиксировать: дата, время восстановления, состояние данных. Это поможет отслеживать изменения и выявлять проблемы. Например, если время восстановления постепенно увеличивается, это может указывать на проблемы с носителем или механизмом восстановления.
Учения нужно проводить регулярно — например, раз в месяц. Если копии не восстанавливать, они перестают быть надёжными. Регулярные проверки — это единственный способ убедиться, что копии работают.
Частые способы потерять данные при живых копиях: шесть ошибок, которые легко допустить
Даже если копии делаются регулярно, есть несколько способов потерять данные. Вот самые распространённые ошибки:
-
Копия на том же диске Если копия лежит на том же диске, что и оригинальные данные, при выходе диска из строя потеряются и данные, и копия. Это одна из самых распространённых ошибок: кажется, что копия есть, но на самом деле она бесполезна.
-
Копия без секретов для расшифровки Если копия зашифрована, но ключи для расшифровки потеряны или недоступны, копия бесполезна. Например, если ключи хранятся на том же сервере, что и копия, то при сбое сервера ключи будут недоступны. Ключи должны храниться отдельно и быть доступны в нужный момент.
-
Копия схемы без данных Иногда копируют только схему базы данных, забывая про сами данные. Восстановить такую копию невозможно: база данных будет пустой. Копия должна включать и схему, и данные.
-
Шифровальщик добрался до хранилища Если копии хранятся в доступном месте, шифровальщик может зашифровать и их. Копии должны быть защищены так же, как и оригинальные данные. Например, если копии хранятся в облаке, нужно использовать многофакторную аутентификацию и ограничивать доступ.
-
Копия без проверки целостности Если копия не имеет контрольной суммы или другого механизма проверки, невозможно узнать, что данные повреждены, пока не попробуешь её восстановить. Например, если копия базы данных повреждена, но контрольная сумма не проверяется, то при восстановлении данные могут оказаться нечитаемыми.
-
Копия без срока хранения Если копия не имеет срока хранения, она может быть удалена раньше, чем нужно. Например, если регулятор требует хранить данные три года, а копии удаляются через год, то в случае проверки данные будут недоступны.
Эти ошибки легко допустить, но их легко избежать, если следовать правилам.
Почему просто настроить копирование — это тупик: иллюзия безопасности
Самая распространённая ошибка — настроить копирование и поставить галочку в задаче. Но копирование без проверки — это не резервное копирование, а самообман.
Копия, которую ни разу не восстанавливали, — это не копия. Это файл, который может не сработать в нужный момент. Проверка восстановления — это единственный способ убедиться, что копия действительно защищает данные.
Например, если копия делается каждый день, но ни разу не восстанавливалась, то при сбое может оказаться, что копия повреждена или неполна. Или что ключи для расшифровки недоступны. Или что время восстановления превышает допустимое. Без проверки невозможно узнать, работает ли копия.
Позиция редакции: резервное копирование — это про восстановление, а не про файлы
Резервное копирование — это не про наличие файлов, а про возможность восстановить данные. Если копию ни разу не восстанавливали, она не существует. Регулярные учения по восстановлению — это единственный способ убедиться, что копии работают.
Однако есть условие, при котором эта позиция неверна: если данные не критичны и их потеря не приведёт к серьёзным последствиям. В этом случае можно обойтись без проверок, но тогда и копии не нужны. Например, если данные можно восстановить из других источников или их потеря не повлияет на бизнес, то проверки не обязательны. Но если данные критичны, проверки необходимы.
Что делать дальше: шаги, которые нужно предпринять
-
Определите требования Узнайте, сколько данных допустимо потерять и сколько времени допустимо восстанавливаться. Эти две величины определяют всю схему резервного копирования.
-
Настройте копирование Настройте копирование с учётом требований. Убедитесь, что копии делаются с нужной частотой и хранятся в нужном месте.
-
Проведите учения по восстановлению Восстановите копию на чистом сервере, сверьте контрольные суммы и число строк, замерьте время восстановления и запишите результат.
-
Повторяйте учения регулярно Проводите учения раз в месяц или чаще, если данные критичны. Регулярные проверки — это единственный способ убедиться, что копии работают.
Если следовать этим шагам, резервные копии будут действительно защищать данные, а не создавать иллюзию безопасности.