настройка сервера терминалов windows server 2019 для 1с 8
Сервер 1C:Предприятие 8.3 на Windows Server 2019
Пошаговое руководство по установке и первичной настройке сервера 1С:Предприятия 8.3 версии 8.3.19.1229 в ОС Microsoft Windows Server 2019 Standard с использованием СУБД PostgreSQL-11.7-5-1C и системы защиты HASP (USB-ключа).
Подготовка
Запускаем службу Вторичный вход в систему и в свойствах выбираем Запускать автоматически
На машинах, где будет установлено 1С-Предприятие, открываем в блокноте с правами администратора сервера файл C:\Windows\System32\drivers\etc\hosts и допишем в нём:
Скачиваем с официального ресурса 1С https://releases.1c.ru/ платформу 1c-enterprise-8.3 full (текущую версию) и СУБД postgresql-11.7-5.1C-x64 (или текущую версию).
Установка и настройка СУБД postgresql-11.7-5.1C
Запускаем дистрибутив postgresql-11.7-5.1C(x64) для установки
устанавливаем как сервис и при необходимости меняем пути
инициализируем кластер и устанавливаем пароль для пользователя postgres
Запускаем службу: Пуск — PostgreSQL 11.7-5.1C(x64) — Start Service
Установка сервера 1С:Предприятие 8.3 и драйвера аппаратной защиты
Распаковываем архив и в нём запускаем setup.exe
Для установки сервера выбрать компоненты
Выбираем язык интерфейса — Русский
Устанавливаем сервер как сервис и создадим пользователя USR1CV8 и пароль к нему
Устанавливаем драйвер аппаратных ключей защиты
и завершаем установку.
Настройка сервера 1С:Предприятие 8.3
После установки запускаем сервер: Пуск — 1С Предприятие 8 (x86-64) — Запуск сервера x86-64
Регистрирует утилиту администрирования серверов: Пуск — 1С Предприятие 8 (x86-64) — Регистрация утилиты администрирования серверов x86-64
Запускаем консоль администратора: Пуск — 1С Предприятие 8 (x86-64) — Администрирование серверов 1С Предприятия x86-64
на пункте Central 1C:Enterprise 8.3 servers жмём правой кнопкой мыши — Создать — Центральный сервер 1С:Предприятия 8.3
Вводим имя сервера и, если необходимо, описание
Теперь сервер отображается в консоли
Создадим информационную базу
Пропишем имя ИБ, описание, адрес сервера БД: localhost (если сервер развёрнут на той же машине, что и СУБД), имя БД, пользователя postgres и пароль, а также отметим чек-бокс Создать базу данных в случае её отсутствия
и информационная база появилась в оснастке консоли
Теперь вставляем USB-ключ HASP и на всякий случай перезагрузим машину.
Установка и настройка клиента 1С:Предприятие 8.3
Распаковываем архив и в нём запускаем setup.exe
Будут отмечены компоненты:
Этого вполне достаточно.
Будет создан ярлык 1С Предприятие. Запускаем его и сразу будет предложено добавить информационную базу
Выбираем существующую информационную базу
Выберем тип расположения — На сервере 1С:Предприятия.
Заполним: Кластер серверов: SRV15, Имя информационной базы: db_1c (то же, что и было добавлено в консоли администрирования)
В Версию 1С:Предприятия впишем 8.3, в Разрядность — 64 (x86_64)
и информационная база появится в списке
Заключение
Если при установке и настройке вышеперечисленных пунктов не возникало никаких сообщений об ошибках, значит настройка прошла корректно. Но нельзя забывать о лицензии — это USB-ключ аппаратной защиты HASP. При работе в 1С-Предприятии его наличие обязательно.
Установка и настройка терминального сервера на Windows Server + Оптимизация настроек для 1С ч.2
Предисловие
В первой части мы успешно развернули роль «терминальный сервер Windows» и приступили к его конфигурированию. Разобрались в методах организации хранения данных пользователей и определились что из этого мы будем использовать. Давайте приступим к настройке.
Конфигурирование хранения персональных данных пользователей
Для активации дисков профилей пользователя необходимо перейти в Службы удаленных рабочих столов > в разделе Свойства открываем меню Задачи > изменить свойства > Диски профилей пользователя
Ставим флаг напротив «Включить диски профилей пользователей».
Указываем путь до каталога на файловом сервере, где будут храниться VXDX диски профилей, и указываем размер 1 гб (Больше места нам не нужно, так как в диске будет храниться совсем мало данных но и меньше 1 гб сделать нельзя) и нажимаем применить
В результате в указанном каталоге будет создан базовый диск на основе которого будут создаваться диски профилей
Устраняем проблему с хромом
При использовании дисков профилей в Google Chrome возникает ошибка Error COULD NOT GET TEMP DIRECTORY, это связанно с тем что хром не может получить доступ к общей папке TEMP, потому переместим ее в другое место и дадим на нее права
Вам нужно настроить объект групповой политики, который выполняет две функции:
Для каждого пользователя, который входит в систему, создает личную папку в папке C: TEMP Изменить переменные среды TEMP и TMP Есть две настройки, которые можно применить на уровне пользователя.
Далее нам необходимо настроить миграцию профилей
Открываем «Управление групповой политикой «
Создаем объект Групповой политики и связываем его с Подразделением в котором расположены пользователи терминального сервера
Далее переходим Конфигурация пользователя > политики > Конфигурация Windows > Перенаправление папки
По каждому из представленных каталогов ПКМ > Свойства
В окне выбираем пункты
Перенаправлять папки для всех пользователей в одно расположение.
Создать папку для каждого пользователя на корневом пути
Указываем корневой путь (!Важно: данный путь должен быть доступен пользователям на запись)
На вкладке параметры снимаем все галочки и выбираем «После удаления политики оставить папку в новом расположении»
В результате данной настройки в указанном корневом пути будут создаваться каталоги с правами для своего владельца на изменение а для других с запретом чтения
Настройка политики ограниченного использования программ
Спрячем логические диски от пользователей
Конфигурация пользователя > политики > Административные шаблоны > Компоненты windows > Проводник > выбираем политику Скрыть выбранные диски из окна мой компьютер > ставим включено и выбираем Ограничить доступ ко всем дискам
Убираем все лишнее с рабочих столов пользователей
Для этого создадим следующие групповые политики
Ограничение функционала проводника
Ограничение функционала проводника
Идем Конфигурация пользователя > Политики > Административные шаблоны > Компоненты Windows > Проводник и включаем следующие политики
Запрашивать подтверждение при удалении файлов
Отключить возможности библиотеки Windows, использующие данные индексированных файлов
Запретить изменение видеоэффектов для меню
Скрыть значок «Вся сеть» в папке «Сеть»
Удалить меню «Файл» из проводника Удалить вкладку «Оборудование»
Скрыть команду «Управление» из контекстного меню проводника
Удалить «Общие документы» из окна «Мой компьютер»
Удалить команды «Подключить сетевой диск» и «Отключить сетевой диск»
Удалить ссылку «Повторить поиск» при поиске в Интернете
Удалить вкладку «Безопасность» Удалить кнопку «Поиск» из проводника
Набор правил Определяется в зависимости от ваших потребностей. Данные правила выбраны как хорошо зарекомендовавшие себя для нагруженного терминального сервера
Очищаем меню пуск
Идем Конфигурация пользователя > Политики > Административные шаблоны > Меню «Пуск» и панель задач
В данном разделе, все зависит от ваших потребностей. как показывает практика рядовой пользователь меню пуск особо не пользуется, так что зачем ему оставлять лишние кнопки, посему можно запретить все.
Запрет запуска программ
Для решения данной задачи есть 2 способа
1-й способ
При помощи политики «Выполнять только указанные приложения Windows» Указать список всех exe приложений которые будут доступны»
Данный метод проще в настройке, и однозначно блокирует все приложения кроме указанных (те что относятся к windows тоже)
У данного метода есть несколько недостатков
сложность администрирования, так как не всегда удается указать все необходимые EXE для корректной работы приложения (например с CryptoPro, или публикациями приложений и т.д)
Проблема с обновлением приложений (Зачем же разработчикам ПО оставлять старые названия своих exe, и правда Зачем? )
Отсутствие какого либо журнала заблокированных политикой приложений
Настраивается следующим образом
Создаем объект Групповой политики и связываем его с Подразделением в котором расположены пользователи терминального сервера
Идем Конфигурация пользователя > Административные шаблоны > Система > Находим политику «Выполнять только указанные приложения Windows»
Включаем политику > Нажимаем кнопку «Показать» > В таблицу вносим разрешенное приложение. Крайне рекомендую для каждого приложения делать отдельную политику, для облегчения администрирования.
Далее нам Желательно на рабочем столе разместить ярлыки запуска приложения
Идем Конфигурация пользователя > Настройка > Конфигурация Windows > Ярлыки > Создать > Ярлык
Ура политика создана
Так как не всем пользователям нужны одни и те-же программы и права, то нацеливаем политику на группу безопасности В фильтрах безопасности удаляем группу «Прошедшие проверку» а на ее место добавляем группу в которую включены все пользователи данного приложения»
после чего ВАЖНО не забыть на вкладке Делегирование добавить группе «Прошедшие проверку» право на чтение политики (Иначе работать не будет)
2-й способ
Используем функцию AppLocker
Важно применять эту политику на подразделение где лежит ваш терминальный сервер. это позволит вам более оперативно редактировать список разрешенных приложений, так же когда она настроена работать под пользователем возникают непонятные баги. в данный момент я полностью перешел на использование данного метода для большинства внедрений
Создаем Групповую политику и связываем ее с подразделением, где лежит ваш терминальный сервер
идем Конфигурация компьютера > Конфигурация Windows > Параметры безопасности > Политики управления приложениями >applocker > Исполняемые правила > Создать правила по умолчанию
после чего идем Конфигурация компьютера > Конфигурация Windows > Параметры безопасности > Политики управления приложениями >applocker и тыкаем «Настроить применение правил»
в свойствах ставим настроено и выбираем только аудит для правил исполняемых файлов
в результате при заходе пользователя и попытке запуска программ в журнале просмотра событий на терминальном сервере расположенном
Журналы приложений и служб > Microsoft > Windows > AppLocker > EXE и DLL будут появляется события содержащие сведения о запускаемых приложениях, которые мы будем использовать для дальнейшей настройки политики
Вернемся в исполняемые правила и создадим правило на основе отчета журнала событий
ПКМ > Новое правило
выберем действие Разрешить, и в данном случае мы хотим чтобы под всеми пользователями данное приложение могло быть запущенно, но так же мы можем создать в домене группу безопасности в которую включим пользователей для которых данное правило будет применяться, тогда на этом шаге следует ее указать
Выберем условие Путь
Скопируем путь из отчета о событии
в исключения мы добавлять ничего не будем так что далее > Создать
Шаги следует повторить для каждого события из журнала, отсеивая те которые мы хотим запретить
После чего в свойствах applocker следует переключить «Только аудит» на «Принудительное применение правил»
В результате данных действий мы имеем эффективное хранение данных пользователей, и первично настроенную безопасность терминального сервера
Установка и настройка терминального сервера на Windows Server + Оптимизация настроек для 1С ч.3
Предисловие
Наконец то я смог перебороть свою лень и написать третью часть. По итогу мы имеем настроенный терминальный сервер, с разграниченными доступами к данным и списками разрешенных программ. В данной части закончим тонкую настройку рабочих столов пользователей, как и обещал рассмотрим Установку, Настройку, и оптимизацию 1С, а так же разграничение доступа к БД. Приступим.
Очищаем рабочий стол от лишних ярлыков
Создадим Групповую политику с названием «Очистить рабочий стол» и свяжем ее с подразделением в котором расположены пользователи нашего сервера
Зададим параметры политики > Конфигурация пользователя > политики > административные шаблоны > Меню Пуск и панель задач там находим Скрыть общие группы программ в меню «Пуск»
в результате будут очищены все ярлыки с рабочего стола пользователя. теперь заполним его тем что нам нужно
Размещаем на рабочем столе пользователя необходимые ярлыки приложений
Создадим Групповую политику с названием «Публикация ярлыков» и свяжем ее с подразделением в котором расположены пользователи нашего сервера
Зададим параметры политики > Конфигурация пользователя > политики > Настройка > Конфигурация Windows > Ярлыки > ПКМ создать > ярлык
Заполняем открывшуюся форму, Данные можно скопировать с существующего ярлыка, нажав по нему ПКМ и выбрав свойства, в поле «Размещение» выбираем Рабочий стол
Очищаем содержимое Меню ПУСК и задаем начальный макет
Создадим Групповую политику с названием «Настройка Меню Пуск» и свяжем ее с подразделением в котором расположены пользователи нашего сервера
Зададим параметры политики > Конфигурация пользователя > политики > административные шаблоны > Меню Пуск и панель задач > выбираем «Очистка списка недавно использовавшихся программ для новых пользователей» и переводим параметр в состояние Включена
Там же находим политику макет начального экрана, так же ее включим и укажем путь где мы в дальнейшем разместим файл макета
Создадим макет
В результате мы имеем полностью готовые к работе рабочие места для сотрудников компании
Оптимизация 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 и запускаем команду:
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 config CscService start=disabled
sc Stop CscService
Анализатор соответствия рекомендациям
Для некоторых серверных ролей Windows (в частности, терминальных) существует база успешных конфигураций. Придерживаясь советам данной базы можно повысить надежность и стабильность системы.
Для сервера удаленных рабочих столов, как правило, необходимо выполнить следующие рекомендации:
Оптимизируем настройку SMB протокола
Для этого запустим Powershell под администратором и выполним следующие команды
Srv.sys должен быть настроен на запуск по требованию.
Запустим CMD под администратором
sc config srv start=demand
Создание коротких имен файлов должно быть отключено
fsutil 8dot3name set 1
Мониторинг Загрузки сервера
в работе сервера с 1с как показала практика основным показателем является средняя длина очереди диска и загрузка ЦП
Смотрим очередь диска
Заходим Управление компьютером > Производительность > Средства наблюдения > Системный монитор > Добавить > выбираем «Физический диск» > средняя длина очереди диска > выбираем диск на котором лежат базы
Нормальным режимом работы является очередь не превышающая значения 1, все что выше уже будут заметны подтормаживания, при значениях выше 2.5 работа в 1 с становится не комфортной.
За данным параметром крайне важно следить так как высокая очередь на диск тянет за собой высокую загрузку ЦП (которому приходится ждать пока диск ответит)
Вот полезная ссылка от другого автора, но материал очень полезный https://habr.com/ru/post/556296/
Свободное место на разделе где хранятся файловые базы 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с, можно считать законченно, как итог мы имеем сервер готовый к приему клиентов