При администрировании систем на базе 1С:Предприятие 8 часто возникает необходимость запустить несколько независимых экземпляров сервера на одной физической или виртуальной машине. Это может потребоваться для разделения тестовых и рабочих сред, или для одновременной работы разных версий платформы. В данной статье мы подробно разберем, как работает программное лицензирование в такой конфигурации и какие технические шаги необходимо предпринять.
Рассмотрим основной принцип: программная лицензия на сервер 1С (как 32-разрядная, так и 64-разрядная) привязывается не к запущенному процессу или конкретной службе, а к параметрам операционной системы и аппаратной части компьютера. Проанализируем ситуацию: если у вас уже установлена и активирована лицензия на сервере, файл с расширением .lic находится в системной директории (обычно это C:\ProgramData\1C\1cv8\conf для Windows).
Когда запускается служба сервера 1С, она обращается к этой папке для поиска валидной лицензии. Поскольку все экземпляры служб, запущенные в рамках одной ОС, имеют доступ к одним и тем же системным папкам, они «видят» одну и ту же лицензию. Таким образом, одной программной лицензии достаточно для работы любого количества экземпляров сервера 1С на одном компьютере.
Чтобы запустить второй экземпляр сервера, нам необходимо развести потоки данных, чтобы они не конфликтовали за сетевые ресурсы. Разберем по шагам, какие параметры за это отвечают:
1540. Для второго экземпляра выберем, например, 1640.1541. Для второго экземпляра установим 1641.1560–1591. Для новой службы назначим 1660–1691.Проанализируем, как создать вторую службу в ОС Windows. Для этого можно воспользоваться утилитой командной строки sc create. Пример команды для регистрации службы второй версии платформы (например, 8.3.25) на альтернативных портах может выглядеть следующим образом:
sc create "1C:Enterprise 8.3.25 Server" binPath= "\"C:\Program Files\1cv8\8.3.25.1234\bin\ragent.exe\" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d \"C:\1C_Data\Server2\"" start= auto
В данном примере параметр -d указывает на отдельный каталог данных, что критически важно для корректной работы разных экземпляров кластера, чтобы они не пытались использовать общие файлы конфигурации кластера 1cv8wsrv.lst.
Выясним причину, по которой иногда требуется запуск разных версий. Зачастую это связано с необходимостью постепенного обновления информационных баз. Лицензия на сервер 1С версии 8.3 является универсальной для всех релизов внутри этой ветки. Если у вас есть лицензия на сервер 8.3, вы можете одновременно запустить экземпляр версии 8.3.21 и 8.3.25. Важно помнить, что упоминаемые иногда в обсуждениях версии типа «8.5» официально не существуют — скорее всего, речь идет о перспективных разработках или опечатках, но общий принцип лицензирования «одна лицензия на одну ОС» сохраняется для всей линейки 1С:Предприятие 8.
Разберем ситуацию, когда использование одной лицензии становится невозможным. Правило «одна лицензия — много экземпляров» действует только в пределах одной операционной системы. Рассмотрим подробнее:
Это связано с тем, что программная лицензия привязывается к уникальным идентификаторам виртуальной машины (UUID, параметры процессора, имя ОС). Перенос файла .lic с одной виртуальной машины на другую приведет к неработоспособности лицензии.
Посмотрим на различия между 32-разрядными (x86) и 64-разрядными (x64) лицензиями. Если вы приобрели лицензию на 64-разрядный сервер, она является «старшей». Это означает, что вы можете запускать под ней:
В то же время, 32-разрядная лицензия не позволит вам запустить 64-разрядные рабочие процессы rphost.
Не путайте лицензию на сервер с клиентскими лицензиями. Рассмотрим, как расходуются лицензии пользователей при работе с двумя экземплярами сервера:
Если один и тот же пользователь подключается к базе на первом экземпляре сервера (порт 1540) и одновременно к базе на втором экземпляре (порт 1640), то в зависимости от способа выдачи лицензий (сервером или клиентом), система может затребовать две клиентские лицензии. Серверная лицензия лишь дает право на запуск самой службы ragent, но не обеспечивает безлимитные подключения пользователей.
Начиная с версии платформы 8.3.11, следует учитывать разницу между уровнями лицензий. Если суммарно на всех экземплярах сервера у вас будет работать более 500 одновременных сеансов или использоваться более 12 ядер процессора, то технически система может потребовать лицензию уровня КОРП. Даже если вы разнесете нагрузку на два разных экземпляра службы, но в рамках одной ОС, эти ограничения (согласно лицензионному соглашению) должны соблюдаться суммарно для оборудования.
Таким образом, мы выяснили, что архитектура 1С:Предприятие крайне гибко относится к количеству запущенных служб сервера на одном компьютере. Главное — грамотно настроить сетевые порты и обеспечить каждой службе свой каталог данных -d.