Информационный бюллетень Tech OnTap, посвященный решениям компании NetApp Логотип компании NetApp
Информационный бюллетень Tech OnTap, посвященный решениям компании NetApp
     
Что такое «уплотнение данных» (Data Compaction) NetApp
Скип Шапиро
Скип Шапиро
инженер по техническому маркетингу, All Flash FAS и ONTAP Flash
NetApp

В NetApp® ONTAP® 9 появилась новая функция повышения эффективности хранения данных под названием «уплотнение данных». Многие еще не сталкивались с этой концепцией, поэтому мне хотелось бы кратко объяснить, как работает уплотнение данных и как оно сочетается с другими нашими технологиями повышения эффективности хранения данных.

Встроенная система уплотнения данных обрабатывает данные в хронологической последовательности, т. е. в порядке их поступления в контроллер СХД. Пока данные находятся в памяти контроллера, мы разбираем их на блоки, каждый из которых полностью занимает один физический сектор емкостью 4 КБ, и сжимаем каждый из этих блоков. После такого уплотнения в одном секторе емкостью 4 КБ умещается уже несколько блоков. На бытовом уровне эту процедуру можно сравнить с запихиванием большого количества одежды в маленький чемодан. Если в блоке данных встречается длинная последовательность нулей, мы рассматриваем ее как пустое место внутри блока, от которого можно избавиться без потери информации. Это и есть «уплотнение данных».

Встроенная функция уплотнения данных используется в процессе создания «точки консистентности» (consistency point) в ONTAP. Это можно сравнить с игрой в тетрис. В начале игры у нас есть множество маленьких блоков данных. Наша задача — максимально компактно упаковать эти блоки в контейнеры хранения данных, чтобы в контейнерах не оставалось свободного места. Наша система уплотнения данных основана на инновационных алгоритмах. По ней зарегистрирован ряд патентных заявок. Функция уплотнения по умолчанию включена для СХД NetApp All Flash FAS. Она может использоваться в системах FAS как с агрегатами, содержащими только жесткие диски, так и с агрегатами NetApp Flash Pool. Уплотнение данных не требует дополнительных вычислительных ресурсов — это базовая функциональность, встроенная в ядро ONTAP аналогично компрессии и дедупликации.

Уплотнение используется как дополнительный метод повышения эффективности хранения данных. Оно хорошо сочетается с адаптивным сжатием, но не оказывает влияния на дедупликацию данных. При адаптивном сжатии данных «на лету» мы создаем так называемые «группы сжатия» для данных, сжимаемых более чем на 50%. После сжатия мы ищем возможности для дальнейшего уплотнения данных, по возможности упаковывая в один физический сектор сразу несколько маленьких блоков данных или, например, один большой блок и один маленький. Уплотнение производится в ходе создания «точки консистентности» и практически не загружает ЦПУ (не более 1–2%). Ситуация, когда 1–2% дополнительной нагрузки на ЦПУ приводят к замедлению работы системы, крайне маловероятна. Такое возможно только в том случае, когда система изначально перегружена.

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

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

  1. В первую очередь мы находим все блоки, состоящие из нулей. Эти блоки мы не записываем, а только обновляем метаданные. В сущности, эти блоки только подсчитываются.
  2. Затем мы применяем алгоритм адаптивного сжатия. Этот алгоритм с высокой эффективностью оценивает степень сжатия каждого блока данных. Если сжимаемость блока не превышает 49%, то нам нет смысла тратить вычислительные ресурсы на его сжатие. Сжатию подвергаются только блоки со сжимаемостью 50% и выше.
  3. Затем выполняется поточная дедупликация. Эта функция впервые появилась в ONTAP 8.3.2. Вначале она работала только с данными в памяти. С переходом на ONTAP 9.0 мы увеличили емкость хранилища хэшей фингерпринтов. Теперь в него также заносятся данные, недавно перенесенные из памяти на накопители. Практика показывает, что для максимальной эффективности, помимо поточной дедупликации данных, следует время от времени также выполнять фоновую дедупликацию (постдедупликацию) по заданному графику.
  4. На последнем этапе выполняется уплотнение данных. Уплотнению подвергаются все данные, обработанные адаптивным сжатием, а также данные, неподходящие для сжатия. Иными словами, это либо маленькие несжатые файлы, либо данные, сжатые адаптивным сжатием на 75% или более. Алгоритм уплотнения по возможности плотно упаковывает блоки данных в физические секторы по 4 КБ, минимизируя потери дискового пространства. Чем выше степень сжатия и чем меньше размер файлов, тем эффективнее оказывается уплотнение. Сочетание методик упаковки маленьких блоков, сжатия и уплотнения позволяет достичь выдающихся результатов.

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

Рис. 1. Применение технологий повышения эффективности хранения данных NetApp по мере обработки данных в стэке ONTAP

Источник: NetApp, 2016 г.

При необходимости вы можете использовать поточное уплотнение данных отдельно от сжатия или дедупликации. Предположим, что у вас имеется большое количество маленьких файлов, не превышающих 2 КБ. Эффективность сжатия файлов такого размера крайне невелика. Дедупликация, вероятно, также не принесет заметной экономии. Но поточное уплотнение данных в такой ситуации будет исключительно эффективным, поскольку в каждом физическом секторе объемом 4 КБ удастся разместить два или более файлов.

Что касается репликации данных на логическом уровне, если исходный том и том назначения используют одни и те же политики повышения эффективности, то экономия объема при репликации сохраняется автоматически, без необходимости повторной обработки копируемых данных. Предположим, мы копируем данные с системы All-Flash FAS, в которой используются все технологии повышения эффективности (конфигурация по умолчанию), в систему FAS, которая служит системой назначения для NetApp SnapVault®. Если вы хотите сохранить экономию дискового пространства, полученную за счет дедупликации, адаптивного сжатия и поточного уплотнения данных, то вам необходимо убедиться, что и в системе назначения используются все те же политики.

Если же эти политики повышения эффективности хранения данных не активны в системе назначения FAS, то при репликации с ONTAP 9 All-Flash FAS все данные будут «разжаты» до исходного состояния. Все результаты, достигнутые ранее за счет сжатия, дедупликации и уплотнения, будут потеряны. Поэтому если вы хотите сохранить достигнутую экономию дискового пространства, то убедитесь, что в исходной системе и в системе назначения используются одни и те же политики повышения эффективности. При копировании данных с All-Flash FAS мы рекомендуем активировать все технологии повышения эффективности в системе назначения. Таким образом вы гарантированно сохраните все результаты экономии дискового пространства, полученные ранее.

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

Скип Шапиро — инженер по техническому маркетингу NetApp, отвечающий за технологии NetApp All-Flash FAS, Flash Pool и Flash Cache. На конференциях NetApp Insight® в Лас-Вегасе и Берлине Скип прочтет две технические лекции. Более подробная информация доступна по ссылкам:

NetApp Insight, Лас-Вегас, с 26 по 29 сентября:
NetApp ONTAP 9: предсказуемая производительность в бизнес-средах с заданным качеством обслуживания
Погружение в технические подробности All Flash FAS

NetApp Insight, Берлин, с 14 по 17 ноября:
NetApp ONTAP 9: предсказуемая производительность в бизнес-средах с заданным качеством обслуживания
Погружение в технические подробности All Flash FAS

октября 2016 г.

 
Связаться с нами   |   Как купить   |   Обратная связь   |   Карьера в NetApp  |   Подписка   |   Политика конфиденциальности   |   © 2016 NetApp, Inc.