Дедупликация в Windows Server 2019

Обновлено 03.08.2022

deduplication windows server 2019Добрый день! Дорогой читатель, я рад что ты вновь посетил один из крупнейших IT блогов рунета Pyatilistnik.org. Не так давно мы разобрали чистую установку Windows Server 2019, научились устанавливать в ней роли и компоненты. Время идет и ваш сервер может накопить большой объем данных, ресурсов на расширение может не быть, а выкручиваться как-то нужно, вот для таких ситуаций есть заумное слово дедупликация. В данном посте мы подробно разберем, что из себя представляет дедупликация данных в Windows Server 2019, что нового там появилось, ну и конечно, как все это настраивается и управляется. Уверен, что данный материал по самой новой серверной платформе будет многим полезен и актуален.

Что такое дедупликация данных?

Небольшое погружение в текущий цифровой мир. В 21 веке основной вызов перед цифровой экономикой, миром, это огромные объемы информации (Big Data), который генерируется каждую минуту. На одном только Youtube пользователи каждый день заливают сотни тысяч роликов, и на конец 2018 года, только на данном сервисе общий объем занимаемого дискового пространства занимает 11 петтабайт. Прибавьте к этому активно развивающиеся социальные сети, сервисы с просмотром онлайн видео, порно индустрия и многое другое. Компании активно переносят свои сервисы в облачные или виртуальные среды. Из всего этого видно, что объемы данных растут в геометрической прогрессии.

На текущий момент основные производители жестких дисков, технологически не успевают за нуждами людей, сервисов в необходимом объеме дисков и уперлись в жалкие 10-12 ТБ на один HDD.Если рассматривать малый и средний бизнес, то у них в большинстве случаев просто нет возможности в покупке новых серверов или систем хранения данных, которые помогли бы им увеличить объем своих дисковых массивов. Именно борясь с данной проблемой люди придумали концепцию дедупликации.

захламление компьютера

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

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

Еще очень распространенный пример, это сервис youtube, где есть одно оригинальное видео, которое лежит на дисковом пространстве, все остальные перезалитые ролики, просто ведут на оригинал по ссылке.

Плюсы и минусы дедупликации

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

Плюсы:

  • Сжатие данных дает малым и средним предприятиям большую выгоду, поскольку они могут увеличить пространство на своих текущих устройствах хранения, удалив дублирующиеся данные.
  • Меньшее количество данных может быть скопировано быстрее, что приводит к меньшим окнам резервного копирования, меньшим целевым точкам восстановления (RPO) и меньшим целевым показателям времени восстановления (RTO)
  • Дедупликация данных ускоряет процессы резервного копирования, репликации и аварийного восстановления.
  • Дедупликация может привести к значительной экономии времени, ресурсов и бюджета. Бюджет всегда стоял краеугольным камнем преткновения для бизнеса. В мелких конторах, где могут быть жадные и ушлые директора, вы лоб расшибете пока будите обосновывать необходимость покупки. Пока не потеряете данные из-за физического отказа железа и бизнесу не будет нанесен простой и урон, вам ничего не купят.
  • К плюсам можно отнести тот факт, что данный компонент очень легко и просто устанавливается любым начинающим специалистом.
  • Простота переноса данных. Предположим у вас есть сервер с Windows Server 2019, на котором включена функция дедупликации данных. путь на 50%, для примера это 1 ТБ. Вы хотите перенести данные файлы. Это легко можно сделать и в том же дуплицированном виде, если у вас на новом сервере уже будет настроен данный компонент и включен на нужном томе.
  • Работает на файловой системе ReFS
  • Работает на динамических томах, а так же на томах с BitLocker.

Минусы:

  • Существует небольшая вероятность потери данных при дедупликации данных, поскольку система дедупликации хранит данные иначе, чем при их записи. Следовательно, достоверность данных зависит от системы дедупликации. Однако развитие технологий на протяжении многих лет уменьшило вероятность потери данных.
  • При использовании встроенного метода дедупликации данные, которые не дедуплицируют хорошо, могут быть стерты, но это актуально в редких случаях на старых версиях ОС.
  • Метод дедупликации может быть легко перегружен большими файлами, что может замедлить резервное копирование.
  • Некоторые методы дедупликации, такие как постобработка, требуют более сложных конфигураций для правильной работы.
  • Она не является заменой резервному копированию
  • Не работает с файлами меньше 32 Кб, так же сюда попадают файлы с расширенными атрибутами (extended attributes)

Что нового в дедупликации Windows Server 2019

  • Файловая система ReFS обычно используется для виртуализации, резервного копирования и Microsoft Exchange из-за своей отказоустойчивости, оптимизации уровней в реальном времени, более быстрых операций виртуальной машины и большой масштабируемости. Но до недавнего времени ReFS не поддерживала дедупликацию данных, которая была доступна только на томах, отформатированных в NTFS. Дедупликация данных может обеспечить значительную экономию затрат на хранение за счет использования технологии на уровне блоков, чтобы уменьшить объем занимаемых диском файлов.
  • Увеличен объем поддерживаемого тома (Volume) до 64 ТБ.
  • Максимальное количество томов до 64
  • Поддерживаются файлы до 1ТБ
  • Процесс дедуплицирования стал доступен с Nano Server редакцией
  • Поддержка последовательного обновления кластерной ОС (Cluster OS Rolling Upgrade) - данная функция так же появилась в 2016. Смысл технологии в том, что вы могли обновить ваш Windows Server 2012 R2 до 2019, не останавливая вашего кластера. Там кластер начинал работать в смешанном режиме, это подразумевало нахождение общих данных на узлах кластера с разными версиями компонента дедупликации. Дедупликация в Windows Server 2019 поддерживает этот режим и обеспечивает доступ к дедуплицированным данным в процессе обновления кластера.
  • Многопоточность - это наиглавнейшее нововведение, которое появилось еще в Windows Server 2016 и было усовершенствовано в 2019 версии. Лет 5 назад. когда флагманской операционной системой была Windows Server 2012 R2, то в ней процесс дедупликации происходил в один поток, это означало, что он не мог использовать все ядра центрального процессора для одного тома. Согласитесь, что это сильно ограничивало данную технологию и вызывало ограничение на размер тома в 10 ТБ, больше не могла обработать. Выглядит это вот так.
  • Внедрена поддержка виртуализированных приложений резервного копирования. В том же 2012, имелся только один вид дедупликации, нацеленный на обычный файловый сервер, технология только развивалась. Представим себе работающую виртуальную машину, логично что ее файлы постоянно используются и открыты, дедупликация не умела с такими работать, тут дело было в неспособности поддерживать службу VSS. В 2012 R2, дедупликация с ней научилась дружить и тем самым работать с открытыми файлами виртуальных машин. В Windows Server 2019 данную технологию расширили и добавили поддержку виртуальных DPM.
  • Интеграция с BranchCache
  • Возможность исключать необходимые типы файлов от дедупликации, например avi или потоковое видео, так как их сложнее дедуплицировать.
  • Поиск битых блоков - данный механизм в очередной раз оптимизировали и улучшили. Один раз в неделю запускается процесс, который ищет мусорные или сбойные блоки, и пытается их исправить. Вы можете его запускать вручную и на более глубоком уровне.

Виды дедупликации

На текущий момент существует три вида дедупликации:

  • Файловая дедупликация - тут все просто есть первичные данные, а вторичные заменяются на ссылки ведущие на первые файлы. Данный подход, как я и писал выше применяется в дистрибутиве Microsoft Windows, MS Exchange, SCCM, DPM. Данный вид дедупликации можно назвать S.I.S. (Single Instance Storage). Это самый базовый уровень дедупликации.
  • Блочная дедупликация - кто знаком с системами хранения данных, тот знает, что это более низкий уровень работы дисковым пространством. Данный механизм работает на субфайловом уровне, блоков. Тут сам процесс проходит уже не с файлами, а с блоками, я подробнее расскажу об этом чуть ниже. Очень актуально для виртуализованных сред, VDI сценарии. Тут будут обрабатываться блоки от 32 до 128 КБ.
  • Битовая дедупликация - это самый продвинутый (Глубокий) тип дедупликации данных, у него самый высокий КПД эффективности. Но тут приходится расплачиваться повышенными затратами на обработку.

Механизм работы дедупликации

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

Дедупликация процесс

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

Более наглядно можно посмотреть на сайте Microsoft (https://docs.microsoft.com/ru-ru/windows-server/storage/data-deduplication/understand)

Эффективность дедупликации

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

  1. Видео, музыка, фотографии - тут можно ожидать 30-35% от работы дедупликации данных
  2. Различные документы и офисные данные - до 60%
  3. Файлы виртуальных машин в библиотеке шаблонов, например, ISO диски - можно получить до 90%. Для виртуальных сред

степень дедупликации данных

Инструменты управления дедупликацией

Существует три инструмента, которые вам помогут отслеживать и управлять процессом дедупликации данных в Windows Server 2019:

  1. Оснастка "Диспетчер серверов (Server Manager)"
  2. Командлеты PowerShell
  3. Веб-инструмент Windows Admin Center

Установка компонента дедупликации через "Диспетчер серверов"

Открываем оснастку "Диспетчер серверов". В правом верхнем углу выберите пункт "правление - Добавить роли и компоненты".

Установка дедупликации Windows Server 2019-01

Оставляем пункт "Установка ролей или компонентов" и нажимаем далее.

Установка компонента дедупликации Windows Server 2019

Далее вы выбираете сервер из пула или же виртуальный жесткий диск.

Выбор сервера для установки дедупликации Windows Server 2019

В списке ролей находите пункт "Файловые службы и службы хранилища - Файловые службы и службы iSCSI - Дедупликация данный (Data Deduplication)", ставите на против нее галку и продолжаете установку.

выбор компонента Дедупликация данных

Пропускаем окно с компонентами Windows Server 2019.

Установка дедупликации Windows Server 2019-05

Продолжаем инсталляцию.

Установка дедупликации Windows Server 2019-06

После установки компонента у вас в системе по пути C:\Windows\system32\ появится файл ddpeval.exe. ddpeval - это Deduplication Data Evaluation Tool, она позволяет проверить эффективность возможной дедупликации. Что удобно ее можно спокойно копировать на флешку или другие компьютеры и запускать.

ddpeval

Для примера я запустил утилиту Deduplication Data Evaluation Tool в Windows 10 1809, через командную строку:

ddpeval.exe f:\

Учтите, что утилита ddpeval.exe не работает на системном диске. где установлена система. В моем примере, после того, как программка ddpeval.exe провела сбор данных, я вижу, что их можно оптимизировать за счет дедупликации на 27%, что для SSD-диска, с его не очень большим объемом, отличный результат.

ddpeval Windows 10

Установка компонента дедупликации через PowerShell

Данный метод куда быстрее, чем графический. Я вам уже подробно рассказывал, о процессе установки ролей и компонентов в Windows Server 2019, тут приведу лишь выдержку из нескольких команд. Открываем оснастку PowerShell и вводим вот такую команду:

Install-WindowsFeature -Name FS-Data-Deduplication -IncludeAllSubfeature -IncludeManagementTools

У вас появится ползунок с процессом инсталляции.

Установка дедупликации Windows Server 2019-07

Буквально в течении секунд 20-30 ваш компонент будет присутствовать в вашей Windows Server 2019.

Установка дедупликации через powershell

Установка компонента дедупликации через Windows Admin Center

Открываете ваш браузер и подключаетесь к Windows Admin Center. Переходите в пункт "Роли и компоненты", где ставите галку на против дедупликации и нажимаете установить.

Windows Admin Center установка дедупликации

Будет произведен поиск зависимостей, по окончании которого вам нужно нажать"Да".

Windows Admin Center установка дедупликации

В области уведомления будет отображаться процесс установки.

Windows Admin Center установка дедупликации

Включение и настройка дедупликации из GUI интерфейса

И так компонент мы установили, теперь осталось его включить и настроить под свои нужды. Делать мы это будем разными методами, графическими и из командной строки PowerShell. Как я показывал выше через утилиту Deduplication Data Evaluation Tool вы можете оценить степень дедупликации. Если она вас устраивает, то можно ее применять.Еще один момент, перед процедурой я сделал контрольный замер свободного места на диске D.

Диск перед дедупликацией

Теперь открываем оснастку "Диспетчер серверов - Файловые службы и службы хранилища".

Оснастка управления дедупликацией

Находим пункт "Тома (Volumes)". Напоминаю, что дедупликация может работать только с ними. У меня в примере есть том с буквой E: именно его я и хочу оптимизировать по распределению дискового пространства. Щелкаем по нему правым кликом и из меню выбираем пункт "Настройка дедупликации данных (Configure Data Deduplication)".

Настройка дедупликации данных из диспетчера серверов

У вас откроется окно "Параметры дедупликации (Deduplication Settings)". По умолчанию дедупликия отключена, в выпадающем окне у вас будет три режима его работы:

  • Файловый сервер общего назначения (General puprose file server) - это самый базовый вариант, который используется в подавляющем большинстве случаев.
  • Сервер инфраструктуры виртуальных рабочих столов (VDI) (Virtual Desktop infrastructure VDI server), тут думаю понятно из названия.
  • Виртуализированный резервный сервер (Virtualized Backup Server), для виртуального DPM

Выбор вида дедупликации

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

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

выбор периода дедупликации данных

aac, aif, aiff, asf, asx, au, avi, flac, jpeg, m3u, mid, midi, mov, mp1, mp2, mp3, mp4, mpa, mpe, mpeg, mpeg2, mpeg3, mpg, ogg, qt, qtw, ram, rm, rmi, rmvb, snd, swf, vob, wav, wax, wma, wmv, wvx, accdb, accde, accdr, accdt, docm, docx, dotm, dotx, pptm, potm, potx, ppam, ppsx, pptx, sldx, sldm, thmx, xlsx, xlsm, xltx, xltm, xlsb, xlam, xll, ace, arc, arj, bhx, b2, cab, gz, gzip, hpk, hqx, jar, lha, lzh, lzx, pak, pit, rar, sea, sit, sqz, tgz, uu, uue, z, zip, zoo

Так же есть возможность исключения нужных вам папок из задания. Для примера я исключу у себя папку с TotalCommander. Для этого нажмите кнопку "Добавить" и используя проводник укажите целевую папку.

Настройка дедупликации данных-04
В списке исключения у вас будет выбранная папка. Чуть ниже будет очень полезная настройка, которая позволит вам управлять расписанием. Нажмите кнопку "Настроить расписание дедупликации (Set Deduplication Schedule)"

Настройка расписания дедупликации

На выбор у вас есть возможность создавать два расписания, которые будут выполняться в фоновом режиме. Включаем галку "Включить фоновую оптимизацию (background optimization)". Далее, чтобы иметь возможность выбирать конкретные дни и время, вам необходимо выставить галку "Включить оптимизацию пропускной способности (Enable throughput optimization)". Первое задание у меня будет запускаться в 23-00 и выполняться до 9 утра. суммарно я на это выделил 10 часов, у вас эти цифры могут отличаться, тут нужно исходить от ваших условий.

настройка расписания дедупликации данных

Так же хочу отметить, что по данным компании Microsoft усредненная скорость дедупликации данных в Windows Server 2019 25 мб/с, это приблизительно 87 ГБ в час, это нужно учитывать на больших объемах данных. Так же если у вас в качестве томов выступают ISCSI ,то вам еще нужно учесть нагрузку на сеть.

Если вам необходимо запустить процедуру сразу, то тут вам в помощь PowerShell. Откройте оболочку повершела.

Import-Module Deduplication

Start-DedupJob -Volume E: -Type Optimization

Ручной запуск дедупликацииПервая команда импортирует нужный модуль, который содержит необходимые командлеты, вторая запустит немедленно дедупликацию на томе E:\. Посмотреть статус выполнения хода дедупликации, вы сможете с помощью вот такой команды:

Get-DedupStatus

У вас будут столбы, где вы увидите, что тип задания "Manual (Запущенный вручную)", сам прогресс бар в процентах, статус и на каком томе выполняется задание.

просмотр процесса дедупликации

Теперь если посмотреть в оснастке диспетчера серверов степень дедупликации данных, то в моем случая я получил 33%, что весьма прилично.

Процент дедупликации данных в Windows Server

Включение и настройка дедупликации через PowerShell

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

Import-Module ServerManager

Первым делом нужно включить саму дедупликацию и выбрать один из ее типов. Сделать, это можно командой:

Enable-DedupVolume -Volume "E:"

В результате на томе E: будет активированная дедупликация со стандартным типом "Файловый сервер общего назначения". Если нужно задать другие типы, то можно воспользоваться ключами:

  • -UsageType HyperV - аналогично режиму "Сервер инфраструктуры виртуальных рабочих столов (VDI) (Virtual Desktop infrastructure VDI server)"
  • Backup - Виртуализированный резервный сервер (Virtualized Backup Server), для виртуального DPM
  • Default - Файловый сервер общего назначения (General puprose file server)

Подробнее можно почитать вот тут https://docs.microsoft.com/en-us/powershell/module/deduplication/enable-dedupvolume

Если в нужно явно задать режим работы, то сделайте командой:

Enable-DedupVolume -Name E: -UsageType Backup

Так же можно выполнить сразу для нескольких томов в Windows Server 2019:

Enable-DedupVolume -Volume "D:","E:","F:" -UsageType Default

Так же если у вас нет букв томов и вы знаете только GUID, то его так же можно использовать в командах:

Enable-DedupVolume -Volume "\\?\Volume{31f21dda-a644-1133-9541-806e6fg46966}\"

Как отключить дедупликацию Windows

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

Поэтому важно, чтобы вы оставили дедупликацию данных включенной, но сначала ИСКЛЮЧИЛИ весь диск. Затем выполните следующие две команды (которые будут выполняться в зависимости от количества имеющихся у вас данных). Первая команда исключает из процесса дедупликации раздел D:

Start-DedupJob -Type Unoptimization -Volume D: -Full

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

Как отключить дедупликацию Windows

Если том не имеет достаточно места для хранения не оптимизированных данных, задание отмены оптимизации завершится сбоем.

Далее мониторим его статус, пока задание не будет выполнено:

get-dedupjob

get-dedupjob
Поскольку задание по сбору мусора еще нужно запустить, нам нужно довольно нелогично включить дедупликацию для тома с помощью следующей команды

Enable-DedupVolume -Volume D:

В противном случае вы будите получать ошибку:

Start-DedupJob : MSFT_DedupVolume.Volume='D:' - HRESULT 0x80565323, The specified volume is not enabled for deduplicati
on.
At line:1 char:1
+ Start-DedupJob -Type GarbageCollection -Volume D: -Full
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (MSFT_DedupJob:ROOT/Microsoft/...n/MSFT_DedupJob) [Start-DedupJob], CimExc
eption
+ FullyQualifiedErrorId : HRESULT 0x80565323,Start-DedupJob

HRESULT 0x80565323, The specified volume is not enabled for deduplicati on

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

Start-DedupJob -Type GarbageCollection -Volume D: -Full

запуск сборки мусора на томе

Наконец, после этого последний шаг - отключить дедупликацию тома с помощью следующей команды

Disable-DedupVolume -Volume D:

Успешно отключенная дедупликация Windows

Автор - Сёмин Иван

7 Responses to Дедупликация в Windows Server 2019

  1. Алексей Е:

    Добрый день! Совместима ли дедупликация с DFS на томах ReFS? Дедуплицировать или лучше исключать такие файлы как .pst и .dwg?

  2. Иван Семин:

    Совместима, перед исключением нужно посмотреть какой процент сжатия будет у pst.

  3. Александр:

    Добрый день! Имеет ли смысл включать дедупликацию ReFS тома, на который записываются бэкапы VEEAM (файлы заданий Backup copy)? Или выигрыш будет несущественным по сравнению со сжатием и дедупликацией средствами VEEAM ?
    Если смысл есть, то как быть с томом, емкостью 109 Тб?

  4. Иван Семин:

    Вы можете посмотреть через утилиту, просчитающую возможную степень сжатия, но я бы не стал так делать, так как время восстановления будет существенно больше, если у вас СХД, то лучше включать дедупликацию на ней или сами вимом. По практике могу еще сказать, что у меня дедупликация не работала в Windows на массиве более 64 ТБ, может, что-то уже поменялось в лучшую сторону

  5. Дмитрий:

    Добрый день. После включения дедупликации на сервере интересная ситуация. В свойствах папки показывает размер, например, 4 гига, а на диске занимает 10 мегабайт. Если перенести ее на другой диск, освободится именно 10 мегабайт, а на другом диске уменьшается 4 гига.

  6. Макс:

    у меня на 2012 R2 сервере вообще ситуация прикольная, после пары месяцев дедупликация вдруг стала показывать 0%, хотя я спейссниффером вижу что огромный массив с дедуплицированными данными есть. И как починить — не знаю

  7. Иван Семин:

    В логах просмотра событий есть ошибки?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *