Для взаимодействия лицензии с сервером потребуется пакет opensc и библиотека для ruToken которую можно скачать с нашего репозитория librtpkcs11ecp_2.3.0.0-1_amd64.deb
Установки библиотеки выполняется командой:
sudo dpkg -i librtpkcs11ecp_2.3.0.0-1_amd64.deb |
В статье будет рассмотрено 2 основные проблемы которые могут возникнуть с ruTocken при работе сервера ACS:
Пере опрос процессом acsd файла лицензии и ruToken происходит раз в 10 минут. |
После получения ruToken он может не определяться программным обеспечением pkcs11
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -L Available slots: Slot 0 (0x0): (empty) Slot 1 (0x1): (empty) Slot 2 (0x2): (empty) Slot 3 (0x3): (empty) Slot 4 (0x4): (empty) Slot 5 (0x5): (empty) Slot 6 (0x6): (empty) Slot 7 (0x7): (empty) Slot 8 (0x8): (empty) Slot 9 (0x9): (empty) Slot 10 (0xa): (empty) Slot 11 (0xb): (empty) Slot 12 (0xc): (empty) Slot 13 (0xd): (empty) Slot 14 (0xe): (empty) |
Но, при этом система его определяет и он отображается при выводе команды lsusb
lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 005: ID 0a89:0030 Aktiv Rutoken ECP Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub |
В таком случае необходимо обратится в коммерческий отдел для устранения проблемы с аппаратным носителем ruToken
Если при работе сервера, после увеличения количества терминалов возникает ситуация, когда лицензия теряется, но самопроизвольно восстанавливается или помогает пере подключение лицензии. И лог файл содержит такие сообщения
Лог файл можно прочитать только с root правами |
cat /var/log/eltex-acs/acsd.log May 28 04:30:38.128 (7F9CC5618D80): check-license: license.bank is found May 28 04:30:38.432 (7F9CC5618D80): license: find token, slot 0/0: 'ruToken' May 28 04:30:38.432 (7F9CC5618D80): check-license: check token - found token with label 'ruToken' May 28 04:30:39.627 (7F9CC5618D80): license: check token result = 0 May 28 04:30:39.668 (7F9CC5618D80): license: check token result - WEXITED = true May 28 04:30:39.668 (7F9CC5618D80): license: check token result - pid = 2496814, code = 0, res = 0 May 28 04:30:39.668 (7F9CC5618D80): check-license: license.bank checked by ruToken successfully May 28 04:30:39.763 (7F9CC5618D80): check-license: bank 'All.17000' is loaded, filter = 'TRUE', limit = 17000 May 28 04:40:38.011 (7F9CC5618D80): license: set to demo mode! May 28 04:40:38.176 (7F9CC5618D80): check-license: bank 'demo' is loaded, filter = 'TRUE', limit = 100 |
При этом pkcs11 определяет ruToken
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -L Available slots: Slot 0 (0x0): Aktiv Rutoken ECP 00 00 token label : eToken token manufacturer : Aktiv Co. token model : Rutoken ECP token flags : login required, rng, token initialized, PIN initialized hardware version : 67.4 firmware version : 32.2 serial num : 46344230 pin min/max : 6/32 Slot 1 (0x1): (empty) Slot 2 (0x2): (empty) Slot 3 (0x3): (empty) Slot 4 (0x4): (empty) Slot 5 (0x5): (empty) Slot 6 (0x6): (empty) Slot 7 (0x7): (empty) Slot 8 (0x8): (empty) Slot 9 (0x9): (empty) Slot 10 (0xa): (empty) Slot 11 (0xb): (empty) Slot 12 (0xc): (empty) Slot 13 (0xd): (empty) Slot 14 (0xe): (empty) |
Проверьте нет ли высокой загруженности CPU в процессе работы сервера. Для этого создайте файл который будет записывать статус загруженности сервера в файл:
#! /bin/bash date '+%Y-%m-%d_%H:%M' >> /home/[user]/log_average.txt cat /proc/loadavg >> /home/[user]/log_average.txt free -h >> /home/[user]/log_average.txt [user] - заменить на имя пользователя в системе |
после добавить права на исполнение этому файлу и добавить правило на применение скрипта в crontab
chmod +x [имя файла] crontab -e В конце файла добавить строку */5 * * * sh /home/[username]/[script] |
вывод в файл будет таким:
2026-05-28_10:58
3.00 2.84 2.56 4/756 2498412 значение нагрузки CPU нужны первые 2 значения (1мин 5 мин 15 мин)
total used free shared buff/cache available значения загрузки ОЗУ
Mem: 15Gi 2.8Gi 10Gi 0.0Ki 2.7Gi 12Gi
Swap: 4.0Gi 311Mi 3.7Gi |
Загрузка CPU:
Если загрузка за 5 мин начинает принимать значения выше 4 значит при этом pkcs11 может не успевает обработать запрос лицензии из-за чего лицензия теряется.
В основном проблема связанна с нагрузкой от mysql/mariadb. проверить это можно при помощи команды top.
Так как в многоядерных, много поточных системах top может выводится значения нагрузки на cpu у процесса выше 100%(связанно это с тем что одно ядро будет загружено полностью и занята часть нагрузкой на другом ядре)
для разделения при выводе top нажмите кнопки shift+I Это позволит выводить усредненную нагрузку относительно всех ядер |
Как решение это увеличение вычислительной мощности сервера, либо разнесение нагрузки на 2 сервера при помощи http балансировщика.