Как стать автором
Обновить

Дедупликация данных в Windows 10 и Windows 11 средствами Microsoft

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров11K
Всего голосов 16: ↑16 и ↓0+19
Комментарии38

Комментарии 38

"Да, там есть много чего "серверного" или наоборот, в них нет много чего "клиентского" (пример Bluetooth или IrDA)"

ирду и в клиентских выпилили начиная с 10 или 8. через PowerShell можно поставить, в том числе и на серверной

Спасибо, не обратил внимания

Когда-то долго и упорно мучался перенося ее с Win8 в Server 2008, чтобы работал пульт в MediaCenter

Сам MediaCenter кстати тоже еще со времен XP Media Center Edition можно на сервер перетянуть тоже. С родным пультом-клавиатурой от МС удобно.

В 24H2 через скрипт не сработало, роль не появилась. Появилась, только когда в консоли повторил все команды вручную.

Скрипт запускали как Администратор?

Тоже от Админа "что-то пошло не так". Запустил Windows Power Shell (Администратор) - перешел в папку и запустил скрипт.

Это CMD файл, его запускают от админа в Command Prompt.

Через PowerShell пакеты инсталлируются другим способом.

Доделаю.

Из PS встало, а от Администратора что-то не так.

ddpeval не торопливый однако - полдня жужжал.

Воспроизвёл на чистой системе.

Если щелкнуть пкм по cmd-файлу и выполнить от админа, то все команды dism /online /add-package заканчиваются примерно так:

Cистема DISM
Версия: 10.0.26100.1

Версия образа: 10.0.26100.863

Ошибка при попытке открыть - "Microsoft-Windows-FileServer-Core-Package-amd64-10.0.26100.1.cab" Ошибка: 0x80070002
Ошибка при попытке открыть - "C:\Windows\System32\Microsoft-Windows-FileServer-Core-Package-amd64-10.0.26100.1.cab" Ошибка: 0x80070002

Ошибка: 2

PowerShell тут явно не при чем, т.к. открывается обычное окно cmd

А вот если вызвать окно ком.строки от админа, перейти в каталог и запустить файл руками, то всё отрабатывает корректно.

Спасибо за хинт!

Off запускать cmd - это на несколько кликов больше, чем щелкнуть правой кнопкой по Пуску и выбрать пункт PS от Администратора.

Запуск cmd-файла от админа - 2 клика (пкм по файлу → выбрать соответствующий пункт)

Запуск PS от Администратора - те же 2 клика. Только вдобавок ещё надо вписать туда команду запуска этого cmd-файла.

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

Дедуплицируете бэкапы? Ну-ну

Если мы говорим о домашней среде, где два или более ПК, и копии (несколько) одного хранятся на другом, то да, безусловно, дедуплицирую бэкапы!

Речь не о корпоративном сегменте, там нет Windows 10/11 как сервера бэкапа (а может и вообще Windows нет).

Для дома - самые распространенные сценарии:

  • Виртуальные машины

  • Хранилище бэкапов

  • DevBox или его аналог (много билдов/сборок разрабатываемого ПО)

  • Станция видеомонтожа, где один и те же куски десятки раз используются

Фича на мой взгляд для энтузиаста полезная.

Дедуплицированный диск без проблем работает на любой современной системе (Windows 10/11), где функционала дедупликации не установлено

Вот уж не уверен. Как раз недавно был опыт: домашний htpc на 10 22h2, включена дедупликация на томе с раздачами.

Вследствие определенных вещей пришлось переустановить Винду (inplace upgrade), снова на 10 22h2. Естественно, серверные компоненты это вытерло

Итог: диск отлично виден, чекдиск говорит, что все отлично. Но попытки работы с файлами, которые были дедуплицированны, обречены на провал. Все файлы видны, из родительские парки можно переименовать, но сами файлы не открываются даже на чтение. Да что чтение - невозможно переименовать (но можно удалить)

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

Гм, нужно посмотреть Windows 10.

В 11 оно встроено.

В любом случае, метабаза хранится локально, и переносится вместе с диском.

Это программный аналог btrfs в Linux?

нет, в БТРФС тоже она есть, но они разные

Нет, - для btrfs есть своя дедупликация (но это не сам btrfs), - на сравнение в подходах и результатах я давал ссылку от авторитетного автора выше, повторюсь -  Dedup Windows vs Linux, MS снова “удивит”? / Хабр (habr.com) 

С выходом Windows 11 в октябре 2021 (версия 21H2 сборка 10.0.22000) ситуация несколько испортилась, - версий Windows Server на этом ядре не было.

Пакет создать нельзя было, но установить Dedup еще как можно было(Привет и пока Dism.exe)! И все работало на Win11 с dedup от Windows Server старой версии. Да, есть минус, dedup больше не обновится.

Дедуплицированный диск без проблем работает на любой современной системе (Windows 10/11), где функционала дедупликации не установлено

Как минимум на Win10 не будет читаться без фильтра (dedup.sys)

Очень важный момент - не пользуйтесь сторонними утилитами по изменению размеров тома для дедуплицированных дисков. Потеряете данные бесповоротно.

Проблем быть не должно. Если же быть более точнее, то это не диск дедуплицирован, а файлы дедуплицированы на диске. Принцип работы как у симлинков, только чуть сложнее(Смешаем NTFS Reparse Points c DB в System Volume Information и получим Dedup) Но, действительно, лучшее так не делать.

Кому полезен этот функционал в клиентской ОС?

Я бы сказал, а какие проблемы мы можем получить. А их много. Все программы которые работают с симлинками могут начать чудить(SVN 1.12 и ранние версии, CMAKE со своим copy, PyCharm и т.д), Docker не работает с такими файлами без дополнительных плясок с бубном! И другие проблемы.

А еще, можно очень быстро копировать такие файлы, но увы не средствами майкроософт(10 файлов по 200 Гб меньше секунды). Очень удобно копировать VHD-шки) Но как это сделать, уже другая тема.

Да, если нет "родной" версии сервера, можно собрать кастомную.
Я могу если кому-то нужно сделать для 22000 или 22621/22631, делается правкой update.mum, но это уже не такой чистый способ.

По поводу работы дедуплицированного диска в Win11/WS202x на Win10 - если фича (от сервера 2004/20H1 для 1904х) установлена то все читается и пишется, версионной разницы не замечено.

Да и для серверных ОС нет от МС криков, типа не трогайте тома дедуплицированные WS202x на WS201х, - значит не было таких кейсов.

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

Спасибо за интересную статью. А было бы интересно включить дедубликацию на системном диске и посмотреть что будет. Есть ли такая возможность? Штатными методами не разрешает.

Не советую, потенциально огребёте кучу проблем - из комментария выше " Все программы которые работают с симлинками могут начать чудить"

Эта штука хороша для файлопомоек, которые не следует устраивать на системном диске. Например, на диске, где хранится 10 терабайт торрент-раздач, выигрыш составил 8.5%

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

Какого сервиса?

OneDrive синхронизирует дедуплицированный NTFS на ура. А вот с ReFS не работает и без дедупликации.

Обновляйте клиента, а не пеняйте в ошибке МС )

Яндекс.Диск. Обновлять некуда, свежайший.

А вот Dropbox и Облако mail.ru синхронизируют нормально.

Нужно открыть сервисный тикет в Яндексе, думаю.

Только, не с клиентской ОС в неподдерживаемой конфигурации, а с серверной, - они свой диск в терминальных решениях же поддерживают? А МС поддерживает теперь дедупликацию как general purpose solution

они свой диск в терминальных решениях же поддерживают?

Не факт, серверные ОС не заявлены.

в вин 8 включил как то этот функционал.

Сначала все было хорошо, куча места появилась.

а потом спустя, пол года стали странные "глюки" с файлами происходить.

подозрение сразу пало на дедуплекацию, и тут проблема:

что бы ее отменить нужно много места - сильно больше чем было изначально.

те процесс восстановления файлов был долгий и ни разу не радостный

Я активно ее использовал, начиная с 8.1 (от 2012R2 файлы). Глюков не вижу..

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

То есть, имею диск на котором 1ТБ данных дедуплицированы в 300ГБ, - чтобы отключить дедупликацию, мне требуется ЕЩЕ 1ТБ, а не 700ГБ, как можно надеяться. + порядка 5% на дедуп стор.

в общем то, цена на диски оказалась ниже цены на восстановительные работы. Поэтому, с тех пор, больше не экспериментирую.

Есть безопасный вариант: поиск одинаковых файлов и замена копий хардлинками

https://codeberg.org/jbruchon/jdupes

Но эффективность будет, конечно, заметно ниже, т.к. работает на уровне файлов.

Можно ли ставить файлы от Win11 на Win10 19045.4529 (22H2)? При дедупе одного из дисков выдается ошибка 0x8056530c. Насколько я понял, она исправляется в kb2896660, но я не смог наколупать оттуда нужные файлы, равно как и из WinServer2012R2 (в вордпресс-блоге weikingteh есть батник по выдергиванию пакетов, но они не ставятся на Win10- система не поддерживается).

Можно ли ставить файлы от Win11 на Win10 19045.4529 (22H2)? При дедупе одного из дисков выдается ошибка 0x8056530c. Насколько я понял, она исправляется в kb2896660, но я не смог наколупать оттуда нужные файлы, равно как и из WinServer2012R2 (в вордпресс-блоге weikingteh есть батник по выдергиванию пакетов, но они не ставятся на Win10- система не поддерживается).

Нет, поставить файлы от Win11 на Win10 невозможно. Consistency check не проходит у разных веток (vb_release и ge_release, в данном случае). Иногда можно от другого билда близкого - например для 22000 или 22621/22631 серверных сборок не выходило, но была сборка Azure Stack HCI 10.0.22471.1000 из которой с неким бубном пакет выдернуть можно. Не рекомендую, впрочем.

19045.4529 это 19041.1 + апдейты, то есть пакет ставится от 19041, в данном случае версия дедуп последняя 19041.1741

Технически можно вытащить пакет от инсайдер сборки 19100.1, если ее найдете (сейчас на UUP файлов уже нет), но она новее лишь чем 19041.1, но старее чем 19041.1741 на год

Попробовал на своей системе (11 ТБ данных на одном HDD), столкнулся с мультипликацией чтения и фрагментацией при экономии 7% места. Печально

Сервис дедупликации кушает очень много памяти в процессе упаковки (почти 30 ГБ) и освобождает ее только после перезапуска винды

Вы уверены, что процесс завершился? Get-DedupJob кмдлет говорит что задач нет?

Да, процесс точно завершился, Get-DedupJob не возвращает ни одной задачи. Сам процесс дедупликации занял почти неделю на эти 11 ТБ.

А что за ОС? И версия пакета Dedup? (dism /online /get-packages |findstr Dedup)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации