В Windows Server 2012 появилась новая функция Data Deduplication (Дедупликация данных). Что же такое дедупликация? Дедупликация данных в общем случае – это процедура поиска и удаления дублирующих данных на носителе информации без ущерба для целостности информации. Цель дедупликации – хранить информацию в небольших блоках (32-128 Кб), выявлять одинаковые (дублирующие блоки) и сохранять только одну копию для каждого блока, а блоки-дубликаты заменять ссылками на единственную копию.

Ранее для организации дедупликации приходилось использовать сторонние продукты (существуют как аппаратные решение по дедупликации на уровне дисковых массивов, так и программные на уровне файлов). Стоимость подобных решений была достаточно высока, ведь они в первую очередь ориентированы на богатых корпоративных заказчиков. Теперь эта функция абсолютно бесплатно доступна всем пользователям a Windows Server 2012.

В Windows Server 2012 функция дедупликация реализована в виде двух компонентов:

  • Драйвера–фильтра, который контролирует функции ввода/вывода
  • Службы дедупликации – контролирует три операции («Сборка мусора», «Оптимизация» и «Очистка»).

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

Ранее дедупликация в продуктах Microsoft встречалась в почтовом сервер Exchange 200/2003/2007 – в компоненте Single Instance Storage (на сервере в ящике одного из адресатов хранится только один экземпляр сообщения, а остальные адресаты получают просто ссылку на него).

Дедупликация данных в Windows Server 2012 выполняется в фоновом режиме и по-умолчанию запускается каждый час. Процесс запускается при низкой нагрузке на сервер и не снижает общую производительность сервера. Также по-умолчанию дедупликации подвергаются файлы, к которым не было доступа более 30 дней. Кроме того, процедура не осуществляется для следующих типов файлов:: 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.

Функционал управления дедупликацей доступен из графического интерфейса и через PowerShell. Рассмотрим оба варианта.

Windows Server 2012 Data Deduplication GUI

Чтобы включить дедупликацию данных нужно установить компонент Data Deduplicaionроли File and Storage Services. Сделать это можно из консоли Server Manahger.

После окончания установки компонента откройте консоль Server manager -> File and Storage Servcies -> Volumes –> и щелкните правой кнопкой по разделу, для которого хотите включить дедупликацию и выберите Configure Data Deduplication.

В следующем окне поставьте галочку на пункт “Enable data deduplication”. Здесь же можно указать каталоги, которые не нужно дедуплицировать и настройки планировщика дедупликации.

Текущий уровень дедупликации будет отображаться в столбце Deduplication Rate(обновится через несколько часов).

Для анализа использования дискового пространства и возможной экономии от включения дедупликаций для данного тома, разработана утилита DDPEVAL.exe. Оценить, сколько же дискового пространства получится сэкономить после включении Data deduplication, можно с помощью следующей команды (учтите, для больших томов она может создать существенную нагрузку на CPU)

c:\windows\system32\ddpeval.exe e:\

В моем случае экономия составила бы порядка 57%.

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

Процессом дедупликации можно управлять и из Powershell. Для этого нужно установить функцию Data-Deduplicationс помощью команд:

Import-Module ServerManager

Add-WindowsFeature -name FS-Data-Deduplication

Import-Module Deduplication

После того, как функция дедупликации включена, ее нужно сконфигурировать. Чтобы включить дедуплликацию для диска D:, выполним команду:

Enable-DedupVolume D:

По-умолчаию дедупликации подвергаются файлы, к которым не было доступа (Last Access)более 30 дней. Это значение можно изменить, например, на 2 дня, для этого выполните команду:

Set-DedupVolume D: -MinimumFileAgeDays 2

Обычно процесс дедупликации запускается планировщиком Windows, но его можно запустить и вручную:

Start-DedupJob D: –Type Optimization

Текущую статистику можно посмотреть с помощью команды:

Get-DedupStatus

Со списком текущих заданий можно познакомится с помощью команды:

Get-DedupJob

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

Get-DedupMetadata -Volume D:

И, наконец, полностью отменить дедупликацию для тома можно командой:

Start-DedupJob -Volume D: -Type Unoptimization

На скриншоте ниже видно, что после включения дедупликации на диске E: (для теста я сложил на него 4 одинаковых ISO с Windows 8), размер занятого места на диске уменьшился с 12 Гб до 3Гб.

Служба дедупликации хранит свою базу и дедуплицированные чанки в каталоге System Volume Information. Поэтому ни в коем случае не стоит вручную вмешиваться в его структуру.

Рекомендации по использованию технологии Data Deduplication в Windows Server 2012

Microsoft опубликовала следующие результаты исследования эффективности при дудупликации различных типов данных.

Основные особенности Data Deduplication в Windows Server 2012:

  • Работает только на NTFS томах и не подерживает файловую систему ReFS
  • Не поддерживается для загрузочных и системных томов
  • Не работает со сжатыми и шифрованными файлами NTFS
  • Поддерживает кеширование и BITS
  • Не поддерживает файлы меньше 32KB
  • Не настраивается через групповые политики
  • Не поддерживает Cluster Shared Volumes
  • Дедупликация – процесс не мгновенный и требует определённого времени

Источник: http://winitpro.ru/index.php/2012/10/10/deduplikaciya-dannyx-v-windows-server-2012/