Всем привет. Решил проверить и рассказать Вам о дедупликации данных, о том как ее включить на пользовательской операционной системе, использовать и выключить, в случае необходимости, без потери данных.
Для тех кто не знает что это такое (wiki):
Дедупликация данных — это технология, при помощи которой обнаруживаются и исключаются избыточные данные в дисковом хранилище. Например, путем замены повторных копий данных ссылками на первую копию. Это позволяет сократить объёмы физических носителей для хранения тех же объёмов данных.
Говоря простым языком, эта технология позволяет сократить используемое файлами, на диске, место в разы (в некоторых случаях до 80 к 1)
Как это работает:
На картинке видно, что в начале на диске мы имеем много данных, в которых существуют повторяющиеся блоки, во время дедупликации происходит сравнение записываемых данных с данными которые уже записаны на файловую систему, и если они повторяются, то вместо новых данных записывается только ссылка на уже имеющиеся блоки.
Изначально эта технология придумана для промышленных систем хранения данных, но и в новой версии Windows 8 x64 можно включить эту технологию через Power Shell.
Приступим. Включаем дедупликацию в Windows 8
1) Необходимо скачать недостающие микропрограммы из серверной ОС. Т.к. Windows Server 2012 — 64 битная, мы можем включить дедупликацию только на 64 разрядной Windows 8. Скачиваем набор файлов и распаковываем в удобную директорию, например C:\W8Dedup. Качаем архив: Win8dedup
2) Запускаем Power Shell от имени администратора и вводим команды для установки:
dism /online /add-package /packagepath:Microsoft-Windows-VdsInterop-Package~31bf3856ad364e35~amd64~~6.2.9200.16384.cab /packagepath:Microsoft-Windows-VdsInterop-Package~31bf3856ad364e35~amd64~en-US~6.2.9200.16384.cab /packagepath:Microsoft-Windows-FileServer-Package~31bf3856ad364e35~amd64~~6.2.9200.16384.cab /packagepath:Microsoft-Windows-FileServer-Package~31bf3856ad364e35~amd64~en-US~6.2.9200.16384.cab /packagepath:Microsoft-Windows-Dedup-Package~31bf3856ad364e35~amd64~~6.2.9200.16384.cab /packagepath:Microsoft-Windows-Dedup-Package~31bf3856ad364e35~amd64~en-US~6.2.9200.16384.cab
dism /online /enable-feature /featurename:Dedup-Core /all
Если все правильно сделали то будет, что то типа такого:
Проверим, что дедупликация включена:
DISM /online /get-features
Ищем надпись: Dedup-core включен
Дополнительная информация о настройках фичи:
DISM /online /get-featureinfo /featurename:Dedup-Core
3) Теперь активируем дедупликацию на Windows 8 на диске E (Вы не забудьте подставить свой диск)
Enable-DedupVolume E:
Следующей командой я выставляю дедуплицирование файлов не только старше 5 дней (по умолчанию), а для всех файлов
Set-Dedupvolume E: -MinimumFileAgeDays 0
Запустим процесс дедупликации вручную
Start-DedupJob –Volume E: –Type Optimization
Теперь ждем и следим за ходом процесса командой:
Get-DedupJob |fl
300 гигабайт, в моем случае дедуплицировались за 2,5 часа. Процессор грузился максимум на 25%
Следующей командой можно посмотреть статистику дедупликации:
Get-DedupStatus |fl
Все готово. Известно что на сервере управлять дедупликацией можно через удобный и красивый GUI интерфейс консоли сервера. На пользовательской ОС же нам приходиться довольствоваться Power Shell. Но как по мне этого достаточно.
Еще можно поправить стандартное расписание дедупликации данных. Я не заморачивался этим.
Вот что получилось в итоге:
скрин перед дедупликацией, смотрим на Диск E
скрин после дедупликации
Важно:
[stextbox id=»warning»]
Разница в объеме до и после дедупликации (коэффициент дедупликации) напрямую зависит от типов файлов и их количества. В моем случае на диске более 80% файлов программ, поэтому коэффициент дедупликации получился не большой. Если на диске много видео файлов или музыки то коэффициент может получиться еще меньше.
Для оценки коэффициента дедупликации воспользуйтесь утилитой Ddpeval.exe
[/stextbox]
Вот например моя статистика по типам файлов, перед дедупликацией:
На этом этапе может остановиться тот, кто решил оставить эту фичу включенной, а я решил ее выключить для эксперимента.
Выключаем Дедупликацию в Windows 8
Start-DedupJob -Volume E: -Type Unoptimization
Этот процесс идет достаточно долго и во время его выполнения система копирует дедуплицированные данные в новые данные прямо на этом же диске. Так что, чтобы отключить дедупликацию нужно как минимум в 2 раза больше места на исходном диске.
Если по окончанию регидрирования мы пропустим момент когда запустится дедупликация данных по расписанию то будет не очень хорошо. Поэтому отключим дедупликацию для диска:
Disable-DedupVolume E:
Теперь дожидаемся завершения регидрирования. Готово
Чтобы удалить компонент дедупликации можно сделать следующее:
Идем в Панель управления\Программы\Программы и компоненты открываем Компоненты Windows и снимаем галку:
Готово. Следующим шагом будет попытка подключения жесткого диска с дедуплицированными данными к другому компьютеру без установленной фичи дедупликации.
Будем пробовать восстановить данные после дедупликации (статья появится чуть позже, после проведения эксперимента)
Хде концовка? ❓ 🙂
Все будет, но чуть позже, сейчас данные снова нужно дедуплицировать, потом найти комп и подключить к нему жесткий диск.
Тогда всё нормально. Я думал, просто кусок статьи случайно выпал.
) ну частично можно и так сказать, позже в конце статьи появиться логическое ее завершение в виде ссылки на продолжение.
А почему эта функция не включена по умолчанию, если так эффективно увеличивается свободное место? Есть какие-то минусы?
Почему не включено, этот вопрос нужно задать MS. Но я думаю, причина связана с проблемой восстановления данных на пользовательском ПК, когда умирает комп, мы несем HDD в другой комп, а если данные будут дедублицированны, то поимеем некоторые проблемы. Но не факт что в этом дело.
Сейчас у меня включена дедубликация на Win8, минусов не заметил…
привет! я с хабра.скинь тот скрипт пхп sys0972500-1.php. Благодарю
Ушло