Настройка дедупликации windows server 2019

Обновлено: 01.07.2024

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

Мы уже рассказывали, как включить дедупликацию в Windows 8, что позволило многим, и нам в том числе, сэкономить заметные средства, отложив расширение дискового пространства за счет более эффективного его использования.

Windows 10 в момент выпуска такой возможности не имела, что легко объясняется: пакеты для дедупликации энтузиасты берут из серверной версии ОС, разработка которой производится с некоторым опозданием от клиентской. Это же следует учитывать и при обновлении ОС на новую версию, так на дату выпуска пакеты для дедупликации могут быть еще не готовы.

Следует помнить, что в отличии от предыдущих версий под названием Windows 10 скрывается целый ряд операционных систем, для каждой из которых нужны свои пакеты для поддержи дедупликации. На текущий момент существуют следующие стабильные выпуски Windows 10:

ВерсияСборкаДата выпускаОкончание поддержкиДедупликация
1507 (RTM) 10240 29.07.2015 09.05.2017 НЕТ
1511 10586 12.11.2015 10.10.2017 ДА
1607 14393 02.08.2016 10.04.2018 ДА
1703 15063 05.04.2017 09.10.2018 ДА
1709 16299 17.10.2017 09.04.2019 ДА
1803 17134 30.04.2018 12.10.2019 ДА
1809 17763 13.11.2018 10.11.2020 ДА
1903 18362 21.05.2019 08.12.2020 ДА
1909 18363 12.11.2019 11.05.2021 ДА
2004 19041 27.05.2020 14.12.2021 ДА

Здесь мы говорим об основной основном канале поддержки SAC ( Semi-Annual Channel, Полугодовой канал) и не касаемся LTSC-версий, которые не предназначены для широкого использования.

Первая сборка пакетов для дедупликации в Windows 10 была собрана из пакетов для Windows Server 2012 и предназначалась для сборки 10514, затем стали доступны пакеты на базе Windows Server 2016 ( 14393) и 2019 ( 17763) . В настоящий момент Windows Server с возможностями рабочего стола переведен в LTSC-канал (не путать с одноименным каналом Windows 10) и новые версии выпускаются раз в два три года. В полугодовом канале обслуживания (SAC) находится просто Windows Server без номера года, который не имеет возможностей рабочего стола и предназначен в первую очередь для быстрого внедрения инноваций в области контейнеров и микрослужб.

Таким образом все промежуточные версии Windows 10, не имеющие LTSC-аналога серверной системы получают пакеты дедупликации из полугодового канала. Чем это может быть чревато? Прежде всего стабильностью, так как SAC-версии Windows сервер не предполагают использования в системах с возможностями рабочего стола и на текущий момент известно об определенных проблемах с пакетами для версии 20.04, которые на одной системе могут работать, а на другой - не работать.

Отдельно следует уточнить насчет инсайдерской версии. В ней дедупликация работать не будет. Поэтому выбирайте то, что вам нужнее.

Кроме того, многих интересует вопрос: что будет с дедуплицированными томами при обновлении с Windows 8 или между версиями Windows 10. Отвечаем: ничего страшного не произойдет, но ваши данные окажутся недоступны до тех пор, пока вы не установите пакеты для текущей сборки ОС.

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

Так как основное обсуждение дедупликации в Windows 10 и размещение пакетов происходят на зарубежном форуме, а многие ссылки ведут на файлообменники мы перепаковали содержимое пакетов и разместили их на собственном сервере.

Каждый архив содержит основные и языковые пакеты, мы оставили только en-US и ru-RU, устанавливать следует какой-то один.

Для установки откройте командную строку от имени Администратора, перейдите в каталог с распакованными пакетами и выполните приведенные ниже команды, в данном примере мы будем устанавливать пакеты для 2004 русской версии:

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

win10-deduplication-001-1.jpg

Сразу после установки пакетов дедуплицированные данные снова станут доступны, перезагрузка не требуется. Для управления дедупликацией в Windows 10 нет графических инструментов, поэтому воспользуемся PowerShell.

Если вы впервые включили дедупликацию, то следует импортировать модуль PowerShell, для этого запустите консоль PowerShell от имени администратора выполните следующие команды:

Теперь, например, можно проверить наличие дедуплицированных томов и их состояние:

win10-deduplication-002.jpg

Но не будем забегать вперед и начнем сначала. Для включения дедупликации воспользуйтесь командой:

Запущенная без параметров данная команда установит тип использования тома "по умолчанию", который подходит для общего применения, однако тип использования можно указывать явно, допустимы следующие значения:

  • HyperV - тома для хранения виртуальных машин Hyper-V.
  • Backup -том оптимизирован для виртуализированных серверов резервного копирования.
  • Default - том общего назначения. Это значение по умолчанию.

Например, данная команда включит виртуализацию с типом использования Hyper-V или сменит его, если дедупликация для данного тома уже включена:

win10-deduplication-003.jpg

Обратите внимание, что данная команда только включает дедупликацию, но не производит ее, ваши данные будут оставаться неоптимизированными до тех пор, пока не будет выполнено задание оптимизации (вручную или по расписанию).

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

Вторая полезная опция - минимальный размер дедуплицируемого файла, на томах с виртуальными машинами имеет смысл установить это значение таким образом, чтобы дедупликации подвергались виртуальные диски, но не затрагивались мелкие файлы конфигурации. Размер устанавливается в байтах, т.е. установить 512 МБ следует командой:

Опции командлета Set-DedupVolume можно сочетать, т.е. сразу установить и минимальный размер, и минимальное время. Еще одна полезная опция - исключения, например, следующая команда исключит из процесса дедупликации папку E:\Folder1:

Путь следует указывать полностью, несколько значений разделяются запятыми, если путь содержит пробелы, то его следует взять в кавычки. Повторный запуск команды перезаписывает параметры. Важно понимать этот момент, так как если вы позже захотите добавить в исключения еще и E:\Folder2, то команда должна выглядеть так:

В противном случае вы Folder2 в список исключений добавите, а Folder1 удалите.

Аналогичным образом можно задать исключения по типам файлов, для этого укажите нужные расширения (без точки) через запятую, например, исключим временные файлы и сигнальные lck-файлы:

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

Проконтролировать ход выполнения задания можно командой:

win10-deduplication-004.jpg

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

  • Optimization -запуск процесса дедупликации данных.
  • Garbage Collection - применяется для очистки всех неиспользуемых или удаленных данных.
  • Scrubbing - проверка целостности дедуплицированных данных.
  • Unoptimization - запуск процесса отмены дедупликации данных.

Первоначальный процесс оптимизации может занять продолжительное время, создавая при этом достаточно большую нагрузку на диск, учитывайте это. Скорость дедупликации на практике находится в пределах 20-40 МБ/с, так что необходимое время можно достаточно точно рассчитать и спланировать.

Стоит ли овчинка выделки? Однозначно стоит, ниже приведен результат дедупликации нашего хранилища виртуальных машин:

win10-deduplication-005.jpg

Если бы не данная технология, то нам давно бы пришлось топать за новыми дисками вдвое большего объема.

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

win10-deduplication-006.jpg

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

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

Как видим, благодаря энтузиастам, мы вполне успешно можем использовать все преимущества дедупликации в среде настольных ОС, а некоторая сложность установки и управления с лихвой компенсируется экономией дискового пространства. Да и возможность эта востребована в основном специалистами или энтузиастами, для которых работа в командной строке не является чем-то экзотическим.

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

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

Установка дедупликации данных

Обновление KB4025334 содержит накопительный пакет исправлений, в том числе обеспечивающих надежность системы. Мы настоятельно рекомендуем установить его при использовании дедупликации данных в Windows Server 2016.

Установка дедупликации данных с помощью диспетчера сервера

Установка дедупликации данных с помощью PowerShell

Чтобы установить дедупликацию данных, выполните следующую команду PowerShell от имени администратора: Install-WindowsFeature -Name FS-Data-Deduplication

Чтобы установить дедупликацию данных на Nano Server:

Создайте установку Nano Server с установленным хранилищем, как описано в руководстве Приступая к работе с сервером Nano Server.

На сервере под управлением Windows Server 2016 в любом режиме, отличном от Nano Server, или на персональном компьютере Windows с установленным пакетом средств удаленного администрирования сервера (RSAT) установите дедупликацию данных с явной ссылкой на экземпляр Nano Server (замените текст "MyNanoServer" реальным именем экземпляра Nano Server):

Включение дедупликации данных

Определение рабочих нагрузок для дедупликации

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

  • Рекомендуемые рабочие нагрузки — используют наборы данных, для которых дедупликация крайне эффективна. Такие нагрузки также используют схемы потребления ресурсов, которые совместимы с моделью постобработки, применяемой при дедупликации данных. Для следующих рабочих нагрузок включать дедупликацию данных рекомендуется всегда:
    • файловые серверы общего назначения (GPFS) с такими общими ресурсами, как общие групповые папки, домашние папки пользователей, рабочие папки и общие ресурсы для разработки программного обеспечения;
    • серверы инфраструктуры виртуальных рабочих столов (VDI);
    • Виртуализированные приложения резервного копирования, такие как Microsoft Data Protection Manager (DPM).
    • узлы Hyper-V общего назначения;
    • Серверы SQL Server
    • производственные серверы.

    Оценка дедупликации данных для рабочих нагрузок

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

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

    Есть ли в наборе данных рабочей нагрузки достаточный объем дублирующихся данных, чтобы включение дедупликации дало ощутимый эффект? Прежде чем включать дедупликацию данных для рабочей нагрузки, оцените объем дублирующихся данных в наборе данных, используя средство оценки экономии от дедупликации данных (DDPEval). После установки дедупликации данных это средство можно найти здесь: C:\Windows\System32\DDPEval.exe . DDPEval поможет вам оценить потенциальный эффект оптимизации для непосредственно подключенных томов (включая локальные диски или общие тома кластера), а также для сопоставленных или несопоставленных сетевых папок. При выполнении DDPEval.exe будут возвращены выходные данные, аналогичные следующим: Data Deduplication Savings Evaluation Tool Copyright 2011-2012 Microsoft Corporation. All Rights Reserved. Evaluated folder: E:\Test Processed files: 34 Processed files size: 12.03MB Optimized files size: 4.02MB Space savings: 8.01MB Space savings percent: 66 Optimized files size (no compression): 11.47MB Space savings (no compression): 571.53KB Space savings percent (no compression): 4 Files with duplication: 2 Files excluded by policy: 20 Files excluded by error: 0

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

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

    Эти проблемы особенно важны для рабочих нагрузок, которые хранят данные на томах, состоящих из традиционных носителей с вращающимися дисками (жесткие диски или HDD). Любая инфраструктура флэш-памяти (твердотельные накопители или SSD) менее подвержена проблемам случайных операций ввода-вывода, так как флэш-память обеспечивает одинаковое время доступа ко всем расположениям на носителе. Таким образом, дедупликация будет сопряжена с разной величиной задержки при операциях чтения в зависимости от того, где хранятся наборы данных рабочей нагрузки: на носителях на основе флэш-памяти или на традиционных вращающихся дисках.

    Какие требования к ресурсам сервера предъявляет рабочая нагрузка? Так как дедупликация данных использует модель постобработки, она предполагает периодическое выделение значительных системных ресурсов для выполнения оптимизации и других заданий. Это означает, что рабочие нагрузки с определенными периодами простоя (например, в вечернее время или выходные дни) прекрасно подходят для дедупликации, в отличие от рабочих нагрузок, выполняемых круглосуточно изо дня в день. Но при этом дедупликацию можно успешно применить и для рабочих нагрузок без периодов простоя, если такие нагрузки не имеют высоких требований к ресурсам сервера.

    Включение дедупликации данных

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

      — оптимальные настройки для файлового сервера общего назначения. — настройки специально для серверов VDI. — оптимальные настройки для виртуализированных приложений резервного копирования, таких как Microsoft DPM.

    Включение дедупликации данных с помощью диспетчера сервера

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

    Включение дедупликации данных с помощью PowerShell

    Выполните следующую команду PowerShell с правами администратора:

    Если вы используете рекомендуемую рабочую нагрузку, на этом процесс окончен. Для других рабочих нагрузок изучите раздел Дополнительные вопросы.

    Командлеты PowerShell для дедупликации данных, включая Enable-DedupVolume , можно запустить удаленно, добавив -CimSession параметр в сеанс CIM. Это особенно полезно для удаленного выполнения командлетов PowerShell на экземпляре Nano Server. Чтобы создать новый сеанс CIM, выполните команду New-CimSession .

    Дополнительные рекомендации

    Если ваша рабочая нагрузка относится к категории рекомендуемых, этот раздел можно пропустить.

    • Типы использования, доступные при дедупликации данных, предусматривают практические стандартные значения для рекомендуемых рабочих нагрузок, а также используются в качестве отправной точки для остальных рабочих нагрузок. Для рабочих нагрузок, не входящих в категорию рекомендуемых, вы можете изменить дополнительные параметры дедупликации данных, чтобы повысить ее эффективность.
    • Если рабочая нагрузка характеризуется высокими требованиями к ресурсам сервера, задания дедупликации данных следует запланировать на период ожидаемого простоя рабочей нагрузки. Это особенно важно, если дедупликация выполняется на гиперконвергированном узле, ведь в рабочее время процессы дедупликации могут истощить ресурсы виртуальных машин.
    • Если рабочая нагрузка не особо требовательна к ресурсам или быстрое выполнение заданий оптимизации важнее, чем обслуживание запросов рабочей нагрузки, вы можете настроить параметры выделения памяти, ЦП и приоритета для заданий дедупликации.

    Вопросы и ответы

    Я хочу выполнить дедупликацию данных в наборе данных для рабочей нагрузки X. Поддерживается ли это? Мы полностью гарантируем целостность данных при применении дедупликации данных с любой рабочей нагрузкой, кроме включенных в список несовместимых с дедупликацией. Для рекомендуемых рабочих нагрузок корпорация Майкрософт также гарантирует повышение производительности. Производительность других рабочих нагрузок в значительной мере зависит от того, какие действия они выполняют на сервере. Необходимо определить, каким образом дедупликация данных повлияла на вашу рабочую нагрузку и допустимо ли такое влияние для этой нагрузки.

    Каковы требования к размеру тома для дедуплицированных томов? В Windows Server 2012 и Windows Server 2012 R2 размер тома следует выбирать осторожно, чтобы дедупликация данных выполнялась в соответствии со скоростью обновления данных в томе. В большинстве случаев максимальный размер дедуплицированного тома для рабочей нагрузки с высокой скоростью обновления данных составляет 1–2 ТБ. Мы рекомендуем в любом случае не превышать размер 10 ТБ. Эти ограничения устранены в Windows Server 2016. Дополнительные сведения см. в статье Новые возможности функции дедупликации данных.

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

    Каковы требования к памяти для дедупликации данных? При дедупликации данных следует выделить по меньшей мере 300 МБ, а также дополнительно 50 МБ на каждый терабайт логических данных. Например, если вы оптимизируете том размером 10 ТБ, для дедупликации следует выделить не менее 800 МБ памяти ( 300 MB + 50 MB * 10 = 300 MB + 500 MB = 800 MB ). Дедупликация данных может выполняться и с меньшим объемом памяти, но такое ограничение ресурсов замедлит выполнение заданий этой функции.

    Лучше всего, если для дедупликации данных будет выделено по 1 ГБ памяти на каждый 1 ТБ логических данных. Например, если вы оптимизируете том размером 10 ТБ, оптимальный объем памяти для дедупликации составит 10 ГБ ( 1 GB * 10 ). Такое соотношение обеспечит максимальную производительность для заданий дедупликации данных.

    Каковы требования к объему хранилища для дедупликации данных? В Windows Server 2016 дедупликация данных может поддерживать тома размером до 64 ТБ. Дополнительные сведения см. в статье What's new in Data Deduplication (Новые возможности функции дедупликации данных).

    За последние несколько лет, объем устройств хранения увеличился в несколько раз, и параллельно с ним увеличивается объем используемых данных. Появляются мощные инструменты, позволяющие наиболее эффективно использовать выделенное пространство. Одна из технологий, доступных в Windows Server - это дедупликация . Microsoft продолжает добавлять новые возможности к функции дедупликации с каждым новым выпуском Windows .

    Рассмотрим само понятие дедупликации, инсталляцию компонентов и работу в Windows Server. Включение дедупликации на томе, использование Планировщика заданий, а также использование PowerShell для проверки статуса работы и управления.

    Что такое дедупликация данных в Windows Server?

    Файловый сервер предприятия – хороший пример, с помощью которого можно визуализировать, на сколько могут быть огромны объемы пользовательских данных. На файловом ресурсе можно найти множество копий одних и тех же файлов или близко схожих по внутренней структуре, т.е. в нескольких файлах будут дублироваться блоки данных. Одни и те же отчеты, письма, служебные документы пересылаются и сохраняются пользователями разных подразделений на одном и том же файловом сервере. А это, в свою очередь, приводит к появлению избыточных копий, которые влияют на эффективность хранения данных и последующего резервирования.

    В традиционных средах хранения так и происходит. Дедупликация предоставляет средства для однократного сохранения данных и создания ссылок на фактическое расположение данных. Таким образом, среда хранения перестает хранить дублирующуюся информацию. Компания Microsoft также продолжает совершенствовать функции дедупликации. В Windows Server 2019 появилась возможность выполнять дедупликацию томов NTFS и ReFS . До Windows Server 2019 дедупликация ReFS была невозможна.

    Как работает дедупликация данных Windows Server?

    Для реализации дедупликации данных в Windows Server использует два принципа

    1. Процесс дедупликации с данными выполняется не моментально. Это означает, что процесс дедупликации не будет влиять на производительность в процессе записи файла. Когда данные записываются в хранилище, они не оптимизируются. После этого запускается процесс оптимизации дедупликации, чтобы гарантировать дедупликацию данных.
    2. Конечные пользователи не знают о процессе дедупликации - дедупликация в Windows Server полностью прозрачна. Пользователи не подозревают, что они могут работать с дедуплицированными данными.

    Для успешной дедупликации данных в соответствии с принципами, перечисленными выше, Windows Server использует следующие шаги:

    1. Файловая система сканирует хранилище, чтобы найти файлы, соответствующие политике оптимизации дедупликации.
    2. Файлы дробятся на фрагменты.
    3. Идентифицируются уникальные фрагменты данных
    4. Фрагменты помещаются в хранилище фрагментов.
    5. Создаются ссылки на хранилище фрагментов, чтобы было перенаправление при чтении этих файлов на соответствующие фрагменты.

    Использование дедупликации

    Ниже описана примерная экономия места при использовании дедупликации.

    • 80–95% для сред виртуализации VDI, ISO файлы.
    • 70–80% для файлов программного обеспечения, файлов CAB и других файлов.
    • 50–60% для общих файловых ресурсов, которые могут содержать огромное количество дублированных данных.
    • 30–50% для стандартных пользовательских файлов, которые могут включать фотографии, музыку и видео.

    Установка компонентов дедупликации в Windows Server

    Процесс установки Data Deduplication прост. Дедупликация данных является частью роли файловых служб и служб хранения. Можно установить используя графический интерфейс Server Manager , используя Windows Admin Center или командлет PowerShell .


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

    В инфраструктуре удаленных рабочих столов основной ролью является узел сеансов Remote Desktop Session Host (далее – RDSH). Начну с подбора аппаратной части для этой роли.

    С процессором и памятью все довольно просто: больше памяти, больше процессоров высокой частоты и с большим кэшем – лучше. Чуть больше внимания стоит уделить дисковой подсистеме, ведь именно она часто является узким местом. Основную нагрузку на диски можно условно разделить на три группы:

    системные файлы и приложения;

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

    Для смены места хранения профилей нужно изменить следующий параметр реестра:

    путь: HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList;

    параметр: REG_EXPAND_SZ с именем ProfilesDirectory;

    Тогда профили всех пользователей будут создаваться уже в другом месте.

    Отдельно нужно отметить перемещаемые профили пользователей терминального сервера. Настроить их можно групповой политикой Конфигурация Windows – Административные шаблоны – Службы удаленных рабочих столов – Узел сеансов удаленных рабочих столов – Профили – Задать путь для перемещаемого профиля пользователя служб удаленных рабочих столов. В этой политике можно задать место для хранения профилей пользователей терминального сервера, но храниться будет лишь часть профиля. В частности AppData\Local останется на старом месте.

    Сама групповая политика настраивается в Конфигурация пользователя – Конфигурация Windows – Перенаправление папки, и для большинства папок пользовательского профиля можно указать альтернативное расположение.


    Настройка политики перенаправления папок

    Чтобы не было проблем с созданием папок и доступом в них, я обычно делаю следующие разрешения на ресурс с перенаправленными папками:

    группа «Все» может создавать папки и читать. Разрешения применяются только для корневой папки;

    создатель-владелец (owner) имеет полный доступ, но только к подпапкам и файлам;


    Разрешения на сетевой ресурс с перенаправленными папками пользователей.

    Одна из основных нагрузок на диск на сервере с ролью RDSH – синхронная запись. Причиной опять же являются пользователи: ведь при штатной работе идет регулярное обращение к профилю, а также загрузка-выгрузка пользовательских веток реестра (%userprofile%\ntuser.dat). Помимо создания разного рода производительных массивов оптимизировать производительность поможет кэш на запись.

    Если у вас нет батарейки для RAID-контроллера, стоит подумать о ее приобретении или же безгранично верить бесперебойникам. Надо сказать, что кэш можно настраивать и через Windows – на вкладке «Политика» в свойствах диска в оснастке «Управление дисками».


    Настройка кэша жесткого диска Windows.

    Вторым потенциально узким местом является сетевая подсистема. В целях оптимизации не лишним будет по возможности разделить сеть на условный frontend и backend. Через frontend пустить пользовательские подключения, а через backend – подключения к другим серверам, в том числе и к хранилищам для перенаправленных папок и перемещаемых профилей.

    Загрузка сети пользовательскими подключениями, как правило, минимальна, а для повышения производительности backend можно использовать объединение адаптеров (LACP) или установить в сервер десятигигабитные адаптеры.

    В настройке самой операционной системы можно выделить следующие моменты:

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

    также лучше уменьшить частоту проверок статуса приложений, обновлений и прочих синхронизаций;

    меньше ненужных процессов и модулей – больше простора всему остальному. Проверить процессы и загружаемые модули можно с помощью встроенной утилиты msinfo32.exe и незабвенной Autoruns;

    антивирус на терминальном сервере – не самая лучшая идея, достаточно ограничиться защитой периметра, SRP и регулярными обновлениями. Если же Пети и Не-Пети тревожат паранойю, то стоит хотя бы исключить из проверки часть временных папок: например, с файлами, которые создают системные сервисы и доверенные приложения;

    если перенаправленные устройства, такие как воспроизведение звука, микрофон и прочие диски не используются – лучше их отключить.

    отдельного упоминания заслуживают перенаправленные принтеры. По возможности лучше не использовать перенаправление принтеров, подключать уже с локального принтсервера. Если подключить не удается – используйте проброс принтеров с помощью штатного средства EasyPrint, без установки драйвера принтера. Ставить драйвер принтера стоит при крайней необходимости, и аккуратно – многие драйвера, особенно для старых принтеров, тянут с собой свои приложения, которые запросто могут и «уронить» службу печати;


    129 – именно столько назначенных заданий в свежеустановленной Windows 2016 + Office 2016.

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

    RemoteFX – это целый набор технологий, отвечающих за сжатие RDP, проброс устройств, работу с видеокартой и устройствами USB как в виртуальной машине, так и на терминальном сервере.

    Полезной настройкой является сжатие RemoteFX. Искать ее можно в групповых политиках по адресу Конфигурация компьютера – Административные шаблоны – Компоненты Windows – Службы удаленных рабочих столов – Узел сеансов удаленных рабочих столов – Среда удаленных сеансов – Настройка сжатия RemoteFX.


    Настройка сжатия RemoteFX через групповые политики.

    Настройка имеет следующие варианты:

    оптимизация использования памяти. Нагрузка на сервер небольшая, но повышаются требования к пропускной способности сети;

    оптимизация использования полосы пропускания сети. Сеть загружена слабо, но расход памяти составляет около 2 МБ на сессию;

    баланс памяти и полосы пропускания сети. Расход памяти составляет около 200 КБ на сессию;

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

    Рядом с этой настройкой находятся и другие опции, влияющие на быстродействие – тут и настройка кодировки, и настройка максимального разрешения экрана. Особенно интересной является настройка использования графического адаптера для отрисовки изображения – для всех сеансов службы удаленных рабочих столов используйте аппаратный графический адаптер по умолчанию. Начиная с Windows 2016, RemoteFX научился работать не только с виртуальными видеокартами в виртуальных машинах, но и с видеокартой напрямую. Да, теперь видеокарту для ускорения работы можно устанавливать даже в обычный сервер сеансов удаленных рабочих столов.

    Другие настройки отображения можно производить на клиентской стороне, в файлах .rdp. Большинство опций находится на вкладке «Взаимодействие».


    Настройки отображения, влияющие на быстродействие.

    Можно настроить вручную, можно использовать предустановки в зависимости от ориентировочной скорости соединения или же отдать управление автоматике. Самое главное – не стоит отключать «Постоянное кэширование точечных рисунков». При включенной опции клиент будет держать у себя кэш изображения и загружать только изменения рисунка.

    Перейду к быстродействию другой роли терминального сервера – шлюза удаленных рабочих столов.

    Шлюз удаленных рабочих столов (Remote Desktop Gateway, далее – RDG) удобно использовать для подключения внешних клиентов без VPN – в частности, он позволяет настроить проверку подлинности по сертификату. С примером настройки можно ознакомиться в соответствующей статье, я же ограничусь вопросами быстродействия.


    Параметр Путь Значение по умолчанию Комментарий
    Maxiothreads HKLM\Software\Microsoft\Terminal Server Gateway Равняется количеству процессоров Отвечает за количество выходящих потоков, которые обрабатывает RDG
    MaxPoolThreads HKLM\System\CurrentControlSet\Services\InetInfo\Parameter 4 Количество потоков, которые обрабатывает IIS
    ServerReceiveWindow HKLM\Software\Microsoft\Rpc 64 КБ Максимальный размер кадра, принимаемого сервером. Может варьироваться от 8 КБ до 1 ГБ.
    ClientReceiveWindow HKLM\Software\Microsoft\Rpc 64 КБ Максимальный размер кадра, принимаемого клиентом. Может варьироваться от 8 КБ до 1 ГБ.

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

    шлюз служб терминалов;

    сведения о процессоре;

    Скажу и пару слов про третью роль – узел виртуализации удаленных рабочих столов. Он необходим для развертывания инфраструктуры виртуальных рабочих столов (Virtual Desktop Infrastructure – VDI), чуть менее популярной, чем обычные терминальные сервера.

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

    обновление WIndows. Все равно машина при подключении разворачивается из шаблона;

    автономные файлы. VDI не уходят в оффлайн;

    фоновая дефрагментация. Изменения файловой системы откатываются при отключении;

    сон или гибернация. Не поддерживается в VDI;

    аварийный дамп. При повторном включении машина будет развернута из шаблона;

    автоконфигурация WLAN. На VDI нет Wi-Fi;

    служба общих сетевых ресурсов проигрывателя Windows Media;

    поставщик домашней группы;

    общий доступ подключения к интернету;

    служба поддержки Bluetooth;

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

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

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

    Под спойлером напомню, когда и как стоит включать дедупликацию.

    Microsoft советует включать дедупликацию в следующих случаях:

    файловые серверы общего назначения – общие папки пользователей, перенаправленные папки профилей и т.п.;

    серверы инфраструктуры удаленных рабочих столов (VDI);

    Во всех прочих случаях выгоды дедупликации стоит предварительно оценить. В этом поможет утилита DDPEval.exe, которая появится после установки роли дедупликации на сервер.


    На диске с большим количеством файловых баз 1С дедупликация поможет сэкономить до 70% места.

    Установка компоненты дедупликации производится через графический режим или командлетом PowerShell:

    Install-WindowsFeature -Name FS-Data-Deduplication

    Включить удобно командлетом Enable-DedupVolume с параметром – UsageType, который может принимать значения:

    HyperV – для дисков хранения виртуальных машин и VDI;

    Backup – для виртуализированных приложений резервного копирования;

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

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

    Механизм дедупликации использует три вида назначенных заданий:


    Название Что делает Расписание по умолчанию
    Оптимизация Выполняет дедупликацию Каждый час
    Сбор мусора Освобождает место на диске Каждую субботу в 02:35
    Проверка целостности Ищет и восстанавливает повреждения Каждую субботу в 03:35

    Посмотреть назначенные задания можно командлетом Get-DedupSchedule.


    Запланированные задания дедупликации по умолчанию.

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

    Добавим новое задание оптимизации в нерабочее время:

    И задания сборка мусора и проверки по нерабочим дням:

    Подробнее про синтаксис командлета New-DedupSchedule можно почитать в документации.

    Большинство тонких настроек дедупликации – то есть большинство параметров для тома – настраивается с помощью командлета Set-DedupVolume.

    Под спойлером вы найдете возможные параметры командлета.
    Параметр Описание Допустимые значения Комментарий
    ChunkRedundancyThreshold Количество ссылок на блок до его копирования в раздел активной зоны хранилища блоков Положительные целые числа Обычно нет необходимости изменять значение по умолчанию, но увеличение значения может увеличить быстродействие томов с высокой дупликацией
    ExcludeFileType Типы файлов, исключаемые из дедупликации Массив расширений файлов Такие файлы как мультимедиа плохо поддаются дедупликации, оптимизировать их нет смысла
    ExcludeFolder Папки, исключаемые из дедупликации Массив путей к папкам Для повышения производительности можно исключить часть папок
    InputOutputScale Уровень параллелизации операций ввода-вывода 1 – 36 На сервере с высокой нагрузкой можно уменьшить количество операций ввода-вывода дедупликации, что скажется на скорости выполнения оптимизации, но ускорит общую работу сервера
    MinimumFileAgeDays Число дней после создания файла, прежде чем он будет считаться доступным для оптимизации. Положительные целые числа, включая 0 Значение по умолчанию – 3, в ряде случаев можно изменить значение для повышения оптимизации
    MinimumFileSize Минимальный размер файла, чтобы он мог считаться доступным для оптимизации Положительные целые числа (байты), большие, чем 32 КБ Для небольших файлов дедупликация не имеет особого значения
    NoCompress Сжатие дедуплицированных блоков True\False Для тома, содержащего большое количество сжатых данных, вроде архивов или мультимедиа, сжатие имеет смысл отключить
    NoCompressionFileType Файлы, которые не нужно сжимать Массив расширений файлов Уже сжатые файлы сжимать нет смысла
    OptimizeInUseFiles Использование дедупликации для активных файлов True\False В случае если на томе большинство файлов – большие и постоянно используемые, в которых меняется регулярно только часть файлов – лучше включить этот параметр. В противном случае эти файлы не будут оптимизированы
    OptimizePartialFiles При включении этого параметра значение MinimumFileAge применяется к сегментам файла, а не ко всему файлу True\False
    Verify Проверка блока данных не только по хэшу, но и по байтово True\False Включение параметра замедляет быстродействие, но обеспечивает большую гарантию сохранности данных

    Помимо настроек для тома существуют и общие настройки службы дедупликации. В частности, нас интересует два параметра, находящихся в реестре по следующему адресу:

    Параметр Описание Допустимые значения Комментарий
    WlmMemoryOverPercentThreshold Возможность использовать больше памяти, чем автооценка Положительные целые числа, в процентах. например значение 300 означает «в три раза больше» Изменение значения параметра актуально при одновременном запуске заданий дедупликации и других ресурсоемких задач
    DeepGCInterval Интервал между полными сборками мусора Положительные целые числа, -1 = отключено Полная сборка мусора оптимизирует данные тщательнее, но она более ресурсоемкая. По факту разница в свободном месте после обычной и полной сборке мусора составляет около 5%.

    Теперь, когда дедупликация настроена, можно попробовать выговорить «дедуплицировали, дедуплицировали, да не выдедуплицировали», а потом потратить бюджет не на диски, а на новые серверы в ферму удаленных рабочих столов. И начать тюнить уже их.

    А вам приходилось заниматься подобным тюнингом быстродействия терминальных серверов или все «по дефолту»? Был какой-то ощутимый результат?

    Дедупликация в Windows Server 2019

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

    К плюсам дедупликации отнесём поддержку ReFS, больших объёмов файлов (до 1 Тб) и томов (до 64 Тб), наличие самодиагностики (поиск битых блоков), работу с .vhdx-файлами и даже с живыми виртуальными машинами, последовательное обновление кластерной ОС, будет тратиться меньше времени на резервное копирование или репликацию, простота настройки.

    Размер освобождаемого места зависит от типов файлов, а именно:

    · фотографии, музыка, видео – 30-35%;

    · офисные документы – 50-60%;

    · двоичные файлы программ, CAB-файлы, символы – 70-80%;

    · образы ISO, файлы виртуальных жестких дисков – 80-95%;

    · все вышеперечисленное – 50-60%.

    У дедупликации имеются несколько сценариев применения:

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

    2. для виртуальных рабочих столов (VDI), так как виртуальные жёсткие диски тут, по сути, идентичны;

    3. для бэкапов хранилищ, так как значительная часть снэпшотов дублируется.

    Чтобы включить дедупликацию, нужно зайти в список ролей, найти Файловые службы и службы хранилища->Файловые службы и службы iSCSI и активировать Дедупликация данных (можно и с помощью PowerShell или консоли Windows Admin Center). После установки роли в C:\Windows\system32\ появится утилита ddpeval.exe, которая позволяет определить надобность в дедупликации. Запустив её в командной строке (в cmd) ddpeval.exe d:\ , станет видно, сколько можно освободить места.

    Теперь в графической консоли Диспетчер серверов заходим в Файловые службы и службы хранилища, находим пункт Тома, у нас будет задействован том D:\. В контекстном меню выбираем пункт Настройка дедупликации данных (см. рис. 1).


    Рисунок 1. Настройка дедупликации.

    В появившемся окне в выпадающем списке будет 3 варианта: Файловый сервер общего назначения, Сервер инфраструктуры виртуальных рабочих столов (VDI), Виртуализированный резервный сервер. Мы выбираем первый пункт.

    Затем (при желании) указывается возраст файлов, типы файлов и папки, которые будут исключены из дедупликации, и выбирается расписание. После этого в графической консоли Планировщик заданий появится ветка Deduplication с расписанием фоновых заданий. Средняя скорость дедупликации в Windows Server 2019 составляет 25 Мб/с, а это приблизительно 87 ГБ/час.

    Далее применим некоторые командлеты PowerShell. Например, с помощью Get-DedupVolume -Volume D: | fl увидим объём диска, свободное место на нём, объем оптимизирующего пространства, а также исключённые по умолчанию типы файлов (avi, edb, jrs, asf, mov, wma, wmv), обратив внимание на значение параметра SavingsRate - сейчас показывает 0%, что означает отсутствие дедупликации (см. рис. 2).


    Рисунок 2. Проверка для дедупликации.

    Если нужно запустить дедупликацию сейчас, то можно это сделать в ручном режиме с помощью командлета Start-DedupJob -Type Optimization -Volume D: -Memory 100 -Cores 100 -Priority High , причём процесс выполнится с максимальной загрузкой процессора и памяти, здесь же можно наблюдать за его выполнением в реальном времени в процентах.

    После этого снова запускаем Get-DedupVolume -Volume D: | fl и видим, что параметр SavingsRate = 22%, и это равно 554 Мб сэкономленного места (параметр SavingSpace ).

    В процессе оптимизации места в системной папке System Volume Information создаётся папка Dedup, в которой и хранятся ссылочные данные (метаданные). Содержимое этой папки можно просмотреть командой vssadmin List ShadowStorage .

    Читайте также: