Dfss windows 2016 настройка

Обновлено: 02.07.2024

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

2. Решения задачи можно добиться и менее радикальными методами, чем изменение опций ядра Windows.

Для начала немного лирики.

Работа в терминальной многопользовательской среде, безусловно, имеет свою специфику. К сожалению, далеко не все приложения эту специфику учитывают. Здесь и использование ресурсов сверх необходимости - режим "я дома один" см. 1С:Предприятие 7.7 и ВК Terminal Sleep, и непродуманные визуальные эффекты - та же заставка 1С:Преприятие 7.7 и градиентная заливка 1С:Предприятие 8.2 Турбо-милк.

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

Теперь про DFSS.

Возьмем гипотетический пример. Имеем терминальный сервер с 4 процессорами, имеющими производительность 1000 попугаев каждый. Итого 4000 попугаев. Запускать на серверах мы будем только программы 1С. Поскольку 1С однопоточное приложение (строго говоря это не так, но на практике влиение остальных потоков малозначительно), то каждое 1С приложение может использовать только один процессор и максимально сможет работать со скоростью 1000 попугаев.

На терминал заходит мега-разработчик и открывает Конфигуратор. При запуске Конфигуратор получит свои 1000 попугаев. Все нормально. Закроем приложение. И запустим одновременно 4 Конфигуратора. Что произойдет? А ничего, все получат свои 1000 попугаев. Опять все закрываем.

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

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

Для исправления ситуации Microsoft начиная с Windows Server 2008 R2 на уровне ядра выделила еще один разрез для распределения ресурсов - сессию. Соответственно, появился механизм DFSS - D ynamic Fair Share Scheduling (вольн. -Динамическое честное распределение ресурсов).

Что произойдет при включенном DFSS в третьем сценарии? Система отработает уже по другому - сначала поделит ресурсы пополам (у нас две сессии), т.е. каждый пользователь получит 2000 попугаев. Теперь формирование отчета получит 1000 попугаев, а каждый конфигуратор 500. Все по честному (fair) - у каждого пользователя одинаковое количество ресурсов, а дальше уже его право распоряжатся выделенными ему ресурсами как угодно (можно даже запускать 1С:Предприятие 7.7 без ВК Terminal Sleep). Теперь никакая нагрузка пользователя не повлияет на работу других пользователей.

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

В оснастке WSRM есть раздел "Process Matching Criteria". При создании нового критерия отбора процессов можно указать конкретное приложение (можно даже просто имя файла 1cv8.exe) и пользователей (группы пользователей) входящих в критерий. В разделе "Resource Allocation Plolicies" можно установить, что для определенного критерия (например 1cv8.exe и i.petrov) установить выделение 50% процессорной мощности системы. И мы решили проблему медленного запуска конфигуратора у пользователя i.petrov. Правда под критерий попадает еще и толстый клиент, но это скорее бонус для i.petrov .

Теперь подойдем с другой стороны. Есть ли необходимость изменения опций ядра для запуска Конфигуратора 1С?

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

Рано или поздно системные администраторы задаются вопросом о децентрализованном хранении информации или хотя бы об объединении нескольких существующих файловых серверов в единый. Параллельно этому поднимается вопрос о безопасности хранимой информации. Относительно простым, менее затратным и популярным среди администраторов AD (Active Directory) является использование DFS. Рассмотрим что это и как настроить.

DFS - Distributed File System - распределенная файловая система. Является продуктом компании Microsoft, предназначенный для упрощения доступа пользователей к файлам. Что примечательно, файлы могут быть разнесены территориально.

Выделяют два типа DFS:
1. Namespace DFS (Пространство имен DFS). Данный тип реализует виртуальное дерево, которое объединяет общие каталоги сети в единое пространство имен. Существует возможность настройки нескольких пространств имен.
2. Replication DFS (Репликация DFS) - репликация уже существующего каталога с отслеживанием содержимого и внесенных изменений.

Установка (DFS Installation)

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

Открываем диспетчер серверов. В основной части окна кликаем по «Добавить роли и компоненты»:


В новом окне переходим к пункту «Тип установки», выбираем параметр «Установка ролей и компонентов», нажимаем кнопку «Далее»:


В обновленном окне выбираем текущий сервер и кликаем по кнопке «Далее»:


Следующим шагом, в списке доступных ролей находим «Файловые службы и службы хранилища» и раскрываем список, в котором необходимо отыскать «Файловые службы и службы iSCSI». Также раскрываем список параметров. Отмечаем галочками «Пространства имен DFS» и «Репликация DFS». В появившемся окне кликаем «Добавить компоненты». Нажимаем кнопку «Далее» несколько раз и дожидаемся окончания установки:


Создание пространства имен DFS

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



Общий доступ к папке готов. Кликаем по кнопке «Готово»:


Теперь сервер доступен по пути:
WINSERVER2019net_share

Создадим пространство имен DFS.

Для этого в меню «Пуск» выбираем «Средства администрирования Windows». Также можно через Панель управления ➝ Система и безопасность ➝ Администрирование.

В открывшемся окне, выбираем «Управление DFS»:


В новом окне «Управление DFS», в правой части кликаем по «Новое пространство имен . »:


В окне мастера указываем имя сервера. Его можно отыскать как в окне, которое откроется при клике по кнопке «Обзор», так и в свойствах системы на вкладке «Имя компьютера». Нажимаем «Далее»:


Следующим шагом указываем имя пространства имен. В нашем случае, пусть будет «MyDFS». Нажимаем кнопку «Изменить настройки. ». В новом окне следует обратить внимание на строку «Локальный путь общей папки», при необходимости измените его. В том же окне установим переключатель на значение «Использовать пользовательские разрешения» и кликаем кнопку «Настроить»:


В открывшемся окне разрешаем полный доступ для всех и нажимаем кнопку «OK»:


Окно изменения настроек закрываем кликом по кнопке «OK», в окне мастера нажимаем кнопку «Далее»:


На новом этапе выбора типа пространства имен устанавливаем переключатель на значение «Доменное пространство имен», нажимаем кнопку «Далее».

Внимательно просматриваем настройки. Все устраивает - нажимаем «Создать»:


В случае успеха мастер покажет следующее окно:


Нажимаем кнопку «Закрыть».

Добавляем новый каталог в существующее пространство имен

Смысла в проделанном выше нет, если не добавить каталоги к уже существующему пространству имен. В примере процесс будет выполнен на том же сервере, однако, метод применим ко всем серверам в домене.

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


В открывшемся окне «Создание папки» указываем имя, в нашем случае «Test» и нажимаем кнопку «Добавить»:


В новом окне необходимо добавить путь к существующей сетевой папке. Список доступных каталогов можно посмотреть кликнув по кнопк «Обзор. ». По окончании, нажимаем «OK»:


Результат будет таким:


Нажимаем «OK».

Доступ к DFS можно получить из любой адресной строки (Пуск->Выполнить, или из адресной строки любой папки) по шаблону:
<доменное_имя_сервера><имя_пространства_имен_DFS>


Настройка DFS-репликации

Для выполнения репликации данных необходимо добавить второй сервер в этот же домен и установить на нем роль сервера «Репликация DFS» с помощью диспетчера серверов:


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


При открытии доступа и позже, в меню свойств папки можно увидеть сетевой путь до каталога:


Возвращаемся к контроллеру домена и развернутому на нем пространству имен DFS. Открываем уже знакомое из примеров выше окно «Управление DFS». В левой части окна, разворачиваем дерево до созданного пространства имен. В правой части окна выбираем «Добавить конечный объект папки. ». В новом окне вводим адрес до общего каталога на другом сервер (который создали ранее). Нажимаем кнопку «OK»:


Система задаст вопрос желании создать группу репликации. Нажимаем кнопку «Да»:


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


На данном этапе проверяем пути до сетевых каталогов и нажимаем «Далее»:


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


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


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

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


Программа предлагает просмотр выбранных параметров. Если все устраивает - нажимаем кнопку «Создать»:


В случае успеха результат будет таким:


Нажимаем кнопку «Закрыть».


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

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

Очищаем рабочий стол от лишних ярлыков

Создадим Групповую политику с названием "Очистить рабочий стол" и свяжем ее с подразделением в котором расположены пользователи нашего сервера

Зададим параметры политики > Конфигурация пользователя > политики > административные шаблоны > Меню Пуск и панель задач там находим Скрыть общие группы программ в меню "Пуск"


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

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

Создадим Групповую политику с названием "Публикация ярлыков" и свяжем ее с подразделением в котором расположены пользователи нашего сервера

Зададим параметры политики > Конфигурация пользователя > политики > Настройка > Конфигурация Windows > Ярлыки > ПКМ создать > ярлык

Заполняем открывшуюся форму, Данные можно скопировать с существующего ярлыка, нажав по нему ПКМ и выбрав свойства, в поле "Размещение" выбираем Рабочий стол


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

Очищаем содержимое Меню ПУСК и задаем начальный макет

Создадим Групповую политику с названием "Настройка Меню Пуск" и свяжем ее с подразделением в котором расположены пользователи нашего сервера

Зададим параметры политики > Конфигурация пользователя > политики > административные шаблоны > Меню Пуск и панель задач > выбираем "Очистка списка недавно использовавшихся программ для новых пользователей" и переводим параметр в состояние Включена


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


Создадим макет

Заходим на наш сервер под локальным администратором и настройте вручную нужный вид макета начального экрана, после чего запускаем PowerShell под правами администратора и выполняем команду Export-StartLayout -Path d:\123.xml где в параметре path указываем путь который мы задали ранее в политике


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

Оптимизация 1С

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

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

идем Пуск > панель управления > оборудование > электропитание > выбираем высокая производительность

Отключаем DFSS для нормальной работы 1С

В ОС Windows Server 2012 бывает полезно выключать службу Dynamic Fair Share Scheduling (DFSS позволяет балансировать и распределять ресурсы между пользователями) чтобы повысить производительность 1С:Преприятие 8 в ряде случаев. На момент написания заметки платформа может неудачно взаимодействовать с Dynamic Fair Share Scheduling. Одним из таких признаков может быть долгое открытие конфигуратора в терминальном сервере. Предположительно эта служба Dynamic Fair Share Scheduling думает что 1С:Предприятие потенциально окажет негативное влияния сессией текущего пользователя, захватившего большое количество вычислительных ресурсов, на сессии других пользователей. Служба старается «предотвратить» чрезмерное использования например дисков одним пользователем, пытаясь организовать равномерное распределение дисковых операций I/O между сессиями.

Чтобы выключить балансировку ресурсов надо выполнить следующие шаги:

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

(gwmi win32_terminalservicesetting -N "root\cimv2\terminalservices").enabledfss

1 — включено, 0 — выключено.

Если получаем 0, то дополнительно действий не требуется.


Шаг второй. Если предыдущий шаг вернул 1, то продолжаем. После чего открываем реестр windows (regedit) и меняем в следующих ветках некоторые значения: *1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System параметр EnableCpuQuota на 0.


2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk параметр EnableFairShare на 0. Этот параметр особенно сильно влияет.


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

Для этого выполним команды

после чего проверим

Результатом должен вернуться 0

Это 2 основных пункта которые влияют на производительность 1с, осталось нам научиться понимать где узкое горлышко производительности

Отключаем ненужные службы

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

sc config Themes start=disabled

sc config WSearch start=disabled

sc Stop WSearch

sc config CscService start=disabled

sc Stop CscService

Анализатор соответствия рекомендациям

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

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

Оптимизируем настройку SMB протокола

Для этого запустим Powershell под администратором и выполним следующие команды

Set-SmbServerConfiguration -Smb2CreditsMin 128

Set-SmbServerConfiguration -Smb2CreditsMax 2048

Set-SmbServerConfiguration -AsynchronousCredits 64

Set-SmbServerConfiguration -CachedOpenLimit 5

Set-SmbServerConfiguration -DurableHandleV2TimeoutInSeconds 30

Set-SmbServerConfiguration -AutoDisconnectTimeout 0

Set-SmbServerConfiguration -DurableHandleV2TimeoutInSeconds 30

Srv.sys должен быть настроен на запуск по требованию.

Запустим CMD под администратором

sc config srv start=demand

Создание коротких имен файлов должно быть отключено

fsutil 8dot3name set 1

Мониторинг Загрузки сервера

в работе сервера с 1с как показала практика основным показателем является средняя длина очереди диска и загрузка ЦП

Смотрим очередь диска

Заходим Управление компьютером > Производительность > Средства наблюдения > Системный монитор > Добавить > выбираем "Физический диск" > средняя длина очереди диска > выбираем диск на котором лежат базы
Нормальным режимом работы является очередь не превышающая значения 1, все что выше уже будут заметны подтормаживания, при значениях выше 2.5 работа в 1 с становится не комфортной.

За данным параметром крайне важно следить так как высокая очередь на диск тянет за собой высокую загрузку ЦП (которому приходится ждать пока диск ответит)

Свободное место на разделе где хранятся файловые базы 1С

В том случае если базы данных хранится на другом сервере, например файловом, важно следить чтобы размер файла подкачки не превышал объём свободного места на этом логическом диске, в тот момент когда это произойдет скорость работы 1с упадет в несколько раз

Формирование списка баз 1С, для пользователей

Будем использовать уже заезженный метод формирования списка на основе NTFS прав, но внедрим немного своего

первым делом определимся с местом где будут лежать файлы запуска БД 1С и укажем путь до этого места, пусть это будет d:\access\1cestart.cfg

Откроем файл C:\ProgramData\1C\1CEStart\1cestart.cfg

и добавим в конец файла строку "CommonCfgLocation=d:\access\1cestart.cfg" после чего сохраним

на 160 строке указываем путь до расположения файловых баз 1с

на 163 задаем путь до подразделения домена в котором будут лежать у вас группы безопасности доступа к БД

после чего можем запустить скрипт и создать каталог для нашей базы 1С, После чего останется только положить БД в данный каталог и добавить пользователей в группу доступа 1с


На этом настройку терминального сервера 1с, можно считать законченно, как итог мы имеем сервер готовый к приему клиентов

В серии статей мы рассмотрим установку файлового сервера на базе Windows Server 2016, настройку пространства имен, квотирования, группы AD, права доступа к сетевым папкам, создание ярлыков на сетевые папки через GPO.
За базу берем поставленную мне задачу, упростим ее для статьи. В примере будем использовать два отдела компании. На сервере будет использовано два HDD диска для хранения данных, также подключим третий HDD диск по сети с другого сервера.

1 . Установка и настройка файлового сервера, DFS Namespace и квот
2 . Настройка прав доступа к сетевым папкам на файловом сервере
3 . Добавление групп в AD
4 . Добавляем ярлыки на рабочий стол через GPO

Установка роли файлового сервера

File Server

На этом установка роли файлового сервера завершена.

Установка DFS-namespace

Зачем нужен DFS?

DFS имеет ряд преимуществ как для пользователей сети, так и для предприятий.

Для пользователей сети:

Для организации:

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

Установка DFS

Если вы не установили DFS при инсталляции роли файлового сервера, то можно ее просто добавить. Для этого:

Откройте панель управления сервером Windows и найдите Add roles and features (Добавить роли и компоненты).

В качестве типа установки укажите Role-based or feature-based installation (Установка ролей и компонен
Выбираем нужный сервер из пула серверов. тов).

Выбираем нужный сервер из пула серверов.

Установка DFS шаг 1

Установка DFS шаг 1

В следующем окне отмечаем DFS Namespaces и DFS Replication, если нужно.

Установка DFS шаг 2 Установка DFS шаг 3

После удачной инсталляции переходим к настройке DFS

Установка DFS шаг 4

Установка DFS шаг 4

Настройка DFS

В Server Manager\Dashboard выберете > Tools > DFS Managment.

Или в поиске введите команду dfsmgmt.msc.

Для создания нового пространства имен выберете в правой части экрана New Namespace.

Введите название сервера и выберите его местоположение.

Создание Namespace шаг 1

Создание Namespace шаг 1

На следующем этапе задаем имя пространства имен DFS. Хочу обратить внимание, что заданное здесь имя будет использоваться при подключении общей сетевой папки. Например:

Создание Namespace шаг 2

Создание Namespace шаг 2

На следующем шаге выбираем Domain-based namespace, так как используются доменные службы Active Directory.

Создание Namespace шаг 2

Создание Namespace шаг 3

Создание Namespace шаг 4

Создание Namespace шаг 4

Теперь подключаем к нашему созданному Namespace сетевые папки.

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

Создание папки в Namespace

Создание папки в Namespace

В моем случае у меня 2 разных сетевых папки на разных дисках. Но для пользователей отдела один сетевой ресурс:


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

Replication DFS (Репликация DFS) мною не настраивалась. Наличие свободных ресурсов всегда болезненный вопрос.

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

Настройка квот для сетевых папок в Windows Server 2016

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

Для установки квот на сетевые папки необходимо установить File Server Resource Manager.

Установка File Server Resource Manager шаг 1
Установка File Server Resource Manager шаг 2


Для создания своей квоты выберите Quota Management > Quota Templates > Create Quota Templates

Настройка Quota Template шаг 1

Настройка Quota Template шаг 1

Задаем имя для нашей новой квоты, описание, если нужно, и устанавливаем лимит. Нажимаем OK. Квота создана. Если нажать кнопку ADD, то открывается окно с доп. настройками, в котором можно создать уведомления о действиях с папкой, к которой применена квота, запись уведомлений в журнал и отправки на e-mail администратора.

Создадим квоту Storage и применим ее к папке old storage.


Подключим эту папку на компьютере пользователя, видим результат.


Хочу добавить, что квоты бывают Hard (жесткими) и Soft (мягкими). Мягкие квоты – это квоты, в которых установленный лимит можно превышать при достижении порогового значения. Жесткие квоты – запрещают пользователю превышать установленное пороговое значение лимита. Я использую жесткие квоты, так как хочу закрепить выделенное место на жестком диске за отделами.

Обращаю внимание на то, что эта статья описывает конкретный пример. Задачи и решения для каждой компании индивидуальны.

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