← На главную
Перевод информационных баз с файлового режима на клиент-серверный вариант — важный этап масштабирования инфраструктуры 1С. При проектировании новой архитектуры часто возникает вопрос разделения ролей между физическими или виртуальными машинами: где размещать СУБД, где Сервер 1С:Предприятия, как подключать пользователей через RemoteApp и на каком из компьютеров активировать программные лицензии. Разберем эти вопросы по шагам, проанализируем типовые сценарии и выясним, как избежать нерационального расхода лицензий и просадок производительности.
Анализ архитектуры: разделение СУБД, сервера 1С и терминального доступа
Рассмотрим типовую схему, при которой в инфраструктуре задействованы два основных узла:
- Компьютер А (Сервер баз данных и Сервер 1С): На этой машине установлены MS SQL Server 2014 и служба
1С:Предприятие 8.3 (x86-64). Здесь же активирована серверная лицензия 1С (на 64-разрядный сервер).
- Компьютер Б (Терминальный сервер / RemoteApp): Сервер под управлением Windows Server с установленной службой Remote Desktop Services. Пользователи подключаются к нему по RDP или через ярлыки опубликованных приложений RemoteApp, откуда запускается тонкий или толстый клиент 1С.
Проанализируем корректность такой схемы. Размещение MS SQL Server и службы ragent (Сервера 1С) на одном компьютере (Компьютер А) и вынос пользовательских сессий на отдельный сервер (Компьютер Б) является классической и рекомендуемой практикой для средних нагрузок. Выделим ключевые преимущества этой конфигурации:
- Минимизация сетевых задержек между 1С и СУБД: Платформа 1С выполняет огромное количество запросов к базе данных. Находясь на одном сервере, процессы
rphost и SQL Server взаимодействуют по локальному протоколу разделяемой памяти (Shared Memory), минуя физический сетевой стек, что обеспечивает максимальную скорость обмена.
- Изоляция пользовательской нагрузки: Формирование отчетов на клиенте, работа с офисными приложениями и пользовательские терминальные сеансы утилизируют ресурсы Компьютера Б, не создавая конкуренции за процессор и память с критически важными процессами СУБД на Компьютере А.
Важный нюанс настройки Компьютера А: по умолчанию Microsoft SQL Server стремится занять всю доступную оперативную память. Обязательно ограничьте параметр Maximum server memory в свойствах экземпляра SQL Server, оставив достаточный запас оперативной памяти для процессов кластера 1С (ragent, rmngr, rphost) и нужд операционной системы.
Выбор места установки клиентских лицензий 1С
Один из ключевых вопросов при такой схеме — куда именно активировать многопользовательские программные лицензии: на Компьютер А (сервер 1С) или на Компьютер Б (терминальный сервер RemoteApp). Выясним особенности каждого варианта.
Вариант 1. Активация лицензий на Компьютере А (раздача сервером 1С)
Сервер 1С:Предприятия может самостоятельно выдавать клиентские лицензии подключающимся пользователям.
Особенности механизма:
- Расход на сеанс: Лицензии расходуются на каждое подключение к информационной базе. Если один и тот же пользователь откроет через RemoteApp две разные базы 1С или два окна одной базы, кластер 1С спишет две клиентские лицензии.
- Недоступность файловых баз: Сервер 1С физически не может выдать лицензию для работы с локальной или сетевой файловой базой данных. Если в компании остается хотя бы одна файловая база, запустить ее без локально доступной лицензии на Компьютере Б не удастся.
- Универсальность доступа: Пользователи могут подключаться к клиент-серверным базам не только через терминальный сервер Б, но и напрямую со своих локальных рабочих станций (при наличии сетевого доступа к Компьютеру А).
Если выбран этот вариант, в свойствах информационных баз в консоли Администрирования кластера серверов 1С параметр Разрешить выдачу лицензий сервером 1С:Предприятия должен быть установлен в значение Да.
Вариант 2. Активация лицензий на Компьютере Б (на терминальном сервере)
Второй подход предполагает, что многопользовательский пин-код активируется непосредственно на терминальном сервере (Компьютер Б), где пользователи запускают клиентские приложения 1С.
Особенности механизма:
- Экономия лицензий (учет на терминальную сессию): Лицензия закрепляется за сессией пользователя Windows. Один пользователь внутри одной RDP/RemoteApp-сессии может одновременно открыть несколько окон одной или разных баз 1С, израсходовав всего одну клиентскую лицензию.
- Поддержка технологии Session Sharing в RemoteApp: Если несколько опубликованных приложений RemoteApp запускаются под одной учетной записью пользователя Windows, они работают в рамках единой RDP-сессии, сохраняя правило «1 пользователь = 1 лицензия».
- Поддержка смешанного режима (файловые и клиент-серверные базы): Платформа 1С при запуске обнаруживает локальную лицензию на Компьютере Б и позволяет без проблем работать как с клиент-серверными базами на Компьютере А, так и с оставшимися файловыми базами.
Если клиентские лицензии активированы на Компьютере Б, в консоли кластера 1С на Компьютере А для баз рекомендуется перевести параметр Разрешить выдачу лицензий сервером 1С:Предприятия в значение Нет, чтобы исключить нежелательные конфликты подсчета пулов лицензий.
Инструкция по правильной активации лицензии на терминальном сервере
Чтобы лицензии на Компьютере Б были доступны всем терминальным пользователям, разберем порядок действий при активации:
- Запустим ярлык 1С:Предприятия на Компьютере Б в режиме «Запуск от имени администратора».
- Перейдем по цепочке:
Настройка → Получить лицензию.
- Введем регистрационный номер комплекта и многопользовательский PIN-код из комплекта поставки.
- Обязательно выберем вариант размещения лицензии: «На этот компьютер» (для всех пользователей). Это гарантирует, что файл лицензии с расширением
.lic сохранится в общедоступный каталог (например, C:\ProgramData\1C\licenses), а не в приватный каталог текущего профиля администратора.
- Внимательно и точно сохраним регистрационные данные владельца (наименование организации, ИНН, адрес и т. д.). При повторном получении лицензии эти данные потребуется ввести строго символ в символ.
Итоговые рекомендации
Проанализировав поставленную задачу, сформулируем итоговые выводы:
- Предложенная архитектура (Компьютер А: MS SQL + Сервер 1С; Компьютер Б: RemoteApp) полностью корректна и оптимальна с точки зрения производительности и администрирования.
- Если среди баз есть файловые, либо пользователи регулярно открывают несколько баз одновременно, клиентские программные лицензии следует активировать на Компьютере Б (терминальном сервере) с использованием многопользовательского PIN-кода.
- Серверную лицензию 1С (на кластер серверов) необходимо активировать исключительно на Компьютере А.