Следует ли вам использовать собственную дедупликацию хранилища Windows Server?
Когда Microsoft впервые представила функцию дедупликации хранилища еще в Windows Server 2012, я слышал от многих людей, что они не планируют ее использовать. Дедупликация данных на уровне ОС была совершенно новой функцией Windows Server, и многие были обеспокоены тем, что она может содержать ошибки или может каким-то образом привести к потере данных.
Однако в последнее время, похоже, возобновился интерес к функции дедупликации хранилища Windows. Я не уверен, связано ли это с тем, что функция успела созреть, или из-за стремительного роста данных, или, возможно, из-за какой-то комбинации факторов. В любом случае, я хотел бы воспользоваться возможностью, чтобы поговорить о некоторых важных соображениях, которые следует учитывать, если вы планируете использовать дедупликацию хранилища Windows.
Даст ли дедупликация какую-либо пользу?
Когда дедупликация только начала становиться популярной, среди поставщиков было что-то вроде гонки вооружений. Один поставщик может объявить, что его продукт дедупликации может сократить объем данных в соотношении 25 к 1. Другой продавец может рекламировать соотношение 50 к 1. В действительности, однако, коэффициент дедупликации, которого вы можете достичь, больше зависит от ваших данных, чем от фактической дедупликации. Это справедливо как для собственной дедупликации Windows, так и для механизмов дедупликации сторонних производителей.
Дедупликация работает путем удаления избыточности из ваших данных. Если избыточности нет, то механизму дедупликации нечего удалять. Например, тома, содержащие большое количество сжатых медиафайлов (файлы MPEG, MP3 и т. д.), как правило, не выигрывают от дедупликации, поскольку эти типы файлов уже сжаты. То же самое можно сказать о зашифрованных файлах и сжатых архивах (ZIP-файлы, CAB-файлы и т. д.).
С учетом сказанного, первое, что я рекомендую сделать, — это выполнить простой тест, чтобы выяснить, принесет ли дедупликация достаточно преимуществ, чтобы окупить потраченное время. Windows Server включает в себя инструмент для этого, но прежде чем вы сможете использовать этот инструмент, вам необходимо установить компонент дедупликации данных.
Вы устанавливаете компонент дедупликации данных из диспетчера серверов, развернув роль файловых служб и служб хранилища и выбрав компонент дедупликации данных (он указан в контейнере файловых служб и служб iSCSI), как показано на рисунке ниже.
После того, как вы установили этот компонент и перезагрузили сервер, вы можете запустить средство оценки экономии дедупликации данных Microsoft. Этот удобный инструмент расскажет вам, чего вы можете реально ожидать, если будете продвигаться вперед с дедупликацией хранилища. Вы можете запустить этот инструмент, перейдя в папку C:WindowsSystem32 и запустив DDPEval.exe. Вам нужно будет указать диск или путь, который вы хотите оценить.
Для демонстрации я запустил этот инструмент на трех отдельных томах на моем производственном файловом сервере. Вы можете увидеть результаты на снимках экрана ниже.
Прогнозируемая экономия места для моего диска M: составляет всего 3 процента.
Дедупликация может уменьшить объем данных на моем диске H: на 10 процентов.
Дедупликация моего диска V: уменьшила бы объем хранилища только на 4 процента.
Как вы можете видеть на приведенных выше рисунках, механизм дедупликации Windows оценивает, что он может уменьшить объем моего хранилища на 3-10 процентов, в зависимости от объема. В моем конкретном случае этой экономии недостаточно, чтобы оправдать дедупликацию моих томов. Вместо этого я просто собираюсь добавить еще немного физического хранилища на свой сервер.
Примите во внимание рекомендации Microsoft
Следующее, что я рекомендую сделать, — это ознакомиться с рекомендациями Microsoft, прежде чем включать дедупликацию хранилища. Microsoft рекомендует включать дедупликацию для:
- Файловые серверы общего назначения
- Хосты инфраструктуры виртуальных рабочих столов (VDI)
- Виртуализированные приложения для резервного копирования (например, System Center Data Protection Manager)
Это не означает, что это единственные типы томов, которые могут выиграть от дедупликации. Это просто означает, что это лучшие и наиболее очевидные кандидаты на дедупликацию.
Если вы думаете о дедупликации тома, содержащего данные другого типа, важно тщательно протестировать этот процесс в лабораторной среде. Некоторые приложения (особенно те, которые используют базу данных) могут плохо работать с дедупликацией. Некоторые базы данных рассчитывают получить полный контроль над хранилищем, и дедупликация теоретически может привести к повреждению этих экземпляров.
Вы также должны учитывать нагрузку, которую дедупликация создаст на сервере. Дедупликация Windows выполняет постобработку, что означает, что вы можете запускать задание дедупликации в то время, когда сервер не испытывает большой нагрузки. Несмотря на это, дедупликация требует больших ресурсов ЦП и операций ввода-вывода, поэтому вам необходимо это учитывать.
Дедупликация хранилища Windows: окончательные рекомендации
Хотя включение функции дедупликации хранилища Windows не всегда является лучшей идеей, существуют ситуации, в которых эта функция может оказаться полезной. Если вы решите продолжить дедупликацию одного или нескольких томов хранилища, я рекомендую сделать две вещи.
Во-первых, обязательно примените все доступные исправления для Windows Server. Некоторые исправления для Windows Server исправляют ошибки, связанные с дедупликацией. Особенно это касается KB4025334.
Еще одна вещь, которую я рекомендую сделать, это создать полную резервную копию перед включением дедупликации. Я никогда не видел катастрофического сбоя функции дедупликации Windows, требующей восстановления. Тем не менее, вы никогда не должны делать ничего, что могло бы без необходимости поставить под угрозу ваши производственные данные (например, включать дедупликацию без предварительного создания резервной копии).
Последний совет, который я хотел бы дать, — проверить, поддерживает ли ваше оборудование для хранения данных дедупликацию на аппаратном уровне. Если это так, то вы, скорее всего, увидите лучшую производительность при дедупликации хранилища на аппаратном уровне, чем при выполнении дедупликации на уровне ОС. Помните, что аппаратная дедупликация переносит процесс дедупликации с операционной системы на массив хранения. Это означает, что дедупликация не использует циклы процессора на вашем сервере. Вместо того чтобы использовать эти ресурсы для управления процессом дедупликации, вы можете вместо этого выделить их для выполнения рабочих нагрузок.