Лицензии 1С на сервере: как кластер выдаёт их клиентам и что делать, если не выдаёт
Содержание
Клиентские лицензии в клиент-серверной 1С выдаёт кластер серверов , а не рабочее место пользователя. Лицензии лежат либо на аппаратном ключе (HASP или Guardant), либо в файлах программных лицензий на сервере. Пользователь подключается к базе, кластер находит свободную лицензию и закрепляет её за сеансом.
Если лицензия не выдаётся, причина почти всегда одна из четырёх: сервер не видит ключ, ключ видит, но не тот драйвер, лицензии кончились или закрыт порт. Ниже — как это устроено и как проверить каждое звено по порядку.
Откуда кластер берёт лицензии
Есть два источника. Они работают по-разному, и путать их нельзя.
| Источник | Где хранится | Привязка | Типичная проблема |
|---|---|---|---|
| Аппаратный ключ | USB-ключ в сервере или в сети | К физическому ключу | Нет драйвера, ключ не виден |
| Программная лицензия | Файлы на диске сервера | К оборудованию сервера | Изменилось «железо», лицензия слетела |
Как это происходит на практике:
- Пользователь запускает клиент и открывает базу на сервере.
- Рабочий процесс кластера запрашивает у системы лицензирования свободную клиентскую лицензию.
- Лицензия закрепляется за сеансом и освобождается, когда сеанс закрыт.
Лицензия занимает место, пока жив сеанс. Зависшие сеансы «съедают» пул так же надёжно, как реальные пользователи.
Отдельно существуют лицензии самого сервера: они разрешают запуск серверной части платформы. Клиентские лицензии — это то, что считается по пользователям.
Тонкий клиент, веб-клиент и толстый клиент берут клиентскую лицензию одинаково. Разница только в том, откуда идёт подключение.
Подготовка сервера: ключ, драйвер, права
Порядок работы такой: сначала оборудование и драйвер, потом платформа, потом кластер. Если перепутать, диагностика превращается в гадание.
Аппаратный ключ
Что нужно проверить до запуска кластера:
- ✅ Ключ физически вставлен в тот сервер, где работает агент кластера (или в сервер, доступный по сети).
- ✅ Установлен драйвер защиты, подходящий под тип ключа. Для HASP это пакет Sentinel; драйвер лежит в дистрибутиве платформы либо скачивается с сайта производителя ключей.
- ✅ Операционная система видит ключ в диспетчере устройств (Windows) или в выводе
lsusb(Linux). - ✅ Для виртуальных машин проброшен USB-порт или настроена передача ключа по сети.
С виртуализацией чаще всего и возникают проблемы. Если сервер 1С работает на виртуальной машине, ключ нужно либо пробросить на уровне гипервизора, либо использовать сетевой менеджер лицензий на отдельной машине, либо перейти на программные лицензии.
На Linux проверьте, что запущена служба драйвера ключа:
systemctl status aksusbd
lsusb | grep -i -E "aladdin|safenet|hasp"
Если служба не запущена, поднимите её и добавьте в автозагрузку:
systemctl enable --now aksusbd
Программные лицензии
Программные лицензии (их ещё называют пин-кодами) активируются один раз и записываются в файлы на сервере. Их активируют из самой платформы: при первом обращении без лицензии появляется мастер получения лицензий, где вводится регистрационный номер и пин-код.
Что учесть:
- 📌 Лицензия привязывается к параметрам оборудования. Замена материнской платы, смена процессора, а иногда и перенос на другой гипервизор считаются новым сервером.
- 📌 Папка с файлами лицензий должна быть доступна на чтение и запись учётной записи, от которой запущен агент сервера (на Windows это обычно пользователь службы, на Linux —
usr1cv8). - 📌 Перед любым изменением оборудования лицензию нужно вернуть (отвязать) в штатном порядке, иначе придётся обращаться за повторной выдачей.
Перед заменой «железа» или переездом на новую виртуалку сделайте копию файлов лицензий и убедитесь, что можете вернуть лицензию из старой среды. Потом может быть поздно.
Не копируйте файлы лицензий на другой сервер «чтобы заработало». Лицензия привязана к оборудованию и на новом месте всё равно не примет. Чужие и скопированные лицензии — повод для блокировки, а не решение.
Как увидеть, какие лицензии выдал кластер
Прежде чем что-то чинить, посмотрите, что происходит в кластере сейчас. Нужна консоль администрирования серверов 1С (входит в состав платформы) либо веб-консоль, если вы её ставили.
Порядок действий:
- Подключитесь к центральному серверу в консоли кластера.
- Раскройте нужный кластер и найдите раздел, связанный с лицензиями. В нём видно, какие лицензии сейчас заняты и кем.
- Рядом откройте список сеансов. Сопоставьте: у каждого сеанса, использующего лицензию, должен быть живой пользователь.
- Если видите сеансы пользователей, которых давно нет на месте, завершите их.
Типичная картина при «нехватке» лицензий: из 20 доступных 20 заняты, но реально работают 14 человек. Остальные шесть — сеансы, оставшиеся после обрыва связи или закрытого окна без выхода из программы.
Если нехватка повторяется ежедневно, настройте в кластере завершение неактивных сеансов по таймауту. Так зависшие подключения перестанут съедать пул сами.
Если лицензия не выдаётся: диагностика по шагам
Ещё одна ловушка — обновление платформы . После установки новой версии на сервере проверьте, что служба запустилась от прежней учётной записи и по-прежнему видит папку лицензий. Бывает, что установщик создаёт нового пользователя, а старые файлы остаются недоступными.
Проверьте это сразу после обновления, а не после первой жалобы: войдите в консоль кластера, откройте тестовую базу и убедитесь, что сеанс получил лицензию. Две минуты проверки экономят час разбирательств.
Идите от простого к сложному. Каждый шаг отсекает целый класс причин.
Шаг 1. Проверить, что видит система
Для аппаратного ключа откройте панель управления драйвером. У ключей HASP это веб-интерфейс на локальном порту 1947: адрес http://localhost:1947. В нём есть список обнаруженных ключей и список текущих подключений.
Если ключа в списке нет, 1С его тоже не увидит. Платформа тут ни при чём — разбирайтесь с драйвером и портом USB.
Шаг 2. Прочитать сообщение об ошибке дословно
Текст ошибки подскажет направление лучше любых догадок. Запишите его целиком и сверьте:
- ключ не найден — проблема с устройством и драйвером;
- нет свободных лицензий — проблема с пулом и сеансами;
- лицензия не соответствует оборудованию — проблема с привязкой программной лицензии.
Шаг 3. Проверить журнал регистрации и технологический журнал
В журнале регистрации 1С отбор по событиям сеансов покажет, кто и когда подключался и когда был отказ. Это ответит на вопрос «когда началось»: после обновления, после переезда, после перезагрузки?
Если нужны подробности по самому кластеру, включите технологический журнал на короткое время. Он быстро разрастается, поэтому ограничьте его по времени и очищайте после диагностики.
Шаг 4. Перезапустить службу сервера
Если всё выглядит исправным, а лицензия не выдаётся, перезапустите службу агента сервера 1С. Это ломает активные сеансы, поэтому делайте это вне рабочего времени.
Перед перезапуском предупредите пользователей: несохранённые данные в открытых документах будут потеряны.
Сеть и брандмауэр: какие порты открыть
Если ключ стоит не в сервере 1С, а на отдельной машине, всё упирается в сеть. Сервер 1С должен достучаться до менеджера лицензий по сети.
Основные порты, которые нужно учесть:
| Порт | Назначение |
|---|---|
1540 | Агент сервера 1С |
1541 | Менеджер кластера |
1560–1591 | Рабочие процессы кластера |
1947 | Менеджер лицензий HASP (TCP и UDP) |
Диапазон 1560–1591 в настройках можно менять, если он конфликтует с другими службами. Главное — открыть тот диапазон, который реально настроен.
Проверка с клиента или сервера 1С до машины с ключом:
Test-NetConnection -ComputerName license-srv -Port 1947
Если проверка не проходит, смотрите брандмауэры на обоих концах: на самой Windows или в iptables/nftables на Linux, плюс сетевое оборудование между сегментами. Частая причина — правило есть на сервере, но не пропускает UDP: обнаружение ключей в сети использует широковещательные пакеты, и в разных подсетях они не проходят.
В этом случае у менеджера лицензий задают адрес сервера с ключом вручную, а не полагаются на автообнаружение.
Если сервер с ключом и сервер 1С в разных подсетях, не рассчитывайте на широковещание. Пропишите адрес явно.
Принудительное обновление и сброс лицензий
Бывает, что с настройками всё в порядке, а лицензия «залипла»: сеанс закрыт, а лицензия числится занятой. Чаще всего помогает по нарастающей:
- Завершить сеанс пользователя в консоли кластера.
- Дождаться, пока кластер освободит лицензию (обычно это секунды).
- Если не освободилась — перезапустить рабочие процессы кластера или службу агента.
- Если и это не помогло — перезапустить службу драйвера ключа.
Для аппаратных ключей иногда достаточно переподключить ключ или перезапустить службу драйвера. Для программных лицензий принудительного «обновления» нет: если файл лицензии на месте и оборудование не менялось, лицензия сразу доступна после перезапуска сервера.
Если лицензия слетела из-за смены оборудования:
- 🔑 найдите регистрационный номер комплекта ;
- 🔑 верните старую лицензию, если сервер ещё доступен;
- 🔑 получите новую активацию на текущем сервере.
Если старый сервер недоступен (диск вышел из строя, виртуалка удалена), вернуть лицензию штатно не получится. Тогда обращаются к партнёру 1С или в фирму 1С за повторной выдачей, подтвердив владение комплектом.
Не пытайтесь обходить привязку лицензии сторонними утилитами. Это нарушает лицензионное соглашение, грозит блокировкой и риском для данных, а легального решения здесь нет.
Мониторинг пула: не ждать звонков пользователей
Без наблюдения вы узнаёте о проблеме от первого обиженного пользователя в понедельник утром. Это лечится простым контролем.
Что стоит отслеживать:
- число занятых лицензий и свободный остаток;
- количество сеансов без активности более часа;
- доступность порта менеджера лицензий;
- состояние службы драйвера ключа.
Простейший вариант — периодический скрипт, который проверяет доступность порта и пишет в журнал или присылает уведомление:
#!/bin/bash
HOST=license-srv
if ! timeout 3 bash -c "</dev/tcp/$HOST/1947"; then
echo "Менеджер лицензий $HOST недоступен" | logger -t licmon
fi
Запускайте его из cron раз в пять минут. Для учёта занятых лицензий используйте данные консоли кластера или собственный отчёт по данным администрирования, если у вас уже настроен мониторинг.
Для самой простой защиты хватит двух вещей: таймаут отключения неактивных сеансов и оповещение, когда свободных лицензий остаётся меньше 10–15 % от пула.
Частые вопросы
Сколько клиентских лицензий нужно на 30 пользователей?
Можно ли держать ключ на одном сервере, а работать на другом?
1947.