Data Domain: Общие сведения о стадиях сборки/сборки «очистка/мусор» файловой системы Data Domain (DDFS)

Summary: В этой статье приводится обзор этапов очистки Data Domain и сбора «мусора», а также описаны различия между различными чистыми алгоритмами, используемыми в различных выпусках операционной системы Data domain. ...

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.

Symptoms

Файловая система Data Domain (DDFS) отличается от многих распространенных реализаций файловой системы, так как файл удаляется из пространства файловой системы, используемого этим файлом, не сразу же становится доступным для повторного использования. Причина этого заключается в том, что система Data Domain Restore (DDR) не определяет, выполняется ли дедублирование данных, на которые ссылается удаленный файл, в отношении других файлов, и, следовательно, можно ли их удалить.

Очистка (иногда называемая «сбором мусора/GC») — это процесс, с помощью которого DDR:
  • Определяет, какие данные на диске являются избыточными (т. е. больше нет ссылок среди объектов, таких как файлы или снимки).
  • Физически удаляет избыточные данные, делая базовое пространство на диске доступным для повторного использования (т. е. приема новых данных).
Регулярное выполнение очистки или GC чаще всего выполняется с регулярными интервалами (по умолчанию он запускается 6am каждый вторник) и может иметь следующие значения:
  • Длительное выполнение
  • Ресурсоемкие вычисления
Однако обратите внимание, что не существует способа, Кроме запуска «чистого» или GC, в котором данные могут быть удалены и физически освобождены в Data Domain Restore (т. е. отсутствуют ярлыки для ускорения этого процесса).

В этой статье описана процедура Clean/GC более подробно. объясняются следующие сведения:
  • Этапы, которые обычно выполняются
  • Различные чистые алгоритмы, используемые в различных версиях DDOS

Cause

Нет

Resolution

Каждый раз, когда выполняется очистка/GC, он имеет две основные цели. в первую очередь необходимо найти избыточные данные на DDR — краткий обзор того, как это делается.
  • Команда Clean/GC перечисляет содержимое файловой системы DDFS, где ищутся такие объекты, как файлы, снимки и журналы репликации, которые в настоящее время существуют в системе.
  • Затем определяются все физические данные на диске, на которые активно ссылаются эти объекты.
  • Данные, на которые имеется активная ссылка, называются «живой» и не могут быть удалены из DDR иначе объекты, которые ссылаются на эти данные, будут повреждены (они больше не смогут быть прочитаны, так как базовые данные, от которых они зависят, больше не будут существовать на диске).
  • Данные, на которые неактивно ссылается какой-либо объект, называются «мертвыми» и являются избыточными — эти данные можно безопасно извлечь из системы.
  • Все данные в DDR упаковываются в объекты размером 4,5 Мбайт, называемые контейнерами.
  • Посредством перечисления reenumeration Clean/GC может определить, какие контейнеры 4.5 МБ содержат неработающие данные, и объем неиспользуемых данных в каждом
  • По умолчанию для операции «очистить/GC» выбираются контейнеры 4.5 Мбайт, удерживающие > 8% неработающих данных для «обработки»
Во-вторых, он должен удалить неработающие данные на DDR — краткое описание этого способа приведено ниже.
  • Контейнеры, выбранные для обработки, снова проверяются, чтобы подтвердить, что они сохраняют хорошее количество неиспользуемых данных.
  • Динамические данные извлекаются из этих контейнеров и записываются в новые контейнеры 4.5 МБ в конце файловой системы.
  • После завершения этой процедуры все выбранные контейнеры (в том числе содержащиеся в них неработающие данные) будут удалены с диска, физически освобождая дисковое пространство.
Процесс очистки разделен на несколько этапов с общим количеством фаз в зависимости от:
  • Версия DDOS, используемая в DDR (поэтому по умолчанию используется алгоритм Clean в соответствии с этой версией DDOS)
  • Конфигурация/содержимое системы
Однако в общем случае процесс обнаружения «неработающих» данных и выбора соответствующих контейнеров происходит в течение нескольких этапов, в то время как удаление неработающих данных происходит на одном этапе, известном как Copy. Например, определенные версии DDOS будут запускать чистые этапы, как описано ниже.
  1. Предварительное перечисление: перечисление содержания файловой системы DDFS
  2. Предобъединение — выполнение слияния индексов DDFS, чтобы обеспечить запись самой последней копии сведений о индексе на диск
  3. Pre-Filter — определяет, имеются ли повторяющиеся данные в файловой системе DDFS, и, если это так.
  4. Предварительное выделение — определение того, какие контейнеры 4.5 МБ должны быть обработаны путем чистки
  5. Копирование — физическое извлечение динамических данных из выбранных контейнеров, запись в новые контейнеры, а затем удаление выбранных контейнеров
  6. Summary (сводка) — перестроение сводных векторов (которые используются в качестве оптимизации во время приема новых данных)
