У 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
- Дедуплікація - процес не миттєвий і вимагає певного часу