Как перезапустить сервер лицензирования 1с
Иногда при работе в программе 1С: Предприятие пользователям приходится сталкиваться с тем, что 1С не видит лицензии на сервере (Рис.1).
В основном такая проблемная ситуация возникает в результате каких-либо произведенных настроек или вследствие изменения конфигурации программы. Но иногда причина может заключаться в том, что программа не видит на локальном диске или сервере лицензионный файл с расширением .lic, так как именно он несет ответственность за системный запуск.
Случаи, при которых возникают проблемы с файлом:
- Повреждение или отсутствие файла на ПК;
- Переустановка операционной системы, обновление ее версии и другие изменения, произведенные на ПК;
- В файле конфигурации отсутствуют имена менеджеров лицензии;
- Антивирусная блокировка;
- Не активирована приобретенная лицензия.
После выявления причины, из-за которой в итоге на сервере 1С предприятия не найдена лицензия, необходимо перейти к применению профессиональных способов в данной области с целью решения возникшей проблемы.
Одним из таких способов является установка еще одной специализированной программы под названием «Alladin Monitor», благодаря которой лицензия все же может быть обнаружена. Но перед ее установкой необходимо отключить файервол.
Другие способы решения проблемы отсутствия лицензии считаются более простыми:
- Если проблема возникла, после того как была установлена новая платформа 1С, то в таком случае достаточно сделать копию лицензионного файла и поместить ее в папку с новой платформой;
- Если ошибка появилась после смены конфигурации 1С, то необходимо повторно активировать лицензию, задействовав при этом резервный код, произвести полную переустановку программы.
- Если причиной ошибки оказалось неверное использование многопользовательского пин-кода, то в таком случае можно провести деактивацию старого пин-кода и активацию нового однопользовательского, закрепленного за каждым отдельным рабочим местом.
Отключение аппаратных ключей
Бывает такая ситуация, когда в процессе работы с 1С необходимо отключить использование аппаратной лицензии. Эта операция дает возможность отключения всех аппаратных ключей защиты и всех баз с информационными данными только на одном рабочем компьютере. Что бы это сделать, надо запустить 1С: Предприятие и зайти в настройки (Рис. 2).
В нижней части окна настройки диалога запуска убрать находящуюся там галочку напротив надписи «Использовать аппаратную лицензию (ключ защиты)». (Рис. 3).
При использовании клиент-серверного режима работы, следует перезапустить службу серверного агента. Затем на ПК, где была обнаружена проблема с лицензией, необходимо восстановить все использовавшиеся на нем ранее лицензии с помощью последнего пин-кода.
Для восстановления лицензии потребуется произвести всего несколько действий. В окне для операций с лицензиями выбирается раздел «Восстановление» (Рис.4).
В следующем окне необходимо пометить флажком, если параметры компьютера не менялись. В случае изменения параметров флажок убирается и вводится резервный пин-код. В нижней части окна нажать «Далее» (Рис. 5).
В окне по проверке персональных данных указать всю необходимую информацию, которая уже была указана во время получения лицензии и нажать «Далее» (Рис. 6).
1.Останавливает службу "Агент сервера 1С:Предприятия 8.2" (как x32, так и x64) (если такая есть)
2. Завершает работу всех клиентов 1С на локальном ПК (если выбрано)
3.Проверяет после остановки службы наличие в памяти незавершенных процессов rphost.exe, rmngr.exe и ragent.exe. Принудительно завершает их.
4.Останавливает службу HASP License Manager (если такая есть), HASP Loader.
5.Очищает каталоги snccntc для каждого из локальных кластеров.
6.Запускает службу HASP LM, HASP Loader и "Агент сервера 1С:Предприятия 8.x".
Все этапы логгируются с обработкой исключительный ситуаций. Лог файл пишется в каталог где находится скрипт.
Никаких параметров задавать не нужно. Запускаете скрипт - получаете результат.
Если будуте запускаете через планировщик заданий - советую использовать cscript.exe вместо wscript.exe.
UPD 06-10-2013
- Исправил ошибку в отображении 10-го месяца в лог-файле
- Исправил завершение незавершившихся процессов останавливаемых служб
- Добавил запуск служб HASP* при исключительной ситуации
- Добавил запуск всех служб при невозможности завершить процесс останавливаемой службы
UPD 11-07-2014
Добавил отдельный скрипт для перезапуска служб 8.3, кроме того, скрипт для 8.3
- чистит каталог temp пользователя, под которым запущен 1с
- в случае любой непредвиденной ситуации скрипт будет пытаться запустить службу 1с пока не сможет этого сделать
- содержит мелкие улучшения
UPD 01-04-2015
- скрипт для 8.3 завершает еще и клиентов 1с, с запросом при ручном запуске и без запроса через параметр командной строки
Дальнейшего развития скрипта для 8.2 не предполагается.
UPD 01-06-2015
- Реализована поддержка UAC при ручном запуске. Если запускаете из планировщика с ключом командной строки - запускайте из-под системной учетной записи - там повышение привилегий не требуется.
- Переделал скрипт для 8.2 из сочного и свежего скрипта для 8.3
- Добавил поддержку Windows Server 2012
UPD 20-11-2018
- Сделал проверку UAC Elevation для всех ОС без учёта версии (будет работать только на Windows >=2008)
UPD 14-06-2019
- Исправил ошибку, при которой в случае автоматического выполнения перезапуска (без подтверждения) проверка на запуску службы 1С никогда не завершалась.
- разобрался с пропуском незавершаемых процессов 1С, находящихся с статусе suspended.
Иногда сервер приложений занимает всю память и ее надо освободить.
Можно презапустить службу 1С, но это может привести к тому, что сеансы пользователей, которые работаю с данными, завершаться аварийно.
Есть возможность перезапустить рабочие процессы сервера приложений без заверешния работы пользователей.
Для этого в консоли сервера выбираем процесс, который занял больше всего памяти и открываем его свойства.
В свойствах процесса указываем Использование = Не использовать. Нажимаем ОК.
Без паники. Все сеансы пользователей автоматически перейдут на другие рабочие процессы. Проверено на практике (много раз).
Дожидаемся, пока процесс не завершится:
Примечание: сеанс Конфигуратора не переносится с процесса на процесс.
После этого повторяем обратную операцию. Открываем свойство остановившегося рабочего процесса, указываем Использование = Использовать.
Ждем. При первом подключении выделяется память:
Все. Память освободилась. Начинается новая жизнь.
Также можно настроить
Специальные предложения
это делает намного проще. В кластере устанавливаем порог допустимого объема памяти см. приложение.
+
Упустил главный момент необходимо поставить "Интервал превышения допустимого объема памяти __ секунд"
p.s. Работает как часы, версия платформы 8.2.15.310
Выдержка из документации:
Интервал перезапуска __ секунд
Интервал времени после запуска процесса, по истечении которого рабочий процесс перезапускается. Нулевое значение означает, что рабочие процессы не будут перезапускаться автоматически.
Допустимый объем памяти __ KB
Устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск рабочих процессов не выполняется.
Интервал превышения допустимого объема памяти __ секунд
Определяет интервал времени постоянного превышения предельного объема виртуального адресного пространства, занимаемого рабочим процессом (см. предыдущий параметр), после которого выполняется автоматический перезапуск рабочего процесса. Нулевое значение означает, что автоматически перезапуск рабочих процессов не выполняется.
user745830; 1v7; Kom-off; Sergoninfostarru; sanches; Misanets; tolyan_ekb; MoshkovEV; JohnyDeath; i_lo; iov; sergiobargio1; Юрий ЛЛ; Andreyyy; AlX0id; Alex_Japanese_Student; adhocprog; + 17 – Ответить 5. Alex_Japanese_Student 443 31.05.12 10:59 Сейчас в темеНаверно, не на всех версиях платформы это свойство ведет себя так, как описано в документации.
У нас на платформе 8.2.13.289 и .14.540 процессы продолжали жить с памятью, превышающей установленное пороговое значение, и при этом никакие сеансы пользователей не перемещались на другие процессы.
Все пользовательские сессии перебрасываются на другой рабочий процесс, а этот ("зависший") убивается в диспетчере задач (для этого нужно в его колонках вывести PID процесса, а в свойствах рабочего процесса 1С посмотреть этот самый PID). Сейчас проверил у себя , только один рабочий процесс, как сделать чтобы было больше ?, если завершу то точно все юзверы отключаться (6) Посмотрите в желто-оранжевой книжке по особенностям 1С в клиент-серверном варианте (6) hamlo_666,
В консоли администрирования: Кластеры-<ваш кластер>- Рабочие серверы-<ваш кластер>- Рабочие процессы - Добавить Изменять настройку рабочих процессов без последующего перезапуска службы 1С влечет за собой кучу проблем у пользователей, проверено на практике :). Поиграться конечно можно, но перезапуск службы в конечном итоге обязателен.
Вот нашел, начались сыпаться вот такие ошибки (УПП, в базе находилось примерно 200 пользователей):
1. При записи какого либо объекта, в данном примере, документа "Заявка на расходвание средств":
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП)
по причине:
Попытка получения неинициализированного значения параметра сеанса
2. При входе в систему сразу выдавала ошибку: "Таблица не найдена "Справочник.Пользователи". и кнопка "Завершить работу"
Раньше таких ошибок не возникало, началось именно после того, как мы добавили наживую рабочие процессы.
Ошибки возникали хаотично, беглый анализ показал, ошибки появляются у тех пользователей которых сервер начал перекидывать с одного процесса на другой распределяя нагрузку. В начале пытались выкидывать этих пользователей из базы и после того как они заходили заново ошибка уходила, но как оказалось не надолго. Помучавшись два дня, в конечном итоге, вырубили всех пользователей, добавили заново рабочие процессы, перезапустири службу и проблем больше не было.
И в инсрукции к серверу явно написано нужно перезапускать, но как всегда начинаешь их читать когда уже проблемы возникли.
Дано: сервер, на котором активированы лицензии 1С (или планируется устанавливать лицензии на нем и использовать его в качестве сервера лицензирования), а также имеются сервера, где установлены 1С кластеры, которым требуются лицензии.
Задача: распределение 1С лицензий по разным серверам (кластерам). Например, если на сервере лицензирования активирована одна лицензия на 50 пользователей, то нужно, чтобы этими лицензиями могли пользоваться различные 1С серверы/кластеры.
Помните, что для каждого кластера потребуется серверная лицензия (может быть активирована также на сервере лицензирования), т.е. сколько кластеров, столько и серверных лицензий.
Сам сервер лицензирования лицензии не требует.
В данной статье и в видео будут следующие условные наименования серверов:
Сервер лицензирования - SRV-DB1
Сервер 1С (с установленным кластером) - SRV-NODE-B
Содержание статьи:
- Как получать лицензии с другого сервера (сервера лицензирования)
- Как настроить сервер лицензирования
- Как активировать лицензию на сервере лицензирования
Как получать лицензии с другого сервера (сервера лицензирования)
Если сервер лицензирования (SRV-DB1) уже существует и настроен, то настройка любого другого сервера 1С (в этом примере, SRV-NODE-B) на получение лицензий с сервера SRV-DB1 делается довольно легко. Подробнее смотрите видео ниже.
Краткое описание (все действия выполняем в локальном кластере на 1С-сервере (SRV-NODE-B)):
- В рабочие серверы добавляем сервер лицензирования (SRV-DB1).
- В блоке рабочего сервера SRV-DB1 добавляем две функциональности в требования назначения функциональности.
- В блоке рабочего сервера SRV-NODE-B добавляем две функциональности в требования назначения функциональности.
- На локальном кластере делаем полное применение требований функциональности.
- Перезагружаем службу 1С.
После этого сервер SRV-NODE-B начнет получать лицензии с сервера SRV-DB1. Т.е. как серверные, так и клиентские лицензии нужно активировать на сервере лицензирования (о том, как активировать читайте ниже).
Посмотреть, как это делалось, можно в следующем видео-ролике:
Подробное описание:
(все действия выполняем в локальном кластере на 1С-сервере (SRV-NODE-B)):
1) В рабочие серверы добавляем сервер лицензирования (SRV-DB1):
В итоге будет два рабочих сервера SRV-NODE-B и SRV-DB1:
2) В блоке рабочего сервера (сервера лицензирования) SRV-DB1 добавляем две функциональности в требования назначения функциональности.
Функциональности должны быть именно в указанной последовательности.
Добавляем сначала:
Любой объект требования (Для всех) - Не назначать
Затем:
Сервис лицензирования - Назначать
В таком случае они "встанут" в нужной последовательности, иначе придется менять приоритет.
Этим мы говорим, что этот сервер готов выдавать лицензии и будет отклонять любые другие запросы.
3) В блоке рабочего сервера кластера SRV-NODE-B также добавляем две функциональности в требования назначения функциональности.
Функциональности должны быть именно в указанной последовательности.
Добавляем сначала:
Сервис лицензирования - Не назначать
Затем:
Клиентское соединение с ИБ - Назначать
Этим мы говорим, что этот сервер готов отвечать на клиентские вызовы, но лицензии он не содержит.
4) На локальном кластере делаем полное применение требований функциональности.
5) Перезагружаем службу 1С.
Также нужно не забыть про настройки локального FireWall - на сервере 1С (SRV-NODE-B) разрешить входящие-исходящие соединения для сервера лицензирования (SRV-DB1).
Как мы делали сервер лицензирования?
Первоначально у нас был один виртуальный сервер, на котором был установлен 1С кластер. На нем были активированы программная серверная лицензия и программная лицензия на 50 пользователей (соответственно в кластере в информационной базе было указано, чтобы клиентские лицензии выдавались с сервера).
Затем понадобился перенос сервера на другую физическую площадку и было также решено выделить под кластер более производительную виртуальную машину. Поэтому существующий сервер оставили в качестве сервера лицензирования, и создали новый виртуальный сервер под 1С кластер.
Как из обычного сервера сделать сервер лицензирования? Если на нем не будут подключаться информационные базы и он будет использоваться только для лицензий, то в дополнению к вышеуказанным инструкциям нужно сделать только одно действие: удалить локальный кластер на сервере лицензирования (не саму программную серверную компоненту 1С, а именно локальный кластер в оснастке кластера, чтобы в списке кластеров было пусто - это видно на скриншотах и видеоролике, что на сервере лицензирования нет кластеров):
Если это сделать, то сервер лицензирования не будет "отъедать" серверную лицензию (т.е. ему самому вообще никаких лицензий не нужно, он только их хранит для других серверов).
Как активировать лицензию в случае сервера лицензирования?
Для этого на клиенте в любой базе (хоть локальной) зайти в конфигуратор, перейти на интерфейс ввода лицензии, нажать Дополнительно и ввести адрес сервера лицензирования.
Активация ключа на сервере:
В этом случае активация произойдет на сервере лицензирования.
После можно проверить, появился ли файл лицензии в папке на сервере (рекомендуется записать, что за файл - эта информация может понадобиться при восстановлении лицензии - см. статью Восстановление по пин-коду).
Примечание: есть вероятность, что такая настройка не работает в случае варианта лицензирования "Сервер мини".
В файлах к статье: видеоролик, показанный выше, а также текст этой статьи.
Читайте также: