Microsoft Windows Server 2012 и более поздние версии предлагают службу исключения дубликатов, которая периодически сканирует файлы, находит идентичные фрагменты и удаляет лишние копии для экономии места.
Для пользователя, просматривающего файлы, все они должны выглядеть одинаково.
Моя проблема в том, что у меня есть программа, которая читает эти файлы и терпит неудачу при чтении файла, обработанного дедупликацией. Я установил сервер Windows со службой дедупликации, чтобы разработать и протестировать исправление для этого, но я не уверен, дедуплицируются ли мои тестовые файлы и действительно ли мое исправление работает.
Есть ли что-нибудь в метаданных файла о какой-либо дедупликации? Или, возможно, у службы дедупликации есть доступная база данных с расширенными файлами?
Я уже пробовал очевидное: создать файл, скопировать этот файл в ту же папку, а затем просмотреть свойства папки, но размер папки равен обоим файлам, в то время как я ожидал, что он составит всего лишь один файл.
Дедупликация реализована как драйвер фильтра поверх NTFS (а теперь и ReFS) и должна работать прозрачно. Вы всегда можете отключить его для некоторых конкретных наборов файлов, если это вызывает проблемы.
Чтобы получить статус дедупликации, воспользуйтесь командлетом Get-DedupeStatus. Видеть:
https://docs.microsoft.com/en-us/powershell/module/deduplication/get-dedupstatus
Есть способ визуализировать, что там есть. Видеть:
https://www.foldersizes.com/features/windowsdeduplicationdiskspace
Вы можете исключить определенные файлы из заданий дедупликации. Видеть:
https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/advanced-settings
ExcludeFileType - это то, на что вам следует обратить внимание.
ExcludeFileType Типы файлов, которые исключаются из оптимизации Массив расширений файлов Некоторые типы файлов, особенно мультимедийные или уже сжатые файлы, не сильно выигрывают от оптимизации. Этот параметр позволяет указать, какие типы исключаются.
Внутренняя работа службы дедупликации хранится в информации системного тома на каждом томе, но я понимаю, что там нет ничего действительно читаемого человеком, в том, что было удалено, а что нет. Это происходит на уровне блоков, а не файлов.
Я уже пробовал очевидное: создать файл, скопировать этот файл в ту же папку, а затем просмотреть свойства папки, но размер папки равен обоим файлам, в то время как я ожидал, что он составит всего лишь один файл.
Дедупликация происходит по расписанию. Если вы скопируете файл и сразу же проверите его свойства, он еще не будет удален из дубликата. Ты можешь использовать Start-DedupJob для принудительной оптимизации дедупликации на определенном томе для вашего сценария тестирования.