Конфигурация Intel® License Manager

в 6:13, , рубрики: Без рубрики
Конфигурация Intel® License Manager

Как я уже говорил ранее, у продуктов Intel большое количество различных типов лицензий. Для крупных компаний, университетов, и других организаций, в которых разработкой могут заниматься относительно большое количество инженеров, предлагается вариант с использованием клиент-серверной конфигурации и floating лицензии. Это самые «жирные» лицензии, как по функционалу, так и по цене. Из своего личного опыта знаю, что «поднять» сервер и заставить всё работать как нужно – не так уж и просто. Поэтому я решил собрать в данном посте все тонкости, с которыми мне приходилось сталкиваться самому.

Начнём с того, зачем вам может понадобиться сервер и покупка floating лицензии, ведь в наличии есть и другой тип – single-user, или, как они называются сейчас (по аналогии с Microsoft и прочими) — named-user, значительно дешевле. Вся разница в том, что с последней легально пользоваться продуктом может лишь один человек. Да, он может выполнять установку на многих системах, но пользоваться – только на одной. Стоит отметить, что технически подобная проверка не выполняется и, по существу, это только вопрос легальности использования. С такой лицензией никакой сервер не нужен – ввели серийник и пользуйтесь на здоровье.

А вот если у вас много разработчиков, то тут на сцену может выйти и серверная конфигурация. Простой пример – у вас 10 инженеров работают над кодом, и всем им, время от времени, нужен компилятор. Можно приобрести 10 named-user лицензий, раздать каждому и не вникать. Вполне, кстати, рабочая такая схема. Но важно понимать, что все 10 человек не будут запускать процесс компиляции одновременно, а потому не очень эффективно тратить столько денег и поступать подобным образом. Да ещё каждому новому сотруднику придётся выдавать по лицензии, а потом и все эти лицензии вовремя обновлять каждый год. В данном случае, вполне может хватить floating лицензии на 3-х пользователей (3 seats), которая будет использоваться следующим образом. Как только на машине с установленным компилятором будет запущен процесс компиляции, клиент обратится к серверу и спросит, есть ли доступные лицензии. Так как имеется валидная лицензия, компиляция будет выполнена, и на время работы компилятора будет использовано одно место (seat) из лицензии, при этом останется возможность на запуск ещё двух одновременных процессов компиляции. Как только всё будет собрано, лицензия возвращается на сервер. Грубо говоря, на сервере имеется счётчик, и если кто-то из клиентов запускает компиляцию – он уменьшается на единицу, при её завершении – увеличивается. Собственно, это я уже описывал в предыдущем блоге.

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

Итак, мы разобрались с тем, что нам нужна серверная конфигурация и вот уже даже приобрели floating лицензию. Фактически, на руках у нас серийник и больше ничего. Регистрируем этот серийник на Registration Center. Будьте готовы при этом ввести хост и MAC адрес сервера, или даже 3 серверов, если будет создаваться так называемая “three redundant license server” конфигурация для бесперебойной работы. Да, эта информация «жестко» прописывается в лицензии и использовать её на другом сервере не получится – нужно будет снова заходить на Registration Center и вносить изменения. После окончания процесса регистрации, вы получите лицензионный файл, который будет необходим для запуска сервера. Кстати, там же вы сможете найти и скачать Intel® Software License Manager, который мы будем ставить. Причём ставить его можно везде – на Windows, Linux или Mac — привязки к тому, под какую ОС ваша лицензия, нет. Идём на Registration Center, выбираем ‘Search for older versions’, находим ‘Intel® Software License Manager’ и качаем его.

Перед установкой ещё раз проверьте, что адрес(MAC и имя хоста) сервера, прописанный в лицензии и адрес машины, на которой вы собираетесь его ставить, совпадают. Это довольно частая проблема. Одна из самых свежих проблем — последние версии компиляторов (Composer XE 2013 SP1 Update 3) требуют установки свежей версии Intel License Manager'а — 2.3 и выше.

Кроме того, для сервера обязательно проверьте, что в директориях flexlm нет других лицензий, которые уже «спеклись». Проверять нужно эти папки:

Linux*: /opt/intel/flexlm/
Mac OS* X: /opt/intel/flexlm/
Windows*: [Program Files]Common FilesIntelFLEXlm

Если вы собираетесь создавать конфигурацию из 3 серверов, то обязательно 2 из них должны работать всё время. Вот такие вот ограничения нынче для стабильности. Да, и ещё есть одна интересная особенность. Для floating лицензий существует возможность забирать лицензии в офф-лайн. Это значит, что вы набираете специальную магическую команду, и лицензия с сервера забирается не только на тот же процесс компиляции, а на определённое время. И вы можете смело уходить из сетки, где доступен сервер, хоть домой. А по возвращении в сетку – возвращать лицензию. Называется сия фича не иначе как BORROWing. Так вот в конфигурации с тремя серверами она не поддерживается – ограничение текущего дизайна.

Далее мы просто ставим сервер. На Windows всё просто и нужно запустить установщик, указав путь к файлу с лицензией. Менеджер лицензий будет запущен как сервис автоматически. Для Линукса процесс не сложнее, тем не менее, если возникнут трудности, можно найти все необходимые подсказки в User Guide, пункт 3.5.4. Кстати, для серверов на Windows Vistа, 7 и Server 2008 есть пара нюансов.

Проверить, всё ли работает после установки, можно с помощью команды lmstat:

Linux: lmstat -a -c <-license file->
Windows: lmutil lmstat -a -c <-license file->
,
где <-license file-> является полным путём к файлу лицензии с его именем.

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

На стороне клиента все лицензии лежат в этих папках:

Linux*: /opt/intel/licenses/
Mac OS* X: /Users/Shared/Library/Application Support/Intel/Licenses
Windows*: [Program Files]Common filesIntelLicenses

В любой момент просто закиньте туда лицензионный файл. И помните, что другие лицензии на тот же продукт (например, пробные) могут помешать нормальной работе, так что от них лучше избавиться и просто удалить, особенно если они уже просрочены. Кстати, вариант с оригинальным лицензионным файлом не самый лучший, потому что раскрывает пользователям его содержимое. Есть и другой путь – установить переменную INTEL_LICENSE_FILE в значение port_number@host (порт тоже прописывается в лицензионном файле, по дефолту — 28518), или же создать файл в папке с лицензиями следующего вида:

SERVER <-server-name1-> <-hostid1-> <-port1->
USE_SERVER

Если имеем 3 сервера, то и прописываем их все здесь, каждый на новой строчке начиная с SERVER.

Вот и всё. И главное – если что-то не заработало, причём чаще всего со стороны клиента, то можно включить дебаг логи и посмотреть, что не так, и отправить их в поддержку. Сделать это можно с помощью переменной окружения INTEL_LMD_DEBUG. Скажем, можем установить её таким образом:

SET INTEL_LMD_DEBUG=«C:tempLicenseCheckout.log»

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

Checklist for Installation and Troubleshooting Intel® FLEXlm* License Manager
Licensing: Setting up the client for a floating license
License questions

Автор: ivorobts

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js