Резервное Копирование С Программно-Определяемым Хранилищем И Стирающим Кодированием – Стоит Ли Заморачиваться?

По мере роста активности программ-вымогателей типа Petya или BadRabbit, а также ужесточения требований законодательства (например, только что вступил в силу № 187-ФЗ «О защите критической информационной инфраструктуры») объемы данных для резервного копирования постоянно увеличивается.

В результате стоимость инфраструктуры хранения резервных копий возрастает. Такие технологии, как Erasure Coding, могут значительно снизить затраты на хранение.

Сегодня мы вам подробно расскажем, сколько и как построить Бэкап на базе Erasure Coding.

Резервное копирование с программно-определяемым хранилищем и стирающим кодированием – стоит ли заморачиваться?

О кодах Рида-Соломона, как о наиболее эффективном методе хранения больших объемов информации в программно-определяемом хранилище (SDS), уже много сказано и написано.

Но резервное копирование — один из идеальных сценариев использования Erasure Coding (EC), поскольку резервная копия представляет собой большой файл, который записывается и читается последовательно.

Несмотря на растущую популярность SDS, они не так часто используются для хранения резервных копий, поскольку SDS по умолчанию использует традиционную репликацию для защиты пользовательских данных, что требует в 2 или 3 раза больше дискового пространства по сравнению с «чистым» объемом информации.

Как следствие, такое решение проблемы крайне неэффективно.

В распределенных системах хранения, к которым относится наше Виртуозо Хранилище, а также любых современных программно-определяемых системах хранения данных для каждого блока данных создается одна или две копии, и все они размещаются на разных серверах в зависимости от нагрузки, близости к объекту.

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

При использовании Erasure Coding данные разбиваются на несколько блоков и распределяются по узлам кластера.

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

.

Например, если у вас кластер из 5 серверов, чтобы обезопасить себя от выхода из строя двух из них, вам потребуется использовать либо 3 реплики в случае репликации, либо Erasure Coding по схеме 3 (блоки) + 2 (хеш).

Допустим, вы храните 100ГБ, тогда ваши данные вместе с репликами займут целых 300ГБ, а при использовании EC эта емкость уменьшится примерно до 170ГБ.

И чем больше серверов у вас в кластере, тем больше места вы сэкономите.

Например, в случае кластера из 20 серверов избыточное использование диска составит всего около 20%.



Резервное копирование с программно-определяемым хранилищем и стирающим кодированием – стоит ли заморачиваться?

Да, в некоторых сценариях использование Erasure Coding приводит к снижению производительности приложений, но, как оказывается, в случае с резервными копиями все наоборот — это приводит к увеличению скорости создания резервной копии.

А учитывая, что в коммерческих решениях Erasure Coding зачастую является платной опцией, а ее производительность пока под вопросом, не все решаются попробовать программно-определяемое хранилище для хранения резервных копий.

И мы сейчас покажем, что это совершенно напрасно.

И все же, а как насчет производительности? Мы тестировали скорость резервного копирования при использовании Erasure Coding в двух конфигурациях — на кластере №1, состоящем из 6 узлов, и на кластере №2, состоящем из 12 узлов.

Схема Erasure Coding была применена на основе стандартной функциональности ПК Р-Хранилище, а конфигурации сервера были следующими: В первом кластере, который был запущен на 6 узлах, размещалось 42 жёстких диска (chunk service), по 7 дисков в каждом сервере.

Мы использовали стандартные SATA-накопители со скоростью вращения шпинделя 7200 об/мин.

Для каждого из них был создан журнал на SSD-накопителях NVMe емкостью 32 ГБ (всего 224 ГБ на сервер), а размер клиентского кэша для этого кластера составил 64 ГБ на точку монтирования.

В качестве ПО для резервного копирования мы использовали встроенное решение Virtuozzo 7.

Резервное копирование с программно-определяемым хранилищем и стирающим кодированием – стоит ли заморачиваться?

Результаты измерений показали, что пропускная способность такого 6-узлового кластера для задачи резервного копирования при использовании Erasure Coding в 1,6 раза выше по сравнению с традиционной репликацией.



Резервное копирование с программно-определяемым хранилищем и стирающим кодированием – стоит ли заморачиваться?

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

Таким образом, кластер №2 уже состоял из 12 узлов, каждый из которых содержал 11 высокоскоростных дисков SAS со скоростью вращения шпинделя 15 000 об/мин.

В связи с этим был уменьшен размер логов на SSD-накопителях NVMe (16 ГБ на сервис фрагментов или 176 ГБ на узел).

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

Почему это происходит? На самом деле ответ прост: в отличие от других, возможно, более сложных задач, резервное копирование фактически представляет собой последовательную запись данных (Sequential write).

А в случае с EC кластеру нужно писать меньше ненужных данных.

При использовании стандартной схемы репликации с 3 репликами информацию необходимо записать три раза (исходный блок и две копии), а Erasure Coding записывает лишь на 20% больше данных, чем размер исходного файла.

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

Ведь канал в 1 Гбит/с может обеспечить передачу данных со скоростью 110-120 МБ/с, что примерно соответствует возможностям всего одного жесткого диска по последовательной записи/чтению.

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

Для хранения небольших объемов нетребовательных данных можно использовать сетевые адаптеры на 1 Гбит/с, хотя для продуктивных рабочих нагрузок мы, конечно, рекомендуем сетевые адаптеры на 10 Гбит/с.

Используйте бесплатно Проблема с производительностью решена — Erasure Coding действительно обрабатывает резервные копии быстрее, чем репликацию, при этом существенно экономя дисковое пространство, а значит и ресурсы серверов, дисков и сетевых портов.

Сколько это стоит? С Virtuozzo Storage вы можете использовать Erasure Coding бесплатно — это включено в нашу стандартную лицензию.

Erasure Coding — это всего лишь вариант при создании тома данных для контейнеров и виртуальных машин Virtuozzo, iSCSI, NFS или объектного хранилища.

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

А если вы используете Virtuozzo с Virtuozzo Storage, само программное обеспечение для резервного копирования уже включено в вашу лицензию.



Резервное копирование с программно-определяемым хранилищем и стирающим кодированием – стоит ли заморачиваться?

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

Если вы активно используете объектное хранилище, например, совместимое с Amazon S3 Object Storage, то Erasure Coding станет еще более лучшим выбором для такого рода рабочей нагрузки.

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

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Используете ли вы EC для резервного копирования? 30% Да 3 40% Нет 4 30% Иду 3 Проголосовали 10 пользователей.

4 пользователя воздержались.

Теги: #Хранение данных #Виртуализация #Резервное копирование #резервное копирование #sds #стирание кодирования #virtuozzo #EC

Вместе с данным постом часто просматривают: