Особенности работы 1С:Предприятия 8 с несколькими сетевыми ключами
Для защиты от несанкционированного использования системы 1С:Предприятия 8 в случае многопользовательской лицензии используется сетевая система защиты HASP4 Net. Особенностью данной системы защиты является то, что с помощью одного аппаратного ключа защиты HASP4 Net может разрешаться одновременная работа 1С:Предприятия 8 на нескольких компьютерах в рамках локальной сети. Использование системы 1С:Предприятие 8 в этом случае регламентируется дополнительной многопользовательской лицензией. При использовании нескольких ключей защиты HASP4 Net, в локальной сети должно быть соответствующее количество компьютеров с запущенным HASP License Manager. Количество компьютеров, на которых запущены HASP License Manager, должно соответствовать количеству ключей HASP4 Net, используемых для защиты 1С:Предприятия 8. В этом случае, количество рабочих мест, на которых может быть запущено 1С:Предприятие 8 определяется как сумма «возможностей» каждого из отдельно взятых аппаратных ключей.
Проблема:
Количество пользователей, одновременно работающих с 1С:Предприятием 8, оказывается меньше, чем сумма лицензий каждого из отдельно взятых аппаратных ключей. Подключение новых пользователей становится невозможным, несмотря на достаточное количество лицензий. Проблема проявляется после неоднократного аварийного завершении сеанса работы 1С:Предприятия 8 и последующими попытками повторного подключения. После перезагрузки всех HASP License Manager, проблема исчезает.
Причина:
Проблема с нехваткой лицензий обусловлена тем, что при повторном запуске 1С:Предприятия 8 после аварийного завершения, оно может подключиться к другому HASP License Manager, который выдаст новую лицензию. Предыдущая, при этом, останется занятой еще 36 часов. Этого не произойдет, если при повторном запуске 1С:Предприятие подключится к тому же HASP License Manager.
ursus_mellifera
ursus_mellifera
Давно известный факт, что нельзя корректно использовать два и более однотипных hasp-ключа ( в частности для 1С) установленные на одном копмьютере. Софт просто отказывается их видеть и использует тот или иной по своему странному усмотрению. Путей решения проблемы несколько:
1. Разнести ключи по разным компьютерам и распределить рабочие станции по ним;
2. Обменять два однотипных ключа на один более емкий;
3. Заменить один или оба ключа (два, три и более в зависимости от ситуации) на программные лицензии;
# apt-get install *.deb
root@ubuntu-13-10:
Миднайт командер установил ранее и все дальнейшая работа ведется через него.
После этих манипуляций на нашей виртуальной машине работает менеджер лицензий, о чем нужно убедиться запустив Aladdin monitor, в моем случае видно два Hasp License Manager’а. Если бы это было проделано на железном компьютере, то осталось бы подключить hasp-ключ в usb-порт, перезапусить менеджер лицензий
service haspd restart
и получился бы вполне себе работоспособный вариант, но вся тонкость с виртуальной машиной в том, что просто так туда оказалось очень сложно пробросить нужный ключ из трех близнецов. При попытке добавить hasp-ключ как usb-устройство через gui virtualboxa в выпадающем списке устройств я вижу три близнеца hasp 2.17. Кликая по любому из них, получаю разный по своей плачевности результат, либо ничего не происходит, либо подключается не нужный мне ключ, либо подключается нужный. Все очень случайно. Нужно упорядочить. Для этого в диспетчере устройство, в разделе Контроллеры USB попеременным отключением/включением выясняем какой же из близнецов каким ключем является. Переписываем из св-в Aladdin USB Key с закладки «сведений» значений свойств Путь к экземпляру устройства и ключ драйвера.
цель достигнута, но все это работает только после ручных действий, нужно автоматизировать.
Заходим в каталог установки virtualbox на хостовой системе и смотрим список виртуальных машин
нужная ВМ первая в списке, для ее старта необходимо выполнить
для проброса ключа нужно выполнить следующее
параметр после usbattach был выписан ранее для нужного нам ключа из Ключ драйвера, также его можно увидеть вот так
vboxmanage list usbhost
Host USB Devices:
UUID: 2b126c69-6c57-40c2-8f6d-e24474a9df77
VendorId: 0x0529 (0529)
ProductId: 0x0001 (0001)
Revision: 2.23 (0223)
Port: 0
USB version/speed: 2/2
Manufacturer: AKS
Product: HASP 2.17
Address: <36fc9e60-c465-11cf-8056-444553540000>\0 011
Current State: Busy
UUID: 48b913a4-910f-4807-86c9-a25318511ac5
VendorId: 0x0529 (0529)
ProductId: 0x0001 (0001)
Revision: 2.23 (0223)
Port: 0
USB version/speed: 2/1
Manufacturer: AKS
Product: HASP 2.17
Address: \\?\usb#vid_80ee&pid_cafe#5&2fa0c562&0&4# <00873fdf-cafe-80ee-aa5e-00c04fb1720b>
Current State: Captured
UUID: 18876e3a-ee93-46e3-a29b-689c3f5f6b56
VendorId: 0x0529 (0529)
ProductId: 0x0001 (0001)
Revision: 2.23 (0223)
Port: 0
USB version/speed: 2/2
Manufacturer: AKS
Product: HASP 2.17
Address: <36fc9e60-c465-11cf-8056-444553540000>\0 020
Current State: Busy
Осталось как-то через консоль научится отключать usb-устройства, для этого от компании microsoft есть утилита devcon и отключение выглядит вот так
devcon disable «@USB\VID_0529&PID_0001\5&2FA0C562&0&3»
где после disable прописывается Путь к экземпляру устройства
В итоге получаем вот такой bat-файл
@echo %date% %time% Виртуальная машина включается >> autostart-vms.log
@echo %date% %time% Виртуальная машина выключается >> autostop-vms.log
rem vboxmanage controlvm <26f58a3f-72d6-4d6e-a6db-d94a0941b497>savestate
@echo %date% %time% Виртуальная машина выключена >> autostop-vms.log
ACTION==»add», ATTR
после рестарта Udev
остается создать /home/sergey/haspd-restart.sh
#!/bin/sh
service haspd restart
не забываем дать права на исполнение. Т.е. в случае подключения нового устройства с определенными атрибутами произойдет рестарт службы менеджера лицензий. Стоит заменить что выборка этих атрибутов оказалась также весьма не простой. Для начала нашел в /dev/bus/usb/002/024 признак моего ключа
Затем через udevadm выловил присущие ключу атрибуты
Для проверки того, правильно ли составлено правило можно выполнить следующее
получаем путь, добавляем к нему /sys и выполняем
root@ubuntu-13-10:/dev/bus/usb/002# udevadm test /sys/devices/pci0000:00/0000:00:06.0/usb 2/2-1
в конце вывода видим нечто вроде
ACTION=add
BUSNUM=002
DEVNAME=/dev/bus/usb/002/024
DEVNUM=024
DEVPATH=/devices/pci0000:00/0000:00:06.0/u sb2/2-1
DEVTYPE=usb_device
DRIVER=usb
ID_BUS=usb
ID_MODEL=HASP_2.17
ID_MODEL_ENC=HASP\x202.17
ID_MODEL_FROM_DATABASE=HASP v0.06
ID_MODEL_ID=0001
ID_REVISION=0217
ID_SERIAL=AKS_HASP_2.17
ID_USB_INTERFACES=:ff0000:
ID_VENDOR=AKS
ID_VENDOR_ENC=AKS
ID_VENDOR_FROM_DATABASE=Aladdin Knowledge Systems
ID_VENDOR_ID=0529
MAJOR=189
MINOR=151
PRODUCT=529/1/217
SUBSYSTEM=usb
TYPE=255/0/0
UDEV_LOG=6
USEC_INITIALIZED=401565464
run: ‘/home/sergey/haspd-restart.sh’
unload module index
значит с параметрами угадали. Система должна работать.
Аппаратный ключ защиты HASP и 1С (занятие нескольких лицензий с одного ПК)
Сталкивался ли кто-нибудь с такой проблемой?
Сначала опишу топологию нашей системы работы с 1С и ключами:
У нас имеется 7 аппаратных usb ключей защиты hasp. 5 ключей на 20х, 1 ключ на 10х, 1 ключ на 50х. Все они установлены на разных компьютерах в сети, также на каждом их них установлен Менеджер лицензий, который их раздает. В Алладин-мониторе все эти ключи видно, все ок.
Имеются базы 1С (много, около 50), расположенные на разных серверах приложений (всего 4 сервера приложений). В настройках всех баз свойство «Разрешить выдачу лицензий сервером 1с предприятия» установлено в «НЕТ».
При такой схеме, согласно документации, на одном компьютере можно открывать неограниченное количество сеансов 1С (одной базы либо разных, не имеет значения), и все они будут занимать РОВНО ОДНУ лицензию с одного ключа.
На компьютерах пользователей в nethasp.ini в параметре NH_SERVER_ADDR = прописаны адреса всех машин, где установлены ключи (через запятую).
Флаг «Использовать аппаратную лицензию (ключ защиты)» в настройках запуска клиентов установлен.
Пользователи в работе могут открывать как несколько сеансов одной базы, так и несколько сеансов разных баз, это нужно для работы, т.к. в одном сеансе может идти какая-то загрузка, в другом они смотрят в это время отчеты, вводят документы. То есть чаще все работают именно с 2-3 базами, нежели с одной или одним сеансом. Это важно, т.к. именно в этом случае у нас проявляется проблема, описанная ниже.
Теперь конкретно о проблеме:
Столкнулись вдруг с нехваткой лицензий. А количество сочетаний «пользователь+компьютер» у нас гарантированно меньше суммарного кол-ва лицензий (10 + 20*5 + 50 = 160 лицензий).
Стали разбираться и выяснили, что у нас очень много случаев, когда несколько 1С, будучи запущенных на одной машине (именно локально, про терминальные сеансы речи не идет), занимают БОЛЕЕ ОДНОЙ ЛИЦЕНЗИИ с одного либо нескольких ключей, чего при наших настройках и видах ключей быть не должно. Напомню, ключи аппаратные, раздача ключей сервером запрещена.
Также у нас есть терминальные сервера, через которые пользователи тоже работают с 1с. Но в этом случае, если человек открыл 1 сеанс 1С локально и 1 сеанс на терминале занимается 2 лицензии, тут вопросов нет.
Примеры скринов с алладина во вложении. Там видно, что в моменте один адрес (192.168.8.103) занимает либо 2 лицензии (скрин 1) с одного ключа, либо 2 лицензии с разных ключей (скрин 2 и 3). При этом на этой машине просто запускались последовательно два раза 2 базы 1с, в разном порядке.
Хотим докупить лицензий. Программные лицензии не нравятся из-за ограничений по перепривязке к компьютерам.
Не будет ли проблем у нас из-за того, что воткнем второй usb-ключ на один сервер?
(9) я бы не стал пользоваться услугами такого франя
ВНИМАНИЕ! К USB-портам одного компьютера не имеет смысла присоединять несколько аппаратных ключей HASP4 Net одной серии, предназначенных для защиты «1С:Предприятия», так как эти ключи неразличимы и фактически будет задействован только один из них (выбранный произвольно).
>Программные лицензии не нравятся из-за ограничений по перепривязке к компьютерам.
на 8.3 это решается выделенным сервером лицензирования.
все лицензии сервер и клиентские активируются на некую виртуалку. она если надо тупо поднимается на другом сервере. ничего переактивировать не надо
Регистрирую программную лицензию. Там 2 пункта:
1.Получить лицензию
2.Загрузить файл-ответ.
Вопрос: откуда взять файл-ответ?
На e-mail пока ничего не пришло.
Вот тут можно покурить подробно про ключи.
(22) На одном компьютере могут одновременно работать по одному ключу серий ORGL8, ORGL8A и ORGL8B.
Так что 2 не верно =)
(28) > На одном компьютере могут одновременно работать по одному ключу серий ORGL8, ORGL8A и ORGL8B.
(35) >При автоматическом получении лицензии через интернет, куда и какой файл кладется?
какая ОС?
для винды файл лицензии может находится в куче разных мест:
и вообще в любом месте, если прописать путь к лицензии в параметре location в файле location.cfg
http://www.online-ufa.ru/content/articles/location-file-lic-1c/
———————————————————
Текущая:
Локальный HASP4 ORGL8 10, получило клиентское приложение
8100831969 сервер 64 ОАО «Наша контора. » адрес конторы.
Информационная база:
Сетевой HASP4 ORGL8 20
Локальный HASP4 ORGL8 20
Локальный HASP4 ORGL8 50
———————————————————
Есть тут какая либо кривизна с использованием ключей?
Мы докупали 20 программных лицензий из-за того, что 1С стало выдавать сообщения о нехватке лицензия после 20 сидящих в 1с пользователях.
Я порылся в наших архивах и обнаружил, что контора покупала раньше 20 и 50 лицензий. Подумалось, что 50 кто-то свиснул, т.к. админы нашли только один воткнутый USB-ключ.
Админы про этот ключ ничего не знают.
————————
1С запущена на клиентском компьютере
Текущая:
Локальный HASP4 ORGL8 10, получило клиентское приложение
8100831969 сервер 64 ОАО «Наша контора. » адрес конторы.
Информационная база:
Сетевой HASP4 ORGL8 20
Локальный HASP4 ORGL8 20
Локальный HASP4 ORGL8 50
————————
1С запущена на сервере, где установлен сервер 1С
Текущая:
8100414415 клиент ОАО «Наша контора. » адрес конторы.
8100831969 сервер 64 ОАО «Наша контора. » адрес конторы.
Информационная база:
Локальный HASP4 ORGL8 10
Сетевой HASP4 ORGL8 20
Локальный HASP4 ORGL8 50
Локальный HASP4 ENSR8 1
Локальный HASP4 ORGL8 20
(55) зря ты так, человек в (54) все верно сказал.
вот сейчас дома на домашнем компе (а я БОЛЕЕ чем уверен, что дома у меня стоит однопользовательский ключ и никаких кряков и сервера тоже на этом компе нет) запустил базу, которую принес от клиента
«Текущая:
Локальный HASP4 ORGL8 1, получило клиентское приложение
Информационная база:
Локальный HASP4 ORGL8 5
Сетевой HASP4 ORGL8 10
Локальный HASP4 ORGL8 10
Локальный HASP4 ENSR8 1″
2 ключа HASP на 5 пользователей
Задача следующая. На сервере с терминальным доступом установлены базы файловые и ключ на 5 рабочих мест USB.
второй ключ я в этот же компьютер по правилам вставить не могу. На терминале стоит LM Manager который раздает лицензия на 5 рабочих мест и его видит компьютер бухгалтера который находится в том же месте что и терминальный сервер. От терминального сервера по IP есть доступ к компьютеру бухгалтера.
Ставлю HASP LM Manager на компьютер бухгалтера, чтобы раздавать еще 5 лицензий. В локальной сети есть папки терминального сервера и подключение идет по IP
Делаю разные наименования LM Manager. В Терминальном сервере nethasp.ini прописываю IP, отключаю бродкаст, имя LM, Связь по TCP стоящего на компьютере бухгалтера. Ключ не обноруживается
Алладин монитор с компьютера бухгалтера показывает сеансы если вставлен ключ в терминальном сервере, то что вставлено в компьютер бухгалтера в LM не отображается ни в одном
В чем может быть проблема что можно попробовать сделать?
Два и более менеджеров лицензий (License Manager) в сети
При наличии двух и более сетевых ключей не всегда достаточно разнести их по разным компьютерам. Следует выполнить настройку менеджеров лицензий. Каждый менеджер лицензий должен иметь уникальное имя, которое следует явным образом сообщить защищаемой программе. Рекомендуется выполнить аналогичную настройку и в случае использования сервера терминалов, даже при одном сетевом ключе.
На машине где установлен ключ находим файл nhsrv.ini в папке с менеджером лицензий. За имя сервера лицензий отвечает параметр NHS_SERVERNAMES, оно может состоять из латинских букв и цифр и содержать не более 7 символов.
[NHS_SERVER]
NHS_SERVERNAMES = NAME1
После чего на клиентских машинах желательно отредактировать файл nethasp.ini, явным образом указав адреса и имена менеджеров лицензий:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.10, 192.168.0.11
NH_SERVER_NAME = NAME1, NAME2