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

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

Меня зовут Алексей Зотов, и у меня более чем 15-летний опыт в сфере резервного копирования. Я руковожу направлением ИТ-инфраструктуры в К2Тех. Средний стаж моей команды по бэкапу — 7–8 лет, и мы саппортили больше сотни заказчиков, инфраструктуры на тысячи хостов и петабайты данных. В общем, на рынке не первый день, но все это не означает, что со мной нельзя спорить в комментах. В конце концов, универсального подхода к резервному копированию не существует. Я лишь описываю общие принципы, но многое зависит от конкретного продукта.

Какие устройства выбрать для бэкапа?

Строго говоря, для хранения резервных копий используют два типа устройств: ленточные и дисковые. И кажется, будто в России уже нашли ответ на вопрос из заголовка. У нас 90% крупных компаний так или иначе используют ленты (вместе с дисками или сами по себе). Это притом, что скорый конец этого типа носителей предрекали уже много раз. Кажется, в первый раз на Хабре такие прогнозы появились около десяти лет назад, но вопреки всему, популярность «ленточек» растет. В прошлом году таких библиотек было продано на рекордные 153 эксабайта.

Подробнее о лентах для бэкапа

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

Я видел, как на Хабре еще в 2013-м жаловались на скорость восстановления с лент и говорили, что это делает их непригодными для бэкапа. Это не всегда так. Ленточные библиотеки хорошо масштабируются по производительности. Они состоят из набора кассет, робота, вставляющего эти кассеты, и набора ленточных приводов, которые эти кассеты читают или пишут. Если распараллелить потоки бэкапа или писать данные с нескольких клиентов параллельно, увеличение числа параллельно работающих приводов пропорционально повышает скорость резервного копирования и восстановления данных. Главное, уметь их нагрузить и использовать софт, поддерживающий мультистриминг.

У ленточных хранилищ другие недостатки: 

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

  • Не поддерживают оптимизации. Например, синтетическое резервное копирование, мгновенное восстановление данных и дедупликация — это такая legacy технология. Ты не можешь часто делать мелкие бэкапы, потому что по факту эти ленты нужно постоянно монтировать, размонтировать, перематывать. Поэтому ленты не подойдут, например, для бэкапа транзакционных логов с большого числа клиентов каждые 15–30 минут.

  • Меньшая надежность. Со временем ленты могут размагнититься или рассыпаться. Старые поколения особенно уязвимы к проблемам при чтении. Это просто боль, когда заказчики складывают бэкапы на длительный срок и забывают, а через пять лет вспоминают, что им нужно восстановиться. Конечно, оказывается, что к этому времени лента рассыпалась. 

Хорошо помню случай, когда у заказчика лежали кассеты еще из позапрошлого десятилетия, 2000-х годов. Формально бэкап есть, но на самом деле практически нет шансов с него восстановиться. Это не говоря о софте, который ставился максимум на Windows Server 2003. 

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

15 лет назад в процессе профилактики мы советовали присмотреться и, возможно, заменить ленту после 300 монтирований, а после тысячи (по моему опыту) – часто появлялись ошибки чтения/записи. Это были SDLT кассеты или поколение LTO2-LTO3. Однако, начиная где-то с LTO5, даже счетчик в 3-4 тысячи монтирований ничего уже не значил, и число отказов снизилось на порядок. 

Подробнее о дисках для бэкапа

Прямая противоположность лент — дисковое хранение данных. Его используют в разных форматах:

  • Серверы со встроенными дисками (от 12 до 24 и более).

  • СХД начального уровня.

  • Специализированные устройства хранения, такие как HPE StoreOnce, Dell DataDomain или новый Tatlin.Backup от Yadro, который мы тестировали все лето. Спойлер: есть нюансы, но в целом все отлично. Ждите статью.

Все эти устройства в том или ином виде снабжены функциями сжатия, дедупликации и повышенной отказоустойчивости. В первом и втором случаях – это софтовые реализации (кстати, диски обычно используем, конечно же, NL-SAS, главное, с объемом знать меру и брать на 8/10/12 ТБ), а в третьем – на уровне СХД. Но, несмотря на все различия, основа всех этих систем — жесткие диски.

По сравнению с лентами, дисковые СХД имеют два ключевых преимущества:

  • Произвольный доступ. В любой момент можно прочесть и восстановить любой блок. 

  • Большая защищенность. При использовании дисковых систем обычно создаются RAID-группы и применяются Hot Spare-диски. Такие конфигурации обеспечивают доступность резервной копии даже при поломке нескольких дисков.

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

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

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

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

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

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

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

Облака как средство хранения бэкапов. Immutable Storage

Новый тренд в резервном копировании — создание условно отчуждаемых копий в облачных объектных хранилищах, совместимых с Amazon S3. Такую услугу предлагают разные компании, в том числе и коллеги из K2 Cloud. Да, по сути эти те же жесткие диски, но расположенные вне вашей инфраструктуры. В теории они обладают надежностью дисковых систем, но обычно стоят немного дешевле СХД в вашей серверной.

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

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

Современные объектные хранилища с поддержкой программного копирования предлагают функцию Immutable Storage. Это реализация принципа WORM (write once, read many). После записи данных их невозможно удалить даже с правами администратора в течение заданного периода.

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

Если Immutable Storage недоступна, можно защитить резервные копии альтернативным способом. Создайте дополнительные облачные аккаунты с отдельными паролями и логинами (двухфакторка — наше все!). Периодически загружайте туда резервные копии, а затем разрывайте связь с этим хранилищем. Но такой метод, конечно, повышает цену хранения данных и вероятность утечки.

Как частота и время хранения бэкапов влияют на стоимость хранения

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

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

Грубо прикинем, что 1 ГБ хранения в месяц может стоить 2–3 рубля. Цифра кажется небольшой, но это пока. 

У нас такое бывало не раз: заказчик просит делать бэкапы каждую неделю и хранить их минимум месяц. Мы предлагаем схему: полный бэкап в выходные, инкрементальные — каждый день. За месяц накапливается 4 полные копии. Заказчик хочет хранить месячные копии год. Это еще 12 полных копий. Окей. А вдобавок он хочет хранить годовые копии еще 5 лет. Хорошо. Еще 5 полных копий.

В итоге получается 4+12+5 — 21 копия, которую нужно постоянно хранить. А потом оказывается, что это бэкап фронтенда на 100 терабайт. Получается больше 2 петабайт хранилища только под резервные копии!

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

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

  • Создайте регламент резервного копирования. Для этого классифицируйте все системы: критически важные для миссии, критически важные для бизнеса, важные для бизнес-целей, тестовые среды разработки. Затем для каждой категории определите целевое время восстановления (RTO), целевую точку восстановления (RPO), сроки хранения и частоту сохранения. 

  • Храните долго только «золотые копии», а не ежемесячные бэкапы. «Золотые копии» стоит хранить как минимум год, а ключевые данные, возможно, до 5–10 лет. Но больший срок — обычно лишняя нагрузка, тем более что эти данные с высокой долей вероятности уже никогда не будут восстанавливаться. Разве что вы работаете в архиве типа Wayback Machine.

  • Обязательно нужно создать регламент для процедур тестирования восстановления данных. Если тестирование не проведено ни разу за 5 лет, велика вероятность, что при восстановлении что-то пойдет не так. Кроме того, нужно учитывать, что срок резервных копий может превышать срок плановой замены оборудования и ПО в компании. Бывает так, что требуется восстановить информацию с архивного носителя, а соответствующее оборудование и ПО приходится искать в музее.
    В случае с тем заказчиком мы выяснили, что достаточно хранить данные год, а не 5-10 лет. Исключение составили несколько критически важных файлов. Кроме того, оказалось, что можно бэкапить не все системы, а только часть. Тогда вдумчивый анализ помог снизить затраты на оборудование и стоимость хранения почти в десять раз.

  • Микшируйте различные системы хранения. Для оперативных бэкапов, которые хранятся 2–4 недели, оптимальный выбор — диски. Если хочется хранить данные на них дольше, необходимо использовать дедупликацию (софтовую или на базе специализированного хранилища). Однако классический подход к долгосрочному хранению — это все-таки ленты, а более гибкая альтернатива — облачные хранилища.

  • Соблюдайте правило нескольких площадок. Не самый лучший, но минимально допустимый подход — перекрестное хранение копий на удаленной площадке, например, ЦОД и РЦОД. Стандартный, надежный подход — хранение на обеих площадках (дедупликация снизит нагрузку на канал, а специализированные устройства позволят передавать бэкапы напрямую). При идеальном раскладе к этой паре копий добавляется еще одна отчуждаемая — облако или кассеты, вывезенные на третью локацию.

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

To be continued…

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

Традиционно для бесед о бэкапе я всегда доступен по адресу: alzotov@k2.tech

Больше про бэкапы и СХД:

От носителей до регламентов: как построить безопасную архитектуру бэкапов

Тестируем СХД ExaGrid EX18: получилось ли заменить Dell DataDomain и HPE StoreOnce?

Комментарии (14)


  1. johnfound
    16.10.2024 08:09

    Я выскажу еретическую мысль – бэкапы не нужны в принципе. Когда был молодой (30 лет назад) делал, потому что "так обязательно надо". И все полки дома были заполненные дисками с бэкапами. Потом в один прекрасный день осознал, что я ни разу, никогда, не использовал ни один из этих дисков. Они начали распадаться будучи ни разу не прочитанными.

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

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

    Не знаю можно ли эту теорию расширить и на корпоративную информацию. Подозреваю что можно, но наверное надо что-то изменить и в работе корпорации с информацией...


    1. aik
      16.10.2024 08:09

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

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

      возможность начать с чистого листа, имея при себе все что реально нужно.

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


      1. johnfound
        16.10.2024 08:09

        Но если таки пригождаются - то окупают себя за много лет.

        А окупается ли на самом деле, или это только вера что так и есть? Конечно для отдельного частного случая может и окупается. А как обстоят дела глобально для всей экономики? Есть какие-то исследования или хотя бы расчеты "на коленке"?


        1. aik
          16.10.2024 08:09

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

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


          1. johnfound
            16.10.2024 08:09

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


            1. aik
              16.10.2024 08:09

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

              Многое рассчитывается не на окупаемость, а на комфорт и спокойствие при работе.


            1. funca
              16.10.2024 08:09

              Может этот самый файл был на соседнем компьютере, но было проще/быстрее позвонить поддержке, чем спросить у соседа?

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

              Сколько денег например потеряла бы компания, если пользователь грохнул файл, а неоткуда восстановить?

              Это часть стандартного security risk assessment.


    1. alzotov Автор
      16.10.2024 08:09

      Многое уже сказано выше и что-то я могу поддержать.

      Действительно, мы рассматриваем корпоративные и enterprise-среды, где все же потеря данных зачастую является недопустимой. И для понимания стратегии защиты, как я уже написал, требуется классифицировать свои информационные системы по критичности, чтобы понимать, как часто их бэкапить (если бэкапить вообще) и сколько времени хранить.

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


    1. olku
      16.10.2024 08:09

      Информация может очень много стоить. Иногда это все чем владеет компания. Да и регулятор напомнит про обязанности, если что.


    1. AlexanderS
      16.10.2024 08:09

      Я выскажу еретическую мысль – бэкапы не нужны в принципе.

      ...

      С тех пор, уже наверное больше 20 лет, я не делаю резервные копия. И знаете что – я никогда ничего нужного не терял.

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

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

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

      Везде нужна мера. Бекапить всё подряд, наверное, смысла не имеет равно так же как и не бекапить ничего. Крайности они такие)


      1. johnfound
        16.10.2024 08:09

        Например, файл с паролями к некоему сервису,

        О, вот хороший пример. У меня все пароли хранятся в KeePassXC и база данных с паролями всегда находится хотя бы на 2..3 компьютера – на личном ноуте, на домашнем компьютере и на служебном ноуте.

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

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


        1. AlexanderS
          16.10.2024 08:09

          Ну, это у вас так. А у человека это может быть на одном личном ноуте, который он везде таскает. А работа - это работа, там можете быть и запрещено на комп личное таскать) Человек эту проблему решает облаком - но именно для бэкапа, а не для работы.


  1. aik
    16.10.2024 08:09

    На счёт хранения бэкапов в облаках - там ведь кроме стоимости хранения есть ещё и стоимость восстановления, которая может быть на порядки выше.


    1. alzotov Автор
      16.10.2024 08:09

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