Дедуплікація даних в Windows Server 2012

У Windows Server 2012 з'явилася нова функція Data Deduplication (Дедуплікація даних). Що ж таке дедублікация? Дедуплікація даних в загальному випадку - це процедура пошуку і видалення дублюючих даних на носії інформації без шкоди для цілісності інформації. Мета дудуплікаціі - зберігати інформацію в невеликих блоках (32-128 Кб), виявляти однакові (дублюючі блоки) і зберігати тільки одну копію для кожного блоку, а блоки-дублікати замінювати посиланнями на єдину копію.

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

Є невеликий хак, що дозволяє включити Дедуплікація і в клієнтських ОС (Windows 8 і Windows 8.1). Подробиці в статті: Як включити Дедуплікація даних в Windows 8.1

У 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 опублікувала наступні результати дослідження ефективності при дудуплікаціі різних типів даних.

типи данихМожлива економія місця
Загальні дані50-60%
документи30-50%
бібліотека додатків70-80%
Бібліотека VHD (X)80-95%

Основні особливості Data Deduplication в Windows Server 2012:

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