В приведенном выше примере этапы 1-4 используются, чтобы определить, где находятся данные «неработающие» в DDR (называемые «этапами перечисления» в оставшейся части настоящего документа), тогда как этап 5 (Copy) используется для физического извлечения этих данных.

Обратите внимание, что в системе не будет физически освобождено пространство до тех пор, пока операция очистки или GC не достигнет фазы копирования. В результате может возникнуть значительная задержка между началом работы и освобождение пространства (из-за процесса перечисления, который должен быть первоначально выполнен до завершения). В этом случае система не должна иметь разрешения на заполнение 100% Full до начала очистки/выполнения GC.

Этапы перечисления, как правило, зависят от коэффициента использования ЦП (т. е. они обычно привязаны к ЦП), в то время как фаза копирования является дорогостоящей в терминах ЦП и операций ввода-вывода (т. е. они обычно связаны ЦП и разъемы ввода-вывода). Однако в сводке можно сказать, что:
  • Общая длина этапов перечисления зависит от объема данных в DDR, для которых необходимо выполнить перечисление.
  • Общая длина фазы копирования зависит от объема неиспользуемых данных в DDR, которые необходимо удалить, а также от того, как фрагментировано на диске (обсуждается далее).
Количество и функциональность этапов перечисления зависят от выпуска DDOS, используемого в DDR.

DDOS 5,4 (и более ранняя версия) — алгоритм полного удаления: Запуск 6 или 10 фаз (как показано выше):
  • Содержимое файловой системы DDFS перечисляется сверху вниз (т. е. оно ориентировано на файлы)
  • DDFS обнаруживает все файлы, которые существуют на DDR затем сканирует каждый файл в очереди, чтобы определить, на какие данные ссылается этот файл.
  • Это позволяет выполнять очистку и GC, чтобы определить, какие данные на диске находятся в режиме «Live».
DDOS 5,5 (и более поздние версии) — физический алгоритм очистки (PGC): Запуск 7 или 12 фаз.
  • Содержание DDFS перечислено снизу (т. е. больше не сканирует отдельные файлы)
  • DDFS обнаруживает метаданные файловой системы, которые ссылаются на физические данные на диске, и сканирует эти метаданные, чтобы определить, на какие данные ссылаются.
  • Это позволяет выполнять очистку и GC, чтобы определить, какие данные на диске находятся в режиме «Live».
  • Это достигается за счет добавления фазы «анализ» (таким образом увеличивается количество этапов при использовании алгоритма Full Clean)
  • Тем не менее, в большинстве случаев ожидается, что общая продолжительность физической чистки будет короче полной очистки для той же системы (в отличие от более отдельных фаз).
DDOS 6,0 (и более поздние версии) — отличный алгоритм физического удаления (ППГК):
  • Это просто оптимизация для физического чистого алгоритма, которая обсуждается далее.
Обратите внимание, что DDOS переключается с полного чистого алгоритма на «физический» алгоритм для повышения масштабируемости и производительности процесса перечисления. в связи с нисходящей природе полного чистого алгоритма он не масштабируется в отношении записей DDR с помощью:
  • Большое количество небольших файлов (в качестве контекстного переключения при переходе от одного файла к другому было дорогостоящим или медленным)
  • Коэффициент дедупликации при высоком раздублировании (так как несколько файлов ссылаются на одни и те же физические данные, поэтому одни и те же данные были перечислены несколько раз).
При модернизации с DDOS 5,4 (или более ранних версий) до 5,5 (или более поздней версии) происходит автоматическое переключение между режимами DDR и физическими чистыми алгоритмами. Единственным исключением являются системы с расширенным сроком хранения, где для содержания файловой системы DDFS необходимо проверить наличие файлов с расширением до функции физического удаления. это обсуждение этого процесса выходит за рамки данного документа. Эта проверка запускается автоматически после завершения этой проверки, и для ее выполнения не требуется ручное действие.

Кроме того, при модернизации с DDOS 5. x до 6,0 (или более поздней версии) автоматически происходит переключение между физическими и нечеткими физическими алгоритмами DDR. Тем не менее, обратите внимание, что для использования алгоритма отличного физического чистого алгоритма необходимо, чтобы индексы были в формате index 2,0, прежде чем его можно будет использовать. Обратите внимание на следующее.
  • Формат «index 2,0» был представлен с DDOS 5,5 (поэтому все файловые системы, созданные в 5,5 или более поздней версии, уже будут использовать индекс 2,0).
  • Файловая система, созданная на 5,4 или более ранних версиях, сначала будет иметь индексы в формате 1,0. После модернизации до версии DDOS 5,5 (или более поздней версии) индексы преобразуются в преобразование формата 2,0, но при каждом выполнении чистки преобразуются только ~ 1% индексов, поэтому для полного преобразования индексов в формат 2,0 может потребоваться до 2 лет (с учетом чистых запусков еженедельно).
Системы DDR первоначально работают под управлением DDOS 5,4 (или более ранней версии), но которые впоследствии были обновлены до DDOS 5,5 (или более поздней версии). можно принудительно преобразовать индексы в формат индекса 2,0 с помощью однократного восстановления индекса. Тем не менее, обратите внимание, что восстановление индекса требует периода пониженного времени, в течение которого индексы могут быть физически перестроены. Эта операция обычно занимает 2-8 часов, в зависимости от размера/объема данных в DDR. Чтобы обсудить выполнение восстановления индекса, обратитесь к поставщику услуг поддержки по контракту.

Как упоминалось выше, независимо от используемого алгоритма очистки/GC, для функции Clean может потребоваться переменное количество фаз, например, для полного чистого алгоритма может потребоваться 6 или 10 фаз. Причина в том, что:
  • При запуске DDFS резервирует фиксированный объем памяти, который будет использоваться при очистке/GC
  • В этой памяти очистка/сбор данных создает структуры данных, описывающие результаты перечисления (т. е. где находятся данные о неисправностях в режиме реального времени на диске).
  • Когда DDR содержит относительно небольшой объем данных, все содержимое файловой системы DDFS можно описать в этой области памяти.
  • Однако на многих системах это невозможно, и эта область памяти будет исчерпана до того, как будет выполнена перечисление всего содержания файловой системы DDFS.
  • В результате эти системы выполняют операцию выборки, увеличивая количество требуемых чистых этапов.
При использовании метода выборки «очистить» или «GC» будут:
  • Выполнение прохода выборки перечисления во всей файловой системе. Обратите внимание, что это перечисление не выполнено (т. е. он не записывает полные сведения о каждой части файловой системы, но вместо чего приблизительную информацию для каждой части файловой системы).
  • Используйте эту информацию, чтобы определить, какая часть файловой системы DDFS будет повышена благодаря выполнению очистки/GC (т. е. какая часть файловой системы будет выдавать лучшие данные в случае высвобождения пространства при очистке)
  • Выполнение второго цикла полного перечисления для выбранной части файловой системы, содержимое которого теперь может быть полностью описано в памяти, зарезервированной для GC
При выполнении операции «очистить/GC» автоматически включается выборка, однако при необходимости может возникнуть следующее.
  • Увеличение количества фаз, требующих выполнения с помощью Clean/GC
  • Соответствующее увеличение общей длительности очистки/GC
До DDOS 6,0 большинство записей DDR выполняет выборку в процессе очистки/GC (если они не содержат относительно небольшой набор данных). В результате совершенного физического чистого алгоритма, однако, предусмотрены различные оптимизации для уменьшения объема памяти, необходимой для очистки или GC при перечислении данных в файловой системе. Это означает, что многие системы, которые выполняли выборку при использовании команды Clean/GC on DDOS 5. x больше не будут потребовать выборки в DDOS 6,0. это, таким образом, сокращает количество этапов, выполняемых функцией Clean, и приводит к соответствующему уменьшению времени полного запуска (т. е. улучшения в чистой производительности).

Нет доступной информации для непосредственного определения того, что система переключается с физического чистого алгоритма на отличный от алгоритма физического чистого, отличного от:
  • Когда система работала физическая очистка на DDOS 5,5-5,7, она выполняла 12 фаз во время чистки
  • После модернизации системы до DDOS 6,0 (или более поздней версии) она выполняет только 7 этапов во время чистки
Если системе под управлением DDOS 6,0 по все же необходимо выполнить выборку, она будет включена автоматически во время чистки, и она вернется к выполнению 12 фаз во время чистки.

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

Пример 1:
  • выбрано 10 контейнеров для копирования (45Mb итоговые данные)
  • Все, если в этих контейнерах нет динамических данных (т. е. содержащиеся в нем данные полностью не содержат ссылок или отсутствуют)
  • Как результат копирования, нужно просто пометить эти контейнеры как удаленные, чтобы освободить 45Mb физического пространства на диске.
Пример 2
  • выделены контейнеры 100 для копирования (всего данных 450Mb)
  • Каждый из этих контейнеров удерживает 90% динамических данных/неработающих данных на 10%.
  • Для обработки копии контейнеров необходимо выполнить следующие действия:
Чтение данных 90% в режиме реального времени из всех контейнеров 100 (данные 405Mb)
Создание набора новых контейнеров для хранения данных 405Mb в конце файловой системы
Запишите эти данные 405Mb в эти контейнеры и обновите структуры таким образом, чтобы индексы были соответственно
Помечайте выбранные контейнеры 100 как удаленные, таким образом освобождая физическое пространство на диске 45Mb

Очевидно, что для создания копии, описанной в примере 2, требуется значительно более высокое количество операций ввода-вывода и ЦП, что в примере 1, поэтому для освобождения физического пространства 45Mb на диске в этом примере потребуется значительно больше времени.

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

процентное значение количества скопированных динамических данных:              3,6% 4,3%

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

процентное соотношение динамических данных в скопированных данных:             70,9% 71,5%

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

Пропускная способность копирования также может негативно повлиять на:
  • Использование шифрования: При копировании может потребоваться дешифрование или повторное шифрование данных, что значительно увеличивает требуемый объем процессора
  • Использование оптимизации низкой пропускной способности. Контейнерам может потребоваться информация о наброски, которая будет создана во время копирования, что также приводит к значительному увеличению необходимого объема ЦП.
Обратите внимание, что если для всех существующих контейнеров были недавно активированы оптимизация и (или) шифрование с низкой пропускной способностью (независимо от того, были ли они выбраны для копирования или нет), может потребоваться шифрование и/или наличие информации о наброской для них в процессе последующего удаления.

Additional Information

Дополнительные примечания для проверки и изменения расписания очистки и ограничения по времени доступны в следующей статье базы знаний: https://support.emc.com/kb/306100

Примечание. Однако:
  • В нормальных обстоятельствах очистка должна выполняться чаще, чем раз в неделю — запуск чистки чаще, чем это может привести к чрезмерному увеличению объемов данных на диске (т. е. демонстрировать плохую пространственность), что может привести к ухудшению производительности чтения/репликации/перемещения данных
  • Чистое регулирование не влияет на общий объем ЦП и полосы пропускания ввода-вывода, потребляемые функцией «очистить». она определяет, как конфиденциальная чистая очистка выполняется для других рабочих нагрузок в системе. Пример:
DDR с чистым ограничением "1" (т. е. минимальное/наименьшее возможное значение регулирования) будет по-прежнему использовать значительный ЦП и операции ввода-вывода в ходе выполнения чистки. Однако он должен немедленно отключиться от ресурсов и высвободить ресурсы сразу после того, как DDR покинет любую другую рабочую нагрузку.

DDR с чистыми ограничениями для "100" (т. е. максимальных или наиболее агрессивных возможных значений регулирования) будет использовать значительный ЦП и операции ввода-вывода в процессе чистки и не приведет к освобождению ресурсов даже в том случае, если DDR подпадает под действие других рабочих нагрузок (в этом случае высокая вероятность приводит к значительному снижению производительности при выполнении операций ввода-восстановления и репликации)
  • По умолчанию для чистого регулирования установлено значение 50-пользователь должен протестировать выполнение чистой настройки с различными настройками регулирования, чтобы DDR нормальной рабочей нагрузке, чтобы определить настройку регулирования, которая позволяет:
Очистить до запуска в минимальном объеме времени
Выполнение чистки без чрезмерного снижения производительности других рабочих нагрузок
  • Обратите внимание, что длительная очистка не обязательно является проблемой, если:
По истечении запланированного времени начала чистки может быть выполнено полное завершение (т. е. Если для выполнения задачи Clean планируется начать с 6am на Туесдайс перед выполнением 6am следующего вторника)
В системе имеется достаточно свободного пространства, например, не хватает места до тех пор, пока не будет заполнена копия (и не начнется освобождение пространства)
Очистка не приводит к чрезмерному снижению производительности других рабочих нагрузок, пока она работает
  • Необходимо настроить систему с использованием расширенной функции хранения, чтобы:
