Был сервер 1с физический, к которому терминально подключались пользователи. Работал средне, модернизирую его. Коротко и самое важное.
Создаём и настраиваем виртуальные машины
Переносим на виртуальный. Есть физический 12-ядерный сервер на Intel(R) Xeon(R) Gold 6128 CPU @ 3.40GHz. Стоит 2019 Server Standard 16 Core, эту же систему поставил на виртуалки.
Создаём на нем 2 виртуальные машины:
- Под клиентов, 64 Гб ОЗУ, 100 Гб места. Там будет только ОС.
- Под SQL, 32 Гб ОЗУ, 250 Гб места. Больше места для баз.
Рекомендуют 4-6 физических ядра процессора, по одному ядру на 6-8 сессий. Выделяю 4 виртуальных процессора на 25 пользователей.
На сервере и виртуалках ставлю схему управления питанием – «Высокая производительность».
По поводу настройки виртуальных машин, железа, хорошая статья https://windowsnotes.ru/virtualization/nastrojka-virtualnyx-processorov-v-hyper-v/.
Ставим SQL, настраиваем
Установил SQL 2016 и SQL Server Management Studio 18.
Нюансы установки:
- для выбранных компонент экземпляра создаём пользователей с административными правами для запуска этих компонентов в качестве службы (ставим Авто на службах).
- выбираем смешанный режим проверки подлинности, указываем пароль для суперюзера sa, добавляем пользователей, кто сможет подключаться к SQL и настраивать его.
Остальное подробно уже расписано (описание настройки 1С и сервера):
https://its.1c.ru/db/metod8dev#content:5904:hdoc и
https://efsol.ru/manuals/1s-setup.html
Лицензирование удаленных рабочих столов
Добавляем в диспетчере сервера роль «Службы удаленных рабочих столов», вместе с диспетчером лицензирования.
Идём в «Диспетчер лицензирования удаленных рабочих столов», правой кнопкой на сервере — активировать. Внутри сервера нашего жмём установить лицензии и добавляем их.
Нажимаем на сервере правой кнопкой — проверить настройку — добавляем сервер наш в группу серверов лицензирования серверов терминалов в доменных службах AD.
Идём в групповые политики: Административные шаблоны – Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Лицензирование — Задать режим — указываем IP сервера нашего со службой терминалов и ставим режим на пользователя или на ПК, я выбрал на пользователя.
Также выбрать сервер лицензирования, указав IP адрес нашего сервера терминалов.
Лицензирование 1С
Добавили базу, идём в конфигуратор — сервис — получение лицензий.
Вводим номер комплект а и пинкод, который нам прислали. Установить на сервер — вводим доменное имя нашего.
В консоли SQL в рабочих процессах в поле лицензия должен отображаться наш сервер, иначе лицензия не активировалась.
У меня сначала было пусто — нажал обновить, всё появилось.
Переносим базы из файловых в SQL
На старом сервере идём в конфигуратор — выгрузить базу.
На новом создаём пустую базу, вводим данные нашего сервера, идём в конфигуратор — загрузить базу.
Всё работает.
Ошибка открытия файла 1С
Служба 1С на сервере SQL запускается по-умолчанию от локального пользователя usr1cv8.
Я создал специально для этого отдельного пользователя, под которым запускается агент 1С на sql сервере, ему дал права на каталог с данными, нужными нам.
Запускаем агент под этим пользователем и перезапускаем службу для применения изменений.
Может быть и второй момент — что это дополнительная написанная обработка, здесь уже хуже: придётся папку с файлами для выгрузки/загрузки кидать на sql сервер, думаю это политика безопасности 1С, что эти файлы должны храниться там же где база.
Как бы я не пробовал, пока не создал отдельную папку на sql сервере и дал на нее права пользователю, кто делает выгрузку/загрузку — у меня не заработало по-другому.
Системные прерывания грузят ЦП в виртуальной машине клиентов на 100%
Проверьте драйвера для оборудования на физический и виртуальный сервер.
Попробуйте увеличить число виртуальных процессоров в настройках Hyper-V.
Также проверьте в msconfig в загрузке сколько ядер выделено.