Data Domain Operating System не поддерживает заблаговременную повторную балансировку данных между хранилищами после увеличения емкости файловой системы Data Domain

Summary: В этой статье объясняется, что в операционной системе Data Domain Operating System (DDOS) отсутствует встроенная поддержка восстановления балансировки данных между хранилищами после расширения файловой системы Data Domain File System (DDFS) на Data Domain Restorer (DDR) ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Как и во многих других массивах хранения данных, емкость большинства моделей Data Domain Restorer (DDR) может быть увеличена путем добавления к системе внешних полок хранилища (ES30, DS60) и последующего расширения файловой системы Data Domain File System (DDFS) на этих полках. Когда это выполняется:
  • Новые полки физически подключены (с использованием кабельного подключения)
  • Data Domain Operating System (DDOS) повторно сканирует хранилище, чтобы определить наличие новых полок
  • Эти новые полки затем добавляются на уровень хранения в DDR (активный уровень или определенное архивное устройство).
  • Этот уровень может быть расширен в рабочем режиме без необходимости отключения DDFS.
  • Все новые данные, записанные на этот уровень хранения, записываются на существующие и новые полки
  • При этом для данных на существующих полках не выполняется балансировка между новыми полками
Подробное объяснение:
  • В DDOS единицей хранения данных является «контейнер» размером 4,5 Мбайт.
  • По мере создания контейнеры объемом 4,5 Мбайт записываются на все полки в архивном устройстве соответствующего уровня в режиме циклического перебора
  • При добавлении дополнительных полок в архивное устройство уровня DDFS начинает записывать новые контейнеры объемом 4,5 Мбайт в эти полки в дополнение к существующим полкам (новые полки включаются при записи контейнеров с циклическим перебором)
  • Однако DDOS не предпринимает каких-либо конкретных попыток (и не предлагает каких-либо конкретных функций) для переноса существующих контейнеров на уровне с существующих на новые полки
Это означает, что добавление полок может привести к тому, что данные окажутся «несбалансированы» во всем подключенном хранилище. Пример.
  • DDR изначально имеет одну полку на активном уровне, которая заполнена на 90%
  • К активному уровню добавляется дополнительная полка, а DDFS расширяется на эту полку
  • Операции записи новых контейнеров объемом 4,5 Мбайт теперь выполняются в режиме циклического перебора в существующих и новых полках
  • В результате в существующей полке остается мало свободного места, в то время как подключенная последней полка почти пустая
В этом сценарии многие массивы хранения позволяют администратору перераспределять данные между подключенными полками, заблаговременно перенося часть данных с существующих полок на вновь добавляемые, с тем чтобы используемая емкость всех полок была примерно одинаковой. Следует отметить при этом, что DDOS НЕ предлагает такой функциональности, а в силу особенностей DDFS она и не требуется, поскольку повторная балансировка данных происходит естественным образом с течением времени.

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

Очистка памяти

Очистка памяти (GC) — это запланированное действие, которое регулярно выполняется на DDR (по умолчанию раз в неделю для активного уровня и, если включена функция реорганизации пространства, по мере необходимости для архивных устройств). При ее запуске:
  • Определяется, какие физические данные в архивном устройстве уровня являются «живыми» (используются одним или несколькими файлами в файловой системе или объектами, такими как снимки) или «мертвыми» (на них не ссылается ни один объект, поэтому они бесполезны для системы).
  • Определяются контейнеры объемом 4,5 Мбайт, содержащие большинство «мертвых» данных в устройстве архивного уровня
  • Определенные контейнеры объемом 4,5 Мбайт считываются и из них извлекаются все содержащиеся «живые» данные, которые затем «копируются с перенаправлением» во вновь созданные контейнеры объемом 4,5 Мбайт, которые записываются на все полки в архивном устройстве уровня
  • Удаляются старые контейнеры объемом 4,5 Мбайт, стирая «мертвые» данные, которые они содержат, и освобождая пространство базовых накопителей для повторного использования
Когда GC работает в системе с любой формой дисбаланса данных, ожидается, что большинство старых данных (и, следовательно, большинство «мертвых» данных) будет храниться на старых полках в архивном устройстве уровня. В результате большая часть контейнеров, используемых для считывания, копирования, перенаправления и удаления данных, находится на старых полках. Однако новые контейнеры записываются в режиме циклического перебора всех полок на уровне. В результате большая часть пространства, освобождаемого GC, находится на старых полках, а новое пространство используется на всех полках.

Приведем простой пример.
  • Активный уровень DDR содержит две полки: первая полка содержит 10 000 контейнеров объемом 4,5 Мбайт, а вторая полка содержит 100 контейнеров объемом 4,5 Мбайт (на каждый контейнер на второй полке приходится 100 контейнеров на первой)
  • При выполнении команды GC копируются данные из 5000 контейнеров на первой полке
  • Данные в этих 5000 контейнерах в режиме реального времени приводят к созданию 1000 новых контейнеров объемом 4,5 Мбайт
  • Эти 1000 новых контейнеров объемом 4,5 Мбайт записываются на обе полки
  • Поэтому после завершения команды GC первая полка содержит 5500 контейнеров объемом 4,5 Мбайт, а вторая полка содержит 600 контейнеров (на каждый контейнер на второй полке приходится приблизительно девять контейнеров на первой полке).
  • При одном запуске GC дисбаланс контейнеров между первой и второй полками сократился в 10 раз. Ожидается, что этот коэффициент будет еще ниже во время последующих запусков GC, что означает, что данные со временем будут повторно автоматически сбалансированы между полками
Восстановление локальности.

При записи файла в DDR выполняются следующие операции высокого уровня:
  • Файл разделяется на логические фрагменты (называемые сегментами) размером 4–12 Кбайт
  • Для каждого сегмента проверяется, не существует ли такой сегмент на диске в пределах уровня, на который записывается файл
  • Если сегмент уже существует, он является дубликатом данных, и этот сегмент в новом записанном файле заменяется указателем на существующие данные на диске
  • Если сегмента не существует, эти данные считаются уникальными и соответственно упаковываются в новый контейнер объемом 4,5 Мбайт и записываются на диск
Для всех файлов существует понятие «локальности» — того, насколько последовательно сегменты данных, на которые ссылается этот файл, располагаются на диске DDR. Очевидно, что файлы с высоким коэффициентом дедупликации (содержащие большое количество дубликатов данных), скорее всего, будут иметь худшую локальность, чем уникальные файлы, поскольку при поступлении их данные заменяются указателями на существующие данные, которые могут быть разбросаны по контейнерам/дискам в архивном устройстве соответствующего уровня.

Для достижения хорошей производительности чтения данных на DDR необходимо, чтобы файл имел высокую «локальность» (его данные были относительно последовательными на диске), что позволит алгоритмам DDFS работать оптимально. Отметим также, что DDFS предполагает, что файл, из которого, скорее всего, будет производиться чтение (для восстановления или копирования), является самым актуальным экземпляром данной резервной копии. В результате для определенных типов данных (например, виртуального синтеза) выполняется процесс, называемый «восстановлением локальности», для «оптимизации» локальности новых записанных данных файлов. При запуске восстановления локальности выполняется следующее:
  • Выполняется анализ данных, на которые ссылается файл, в поисках участков, на которых данные не являются последовательными на диске (указывает на недостаточную локальность)
  • Эти непоследовательно записанные данные считываются с диска и повторяется их последовательная запись (в виде дублирующихся данных) в недавно созданные контейнеры объемом 4,5 Мбайт
Предполагается, что при очередном запуске GC старая копия дублирующихся (непоследовательных) данных будет определена как «мертвая» и удалена из системы. Это означает следующее.
  • В системах с нарушением баланса данных ожидается, что большинство старых непоследовательных данных будет храниться в старых, более заполненных полках
  • При последовательной перезаписи этих данных в виде дублирующихся данных они помещаются в новые контейнеры объемом 4,5 Мбайт, для которых выполняется циклический перебор на всех полках соответствующего уровня
  • В результате большинство «мертвых» (старых дублирующихся данных), созданных в результате восстановления локальности, существует на старых, более заполненных полках
  • При выполнении GC большая часть «мертвых» данных оказывается на старых, наиболее заполненных полках и удаляется (освобождая место на этих полках), как описано выше.
Заключение

В результате благодаря использованию обычных функций восстановления локальности и очистки памяти (GC) DDR может автоматически перераспределять данные по полкам во время своей обычной работы. При этом не требуется дополнительного участия администраторов, а значит нет необходимости в специальных операциях по восстановлению балансировки данных, как это иногда бывает в других массивах хранения. Чтобы ускорить процесс повторной балансировки, необходимо выполнить одно из следующих действий.
  • Увеличьте скорость, с которой выполняется «отток» данных на DDR
  • Увеличьте объем данных, для которых восстанавливается локальность на DDR
Чтобы обсудить любой из этих вариантов, обратитесь к своему поставщику услуг поддержки, указав сведения из этой статьи.

Affected Products

Data Domain
Article Properties
Article Number: 000019150
Article Type: How To
Last Modified: 29 Jul 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.