Запланировано выполнение перемещения данных с архивного уровня Active-> (т. е. раз в неделю).
Активный уровень очистка запланирована для выполнения перемещения данных
Для Active уровня Clean не предусмотрено собственное или независимое расписание (так как это может привести к чрезмерной чистке)
  • Полные сведения о последней операции очистки включаются в состав автотехнической поддержки и подробные сведения.
Обзор этапов, выполняемых во время чистки
Продолжительность и пропускная способность каждого этапа очистки
Подробные статистические данные для каждого этапа очистки

Пример:
 
Статистика GC для физической чистки при активном успешном 39 прервано 0
последний успешный диапазон контейнеров GC: 15925661 – 62813670
фаза GC:        время перед слиянием:     133 в среднем:     154 СЕГ/с:        0 подача/с:       0
фаза GC:     время предварительного анализа:    1331 в среднем:    1768 СЕГ/с:        0 подача/с:       0
фаза GC:  время перед перечислением:   34410 в среднем:   31832 СЕГ/с:  1471833 уведомления/с:       0
фаза GC:       время предварительного фильтра:    2051 в среднем:    1805 СЕГ/с:  1988827 уведомления/с:       0
фаза GC:       время до выбора:    2770 в среднем:    2479 СЕГ/с:  1472593 уведомления/с:    2675
фаза GC:            время слияния:     111 в среднем:      69 СЕГ/с:        0 подача/с:       0
фаза GC:         время анализа:    1350 в среднем:     900 СЕГ/с:        0 подача/с:       0
фаза GC:        время, которое является кандидатом:    1478 в среднем:     739 СЕГ/с:  6833465 уведомления/с:    2156
фаза GC:      время перечисления:   37253 в среднем:   20074 СЕГ/с:  5490502 уведомления/с:       0
фаза GC:           время фильтра:    1667 в среднем:     910 СЕГ/с:  9787652 уведомления/с:       0
фаза GC:             время копирования:   52164 в среднем:   49496 СЕГ/с:        0 подача/с:      61
фаза GC:          Суммарное время:    2840 в среднем:    2427 СЕГ/с:  5552869 уведомления/с:    

сведения об этапах анализа GC 2501:                             Последнее совокупное
количество сегментов в индексе:                                    16316022459 572186212855
уникальное количество сегментов, выполненных в ходе выполнения:                                    494653358 319255282440
уникальное количество сегментов LP:                                          494653866 17879171482
количество перераспределенных буферов задержки:                                           0 0
индекс полностью обновлен:                                                     1 16
сканирование только для ЛПС:                                                        1 39
Макс. количество сегментов LP поддерживается:                                 18105971430 706132885747
...

Кроме того, эту информацию можно отобразить с помощью командной строки Data Domain Shell (ДДКЛИ), выполнив следующие действия.

Войдите в интерфейс командной строки DDCLI.
-Drop в режим \ "SE \":

# система Show сериално
[отображаемый серийный номер системы]
# Priv (режим SE)
[Обратите внимание, что в некоторых системах может быть предложено запросить подробные сведения о пользователе с ролью безопасности на этом этапе]
[запрос пароля — введите серийный номер, указанный выше]

— Отобразить статистику GC:

SE@dd4200 # # filesys show-stats 70

GC статистика для физической чистки при активном успешном режиме 1 прервано 0
самый последний успешный диапазон в контейнере GC: 198 – 562458
фаза GC:        время перед слиянием:     177 в среднем:     177 СЕГ/с:        0 подача/с:     857
фаза GC:     время предварительного анализа:     187 в среднем:     187 СЕГ/с:        0 подача/с:     811
фаза GC:  время перед перечислением:     573 в среднем:     573 СЕГ/с:  1086296 уведомления/с:     264
фаза GC:       время предварительного фильтра:     181 в среднем:     181 СЕГ/с:  1728325 уведомления/с:     838
фаза GC:       время до выбора:      77 в среднем:      77 СЕГ/с:  3500864 уведомления/с:    1970
фаза GC:             время копирования:      54 в среднем:      54 СЕГ/с:        0 подача/с:    2809
фаза GC:          Суммарное время:       1 среднее:       1 СЕГ/с:        0 подача/с:  151726
...

Affected Products

Data Domain

Products

Data Domain
Article Properties
Article Number: 000017462
Article Type: Solution
Last Modified: 11 Dec 2023
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.