Во многих динамично развивающиеся компаниях векторы развития бизнеса направлены на увеличение объемов и на расширение сфер деятельности. Информационная инфраструктура компании при этом в той же степени подвержена росту. Увеличивается как количество пользователей, работающих с программными продуктами 1С, так и разновидность этих продуктов (различные конфигурации). Все это приводит к тому, что рано или поздно компании сталкиваются с проблемами лицензирования: где разместить лицензии, в каком количестве, как организовать доступ и разделение доступа к лицензиям. Кроме того, для более гибкого управления доступными ресурсами технических устройств некоторые крупные предприятия прибегают к средствам виртуализации, что приводит к появлению дополнительных вопросов, касающихся лицензирования в случае переконфигурирования систем.
При проведении аудитов инфраструктуры у наших клиентов мы часто даем рекомендацию выделить отдельный сервер для задач лицензирования (такая настройка возможна при использовании требований назначения функциональности платформы 8.3). А также часто сталкиваемся с тем, что не все знают про эту замечательную возможность, предоставленную нам платформой «1С:Предприятие», дающую следующие преимущества:
- Все имеющиеся программные лицензии можно активировать в едином месте на отдельном (обычно — виртуальном) сервере с минимальными характеристиками по оборудованию — достаточно всего 2‑х ядер процессора и около 2–4 Гб оперативной памяти. Единое место размещения программных лицензий упрощает их обслуживание. При необходимости для выделенного сервера можно выполнять полное резервное копирование после каждой активации лицензий, это позволит быстро восстановить работоспособность сервера лицензирования на другом оборудовании. В том числе, например, в удаленном дата‑центре, в который доставить аппаратные ключи может быть проблематично.
- Сам сервер лицензирования не использует (не занимает) серверную лицензию, поэтому для его организации не требуется больше лицензий, чем уже используется при эксплуатации системы.
- Сервер может раздавать один и тот же набор программных лицензий (и даже одну и ту же программную лицензию) в несколько различных кластеров 1С (в том числе с различными версиями платформы). В этом случае лицензии занимаются и освобождаются в порядке поступления соответствующих запросов от всех кластеров 1С.
- Все имеющиеся сервера приложений 1С могут получать как серверные, так и многопользовательские клиентские лицензии с выделенного сервера лицензирования.
- Клиентские лицензии будут получаться с единого сервера лицензирования, тем самым обеспечивается более рациональное их использование. Например, исключена ситуация, когда при активации каждой отдельной клиентской лицензии на отдельном сервере 1С они могут закончиться на одном сервере, но еще могут быть доступны на другом.
- Становится доступной схема апгрейда, позволяющая заплатить за лицензии меньше, например, условно, приобрести вместо пяти многопользовательских клиентских лицензий на 100 пользователей — одну на 500 пользователей.
- Любое переконфигурирование имеющихся серверов приложений 1С в плане виртуального или физического оборудования освободит от необходимости выполнять процедуру повторной активации лицензий. Вам необходимо сохранять постоянной конфигурацию только одного сервера лицензирования, что намного проще. В документации даже прямо говорится об этом: «Чтобы избежать повторной активации (лицензии) рекомендуется использовать сервис лицензирования, установленный на физическом компьютере или на виртуальной машине с фиксированными характеристиками».
Частым вопросом является список параметров системы, к которым привязывается программная лицензия. Так как данные параметры немного меняются от версии к версии, а их список может корректироваться, мы не будем приводить его в статье и рекомендуем ознакомиться с ним в документации по данной ссылке (its.1c.ru/db/v8324doc#bookmark:adm:TI000000539).
Размещение сервиса лицензирования на выделенном рабочем сервере с использованием требований назначения функциональности кратко рассмотрено в документации здесь (its.1c.ru/db/v839doc/bookmark/cs/TI000000048). Мы попробуем описать эти же действия в виде пошаговой инструкции, а также добавим соответствующие снимки экрана и постараемся описать все существенные нюансы такой настройки.
Постановка задачи
В качестве примера рассмотрим следующую исходную ситуацию: у нас есть кластер 1С , состоящий из одного рабочего сервера SRV1, на версии платформы 8.3.8.2088 (-regport 2041 -port 2040 -range 2060:2091). Все сервисы исполняются на нём, на нем же активирована серверная и многопользовательская программная лицензия.
А также есть еще один кластер, состоящий из одного рабочего сервера SRV2, на версии платформы 8.3.9.1850 (-regport 3041 -port 3040 -range 3060:3091). На нём также исполняются все сервисы, и также активирована серверная и многопользовательская программная лицензия.
Описание параметров портов (report, port, range) приведено здесь (its.1c.ru/db/v839doc/bookmark/cs/TI000000119).
Требуется вынести сервисы лицензирования с обоих серверов на отдельный сервер лицензирования SrvLic, то есть активировать две серверные и две многопользовательские лицензии на этом сервере и обеспечить их выдачу в оба кластера 1С.
Порядок действий
Все действия для настройки выделенного сервера лицензирования лучше разбить на два этапа:
- Подготовительный — подготовка сервера лицензирования: разворачивание служб 1С , добавление его в список рабочих серверов в каждом кластере 1С , проверка активности (доступности для использования).
- Заключительный — активация лицензий на выделенном сервере лицензирования и применение настроек по переносу на него сервиса лицензирования каждого из кластеров 1С.
Такой подход позволит минимизировать общее время простоя системы и устранить возможные проблемы вне этого периода.
Подготовительный этап
Для подготовительного этапа последовательность действий для настройки сервиса лицензирования на выделенном сервере SRVLic будет следующей:
-
На сервере SRVLic устанавливаем компоненты сервера «1С:Предприятия» 8.3.8.2088 и 8.3.9.1850 (более подробная информация по установке сервера доступна в документации здесь (its.1c.ru/db/v83doc#bookmark:cs:TI000000080)).
Мы рекомендуем при установке 1С:Предприятие снять опцию «Установить сервер „1С:Предприятие 8“ как сервис Windows». Это позволит выполнять установку и удаление версий платформы без необходимости остановки служб на сервере.
Развертывание служб 1С на сервере SrvLic осуществляем с помощью скриптов. Подробное рассмотрение вопросов развертывания разных служб на одном сервере рассматривается в статье «Как правильно обновить платформу „1С“ и запустить несколько служб „1С“ на одном сервере?» по ссылке.
Здесь мы ограничимся готовыми скриптами для нашего примера.
Служба «1C» для сервера Srv1:
sc create "1C:Enterprise SrvLic1" binpath= "\"C:\Program Files\1cv8\8.3.8.2088\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo_srvlic1\"" displayname= "Агент сервера 1C:Предприятие SrvLic1" obj= "domain\USR1CV8" password= "password" start= disabled depend= Dnscache/Tcpip/lanmanworkstation/lanmanserver,
где
- domain\USR1CV8 — пользователь от имени которого осуществляется запуск службы (в качестве пользователя желательно использовать доменную учетную запись, обладающую правом запуска служб и полными правами к каталогу указанному в параметре «‑d»).
- password — пароль пользователя, указанного в параметре «obj».
Служба «1C» для сервера Srv2:
sc create "1C:Enterprise SrvLic2" binpath= "\"C:\Program Files\1cv8\8.3.9.1850\bin\ragent.exe\" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d \"C:\Program Files\1cv8\srvinfo_srvlic2\"" displayname= "Агент сервера 1C:Предприятие SrvLic2" obj= "domain\USR1CV8" password= "password" start= disabled depend= Dnscache/Tcpip/lanmanworkstation/lanmanserver
Необходимо обратить внимание, что для каждой вновь создаваемой службы должны быть заданы различные каталоги в параметре «—d».
Обратите внимание, что при выборе портов для запуска службы следует учитывать их доступность (это порты не должны быть заняты другими службами или приложениями). Для первой службы мы выбрали диапазон 1560:1591, для второй — 1660:1691. Кроме того, данные порты нужно добавить в разрешенные порты межсетевых экранов.
На сервере SRVLic создаем каталоги служб 1С и даем на них полные права пользователю «domain\USR1CV8»:
- C:\Program Files\1cv8\srvinfo_srvlic1
- C:\Program Files\1cv8\srvinfo_srvlic2
- Включаем и запускаем службы.
После запуска служб убеждаемся, что они работают, через команду консоли служб «Действия → Обновить»
Удаляем автоматически созданные локальные кластеры 1С через консоль администрирования серверов «1С:Предприятие». Для этого регистрируем и запускаем консоль версии 8.3.8.2088:
"C:\Program Files (x86)\1cv8\8.3.8.2088\bin\RegMSC.cmd" (запуск от имени Администратора)
"C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"
Регистрируем и запускаем консоль для версии 8.3.9.1850:
"C:\Program Files (x86)\1cv8\8.3.9.1850\bin\RegMSC.cmd (от имени Администратора)"
"C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"И также удаляем «Локальный кластер»:
- Для функционирования системы программного лицензирования необходимо, чтобы на компьютере SrvLic была запущена служба WMI (Windows Management Instrumentation, msdn.microsoft.com/en-us/library/aa394582.aspx). Нужно проверить, что данная служба запущена, если нет — запустить ее (в документации данное требование описано здесь (its.1c.ru/db/v839doc/bookmark/adm/TI000000021)).
- Возвращаемся на сервер SRV1, в консоли администрирования серверов «1С:Предприятие» которого создаем (добавляем) новый рабочий сервер:
- Указываем для него имя, например, «Сервер лицензирования», сетевое имя сервера — SRVLic, порт, на котором работает служба 1С версии 8.3.8.2088, у нас был задан порт 1540, и диапазон портов, который будет использоваться для процессов этой службы, для этой версии был задан — 1560:1591. Остальные параметры оставляем без изменений (большинство из них использоваться не будут).
Здесь нужно обратить внимание, что при добавлении нового рабочего сервера поле «Порт главного менеджера кластера» не доступен для редактирования.
Так как кластер сервера Srv1 развернут на 2041 порту...
... то в настройках добавленного рабочего сервера SrvLic нужно изменить порт главного менеджера кластера с 1541 на 2041. Для этого нужно повторно открыть свойства рабочего сервера SrvLic.
- Теперь наш кластер должен содержать новый рабочий сервер:
Для того, чтобы сервисы не начали перераспределяться на только что добавленный сервер SrvLic, нужно сразу создать правило требований назначения функциональности, запрещающее абсолютно всё:
И применить требование назначения функциональности:
- Выполняем действия с 7 по 9 пункт для сервера Srv2. Напомним, что порт агента 1С для добавленного сервера лицензирования SrvLic, на котором работает служба 1С версии 8.3.9.1850 у нас был задан 1640, а диапазон портов — 1660:1691, порт главного менеджера кластера нужно установить в соответствии с принципами, изложенными в 7 пункте.
- Выполним настройку требований назначения функциональности для переноса сервиса лицензирования в добавленный сервер SrvLic. Откроем консоль администрирования серверов для сервера Srv1. В ветке «Рабочие серверы» переходим (раскрываем) добавленный сервер SRVLic, далее у него переходим (раскрываем) ветку «Требования назначения функциональности». Настраиваем требования назначения функциональности на добавленном рабочем сервере SRVLic следующим образом:
- Требование 1:
- Объект требования: Сервис лицензирования.
- Тип требования: Назначать.
- Имя ИБ: не указывается (оставить поле пустым).
- Значение дополнительного параметра: не указывается (оставить поле пустым).
- Требование 2:
- Объект требования: Любой объект требования.
- Тип требования: Не назначать.
- Имя ИБ: не указывается (оставить поле пустым).
- Значение дополнительного параметра: не указывается (оставить поле пустым).
Теперь требования назначения функциональности в консоли администрирования серверов «1С:Предприятие» должны выглядеть так, как на следующем рисунке и именно в таком порядке:
Поясним немного выполненные действия. Требование 1 обеспечит функционирование сервиса лицензирования на сервере SRVLic, а Требование 2 обеспечит функционирование на сервере SRVLic только сервиса лицензирования. То есть на сервере SRVLic не будут функционировать другие сервисы кластера и на него не будут назначаться клиентские соединения.
Необходимо обратить внимание на порядок расположения требований. Сначала должно располагаться более узкое по объектам требование. Для того, чтобы не настраивать для каждого из остальных сервисов правила требований назначения функциональности «Не назначать» — делается одно общее правило "Не назначать"/"Для всех«. В область «Для всех» входят и клиентские соединения, и все прочие сервисы кластера, так же, как и «Сервис лицензирования», но так как для этого объекта требования у нас уже есть расположенное выше правило, то все последующие правила кластер применять к нему уже не будет. Более подробная информация об особенностях функционирования требований назначения функциональности приведена в документации здесь (its.1c.ru/db/v838doc#bookmark:cs:TI000000042).
Выполняем эти же действия по настройке требований назначения функциональности для сервера Srv2.
Заключительный этап
- Требование 1:
- Активируем программные лицензии на сервере SRVLic. Напомним, что если активация происходит с другого компьютера (т. к. на сервер лицензирования не обязательно устанавливать компоненты доступа к конфигуратору), то при активации программной лицензии с помощью сервера «1С:Предприятия» следует указывать имя SRVLic (подробности можно уточнить в документации здесь (its.1c.ru/db/v83doc/bookmark/adm/TI000000309)), в противном случае активированная лицензия не сможет быть использована кластером серверов, так как она будет активирована для другого компьютера (на другом компьютере).
- Выполняем полное применение настроенных правил назначения функциональности, после чего сервер SRVLic превратится в полнофункциональный выделенный сервер лицензирования:
Проверяем, что сервис лицензирования «переехал» на выделенный сервер лицензирования SRVLic:
На этом всё — после выполнения указанных действий все лицензии можно активировать только на сервере SrvLic, который будет раздавать их в кластера Srv1 и Srv2.
Укажем еще на некоторые моменты и приведем ссылки на документацию:
Стоит обратить внимание, что для надежного получения лицензий из сервиса лицензирования, процессы rphost и rmngr сервера «1С:Предприятия» должны иметь права на создание, чтение и изменение данных в файле 1cv8conn.pfl. Файл содержит список центральных серверов кластера в разрезе информационных баз, а также другую информацию, используемую клиентскими и серверными приложениями платформы «1С:Предприятие». Для надежной работы требуется, чтобы пользователи, от имени которых запускаются приложения системы «1С:Предприятие», имели права на создание, чтение и изменение данных в этом файле. В документации здесь (its.1c.ru/db/v83doc#bookmark:adm:TI000000541) была допущена опечатка относительно места расположения этого файла, которую в ближайшее время исправят или уже исправили. Правильное расположение файла для ОС Windows: %ALLUSERSPROFILE%\1C\1cv8.
Более подробная информация о сервисах кластера есть в документации здесь(its.1c.ru/db/v83doc/bookmark/cs/TI000000024).
Общая информация о системе программного лицензирования, варианты лицензий, особенности учета клиентских лицензий, особенности активации и получения серверной лицензии, а также вопросы активации программной лицензии рассмотрены здесь (its.1c.ru/db/v83doc/bookmark/adm/TI000000292).
В заключение отметим, что несмотря на то, что чисто технически, одну установленную на сервере SRVLic службу 1С можно использовать для разных независимых кластеров 1С , выполняя в каждом из них шаги с 6 по 12, мы рекомендуем разворачивать для каждого кластера свою отдельную службу 1С, соответственно на отдельных портах. В случае необходимости, это позволит перезапускать полностью все сервисы кластера, в том числе и сервер лицензирования, причем для каждого кластера (центрального сервера 1С) это можно будет сделать отдельно, независимо от других служб (других кластеров), и таким образом обеспечит более надежное и независимое функционирование ваших систем. Кроме этого, это позволит использовать различные версии платформы «1С:Предприятия» в различных кластерах, и сервер лицензирования никак не будет мешать организации такой схемы работы (именно такой случай мы и рассматривали в этой статье). При этом такая настройка никак не ограничивает и не изменяет механизм использования самих лицензий — по‑прежнему, даже один файл программной лицензии (многопользовательский) может использоваться несколькими службами сервера SRVLic и раздаваться в различные кластера 1С (в том числе в кластера разных версий платформы «1С:Предприятие 8.3»).
В статье мы описали способ пошаговой настройки выделенного сервера лицензирования для всех ваших систем, почти все его преимущества и тонкости настройки. Надеемся, эксплуатация программных продуктов на платформе «1С:Предприятие» станет для вас более удобной, стабильной и надежной, а настройка по данному руководству — простой и понятной. Ну а если у вас что‑то не получится, или вы столкнетесь с какими‑то трудностями, обращайтесь к нам (techlab.rarus.ru/contacts/), мы обязательно поможем!