Почему клиенты 1С не видят лицензию после перезагрузки сервера, хотя на сервере она восстановлена?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Мы часто сталкиваемся с ситуацией, когда после перезагрузки сервера 1С:Предприятия лицензии "слетают", и хотя на самом сервере они успешно восстанавливаются, клиентские компьютеры продолжают выдавать ошибку "Лицензия не обнаружена" — поможет инструмент мониторинга служб и анализа логов. Это распространенная проблема, которая может быть вызвана множеством факторов, начиная от некорректной работы служб 1С и заканчивая изменениями в конфигурации системы или сетевыми блокировками. Давайте разберем эту ситуацию пошагово, выясним возможные причины и рассмотрим комплексный подход к диагностике и устранению неисправности.

Прежде всего, важно понимать, что стабильная работа системы лицензирования 1С:Предприятия в клиент-серверном варианте критически зависит от нескольких компонентов: корректно работающей службы Агента сервера 1С, наличия самого файла лицензии или аппаратного ключа, а также от отсутствия препятствий со стороны сетевых устройств и программного обеспечения безопасности.

Возможные причины первоначального "слёта" лицензий 1С

Начнем с анализа того, почему лицензии могли "слететь" изначально. Программные лицензии 1С привязываются к уникальным параметрам аппаратного и программного обеспечения сервера. Если эти параметры изменяются, система защиты может воспринять сервер как другое устройство, что приводит к деактивации лицензии. Рассмотрим подробнее основные факторы:

  1. Изменения в конфигурации операционной системы или аппаратного обеспечения:
    • Обновления Windows: Иногда крупные обновления операционной системы могут изменить внутренние идентификаторы или драйверы, к которым привязана лицензия.
    • Виртуальные машины: В виртуальных средах изменения ресурсов (например, добавление или уменьшение объема оперативной памяти, изменение числа процессоров) или миграция ВМ на другой хост могут привести к деактивации.
    • Сетевые адаптеры: Изменение MAC-адреса сетевой карты (например, если он динамически назначается или при переключении между адаптерами) является частой причиной.
    • Другие аппаратные компоненты: Изменение модели материнской платы, версии BIOS, состава процессоров или даже некоторых параметров жестких дисков может повлиять на привязку.

    Критически важно: при активации лицензия "запоминает" ключевые параметры системы. Любое их изменение, особенно уменьшение объема оперативной памяти, может спровоцировать "слет".

  2. Повреждение или удаление файла лицензии:
    • Действия антивирусных программ: Антивирус может ошибочно принять файл лицензии (с расширением .lic), который обычно располагается в каталоге C:\ProgramData\1C\licenses, за вредоносный и удалить или поместить его в карантин.
    • Ошибки файловой системы: Редкие случаи повреждения файловой системы могут затронуть файлы лицензий.

Почему клиенты не видят лицензию после ее восстановления на сервере?

Даже если мы успешно восстановили лицензию на сервере 1С:Предприятия, клиенты могут по-прежнему сообщать об ее отсутствии — поможет централизованное администрирование рабочих мест и баз. Это указывает на проблемы в механизме выдачи или обнаружения лицензий. Давайте проанализируем основные причины:

1. Проблемы на стороне сервера 1С:Предприятия

Сервер 1С:Предприятия играет центральную роль в выдаче клиентских лицензий. Если его компоненты работают некорректно, клиенты не смогут получить доступ.

  1. Некорректная работа службы "Агент сервера 1С:Предприятия":

    После перезагрузки сервера служба Агент сервера 1С:Предприятия (1C:Enterprise 8.3 Server Agent или аналогичная для вашей версии) может запуститься, но работать не совсем корректно. Хотя ее статус будет "Работает", внутренние компоненты, отвечающие за раздачу лицензий, могут быть недоступны. В таких случаях часто помогает не полная перезагрузка сервера, а именно перезапуск этой службы. Мы рекомендуем выполнить следующие действия:

    1. Откройте "Службы" (services.msc).
    2. Найдите службу, относящуюся к агенту сервера 1С:Предприятия (например, 1C:Enterprise 8.3 Server Agent (x86-64)).
    3. Остановите ее и затем запустите снова. Убедитесь, что она запустилась без ошибок.
  2. Брандмауэр (файрвол) и антивирусное ПО:

    Даже если вы ранее проверяли брандмауэр, после перезагрузки или обновления системы правила могли измениться. Необходимо убедиться, что брандмауэр Windows (или сторонний) не блокирует сетевую активность для следующих процессов 1С:

    • ragent.exe (Агент сервера 1С:Предприятия)
    • rmngr.exe (Менеджер кластера 1С:Предприятия)
    • rphost.exe (Рабочий процесс 1С:Предприятия)

    Мы должны проверить, что порты, используемые для взаимодействия сервера и клиентов 1С (обычно 1540-1541 для менеджера кластера и динамические для рабочих процессов), а также порты для лицензий (например, 475 для HASP-ключей), открыты для входящих и исходящих соединений.

    Антивирусное программное обеспечение также может блокировать сетевые порты или процессы 1С. Временно отключите антивирус для проверки, а затем настройте исключения для папок с базами данных 1С и исполняемых файлов сервера.

  3. Некорректная установка многопользовательской лицензии:

    Многопользовательская программная лицензия предназначена для установки на сервер 1С:Предприятия. Если она была ошибочно установлена на обычном файловом сервере или на клиентской машине, она не сможет быть правильно раздана по сети. Мы должны убедиться, что активация проводилась именно на том сервере, где установлен кластер серверов 1С:Предприятия.

  4. Настройка "Разрешить выдачу лицензий сервером":

    В консоли управления кластерами серверов 1С:Предприятия существует важная настройка — для этого есть инструмент управления кластерами и сеансами 1С. Мы должны проверить, что в свойствах рабочего сервера 1С:Предприятия параметр "Разрешить выдачу клиентских лицензий" установлен в значение "Да". Это критически важный шаг, который необходимо проверить в первую очередь.

    1. Откройте оснастку "Администрирование серверов 1С:Предприятия".
    2. Раскройте ветку "Кластеры" -> "ВашКластер" -> "Рабочие серверы".
    3. Выберите ваш рабочий сервер, откройте его свойства.
    4. Найдите параметр "Разрешить выдачу клиентских лицензий" и убедитесь, что он установлен в "Да".

2. Проблемы, специфичные для типа лицензии

Тип используемой лицензии (программная или аппаратная) определяет особенности ее установки и обнаружения.

  1. Аппаратный USB-ключ (HASP):

    Если вы используете физический ключ HASP, то после перезагрузки могли возникнуть следующие проблемы:

    • Драйвер ключа HASP: Могли возникнуть проблемы с драйвером ключа (HASP Device Driver). Мы должны убедиться, что драйвер установлен и работает корректно. Его можно переустановить, используя утилиту haspdinst.exe, которая обычно находится в комплекте поставки 1С или на сайте Аладдин.
    • Менеджер лицензий HASP: На сервере должен быть запущен и корректно работать "Менеджер лицензий" (HASP License Manager или Sentinel LDK License Manager). Проверьте его статус в службах.
    • Файл nethasp.ini: На клиентских компьютерах для обнаружения аппаратного ключа по сети может потребоваться настроить файл nethasp.ini. В этом файле мы указываем IP-адрес или имя сервера, где установлен HASP-ключ. Файл обычно располагается в каталоге C:\Program Files (x86)\1Cv8\common. Пример содержимого:
      
      [NH_COMMON]
      NH_SERVER_ADDR = 192.168.1.100 ; IP-адрес вашего сервера с HASP-ключом
      NH_SERVER_NAME = YourServerName ; Имя вашего сервера
      NH_USE_BROADCAST = Disabled ; Отключить широковещательный поиск для ускорения
      NH_NET_PROTOCOL = TCP/IP
      
    • Порт 475: Убедитесь, что брандмауэр на сервере и клиентских машинах не блокирует порт 475 TCP/UDP, который используется для раздачи аппаратных ключей HASP.
  2. Программная лицензия:

    Для программных лицензий после повторной активации файл лицензии (вида .lic) размещается в специальном каталоге на сервере. Чаще всего это путь C:\ProgramData\1C\licenses. Мы должны выполнить следующие проверки:

    • Наличие файла: Убедитесь, что файл .lic действительно присутствует в указанной папке.
    • Права доступа: Мы должны проверить, что у пользователя, от имени которого запускается служба Агент сервера 1С:Предприятия (обычно LocalSystem, Network Service или выделенная учетная запись), есть достаточные права (минимум "Чтение и выполнение") на эту папку и содержащиеся в ней файлы. Недостаток прав доступа может помешать серверу прочитать лицензию.

Диагностика с использованием "Журнала поиска ключа" и Технологического журнала 1С

Для точного определения причины проблемы с лицензированием мы должны активно использовать встроенные средства диагностики 1С:Предприятия.

  1. "Журнал поиска ключа":

    Когда клиентская машина выдает ошибку "Не найдена лицензия", обычно в этом окне присутствует кнопка "Подробно". Нажав на нее, мы можем открыть "Журнал поиска ключа". Этот журнал содержит ценную информацию о том, какие попытки найти лицензию были предприняты и почему они оказались безуспешными. Мы должны внимательно изучить сообщения в этом журнале. Например, там может быть прямо указано: "Выдача клиентских лицензий сервером 1С:Предприятия запрещена", что сразу укажет на необходимость проверки соответствующей настройки в консоли администрирования.

    Мы должны анализировать каждую запись: какой тип лицензии (HASP, программная) искался, на каких адресах, какие ошибки были получены. Это поможет сузить круг возможных проблем.

  2. Технологический журнал 1С:Предприятия:

    Для более глубокого анализа мы можем настроить и включить Технологический журнал 1С:Предприятия — поможет автоматизированный сбор и анализ техжурнала 1С. Это мощный инструмент, который регистрирует все события, происходящие на сервере 1С. Мы должны настроить его на сбор событий, связанных с лицензированием. В файле logcfg.xml, который настраивает Технологический журнал, мы можем добавить фильтр для событий, относящихся к лицензиям (например, по компонентам SESS, SRVC, LIC или по ключевым словам "license", "licensing", "HASP").

    После включения журнала и попыток подключения клиентских машин мы должны проанализировать его содержимое. Он может содержать детальные сообщения об ошибках, связанных с инициализацией лицензионных механизмов или сбоях при попытке выдачи лицензии.

Пошаговый план действий для устранения проблемы

Исходя из всего вышесказанного, мы предлагаем следующий комплексный план действий для диагностики и решения проблемы:

  1. Начните с сервера 1С:
    1. Перезапустите службу Агент сервера 1С:Предприятия. Это первое и самое простое действие, которое часто помогает.
    2. Проверьте настройку выдачи лицензий: В консоли администрирования серверов 1С:Предприятия убедитесь, что для рабочего сервера установлено "Разрешить выдачу клиентских лицензий" = "Да".
    3. Проверьте брандмауэр и антивирус на сервере: Удостоверьтесь, что процессы 1С (ragent.exe, rmngr.exe, rphost.exe) и соответствующие порты (1540-1541, 475) разрешены. Временно отключите антивирус для проверки.
  2. Используйте диагностические инструменты:
    1. Откройте "Журнал поиска ключа" на клиентской машине после получения ошибки. Внимательно проанализируйте каждое сообщение. Это ваш главный помощник.
    2. Настройте и анализируйте Технологический журнал 1С на сервере для получения более детальной информации о работе серверных процессов и лицензирования.
  3. Для программных лицензий:
    1. Проверьте путь и права доступа к файлам .lic (обычно C:\ProgramData\1C\licenses). Убедитесь, что у службы агента 1С есть права на чтение этих файлов.
    2. Попробуйте повторно активировать лицензию (если это допустимо по количеству активаций). Иногда новая активация может решить проблему.
  4. Для аппаратных USB-ключей (HASP):
    1. Проверьте драйверы HASP и работу "Менеджера лицензий" HASP на сервере. Переустановите драйверы при необходимости.
    2. Проверьте файл nethasp.ini на клиентских машинах. Убедитесь, что он указывает на правильный IP-адрес или имя сервера с ключом.
    3. Проверьте порт 475 на сервере и клиентах.
  5. Проверьте общую стабильность системы:

    Мы должны исключить возможность системных сбоев. Проверьте журнал событий Windows на сервере на наличие критических ошибок (удобно через мониторинг критических ошибок и уведомлений о сбоях) или предупреждений, особенно тех, что происходили перед перезагрузкой или во время нее.

В нашем случае, как показал форум, простой ребут сервера временно решил проблему. Однако, как справедливо заметили участники обсуждения, без понимания первопричины, проблема может повториться. Комплексный анализ с применением вышеуказанных методов позволит нам не только устранить текущую неисправность, но и предотвратить ее возникновение в будущем, обеспечив стабильную работу системы лицензирования 1С:Предприятия.

Помните, что каждый шаг диагностики приближает нас к пониманию корня проблемы. Не игнорируйте детали в журналах и сообщениях об ошибках, поскольку именно они содержат ключи к успешному разрешению ситуации.

← На главную