SPSS Modeler Concurrent LicenseのLinuxへの導入

Concurrentライセンスは同時に利用できる人数によって価格が決まるライセンスです。ライセンスで決められた同時に利用できる人数を超えて使ってしまわないようにLicense Managerというプログラムを入れてその数をコントロールする必要があります。

今回は仮想環境（IaaS）でこのConcurrentライセンスが利用できる環境構築を行います。

なお、License ManagerはSentinel社の製品をOEMで利用しています。そのためサービス名やメニューにSentinel社の社名がでてきます。また、IBMとバージョン番号の管理が違ったりします。

# テスト環境
SPSS Modeler 18.4
License Manager 9.9
Ubuntu 20.04.6 LTS
IaaS(IBM Cloud)

# 1. License Managerの入手
Modelerのバージョンに適合するIBM SPSS Concurrent Licensing ToolsをIBMのWebサイト、パスポート・アドバンテージ・オンラインよりダウンロードしてください。

Modeler 18.4に対応するSPSS Concurrent Licensing Toolsは以下になります。

G0169EN	IBM SPSS Concurrent Licensing Tools 9.9 - License Manager Linux x86-64 English

実体のファイルはSPSSCLT9.9_-_LicMgrLinuxx86-64_En.gzでした。

# 2. License Managerの導入

導入は、単にtarで解凍するだけです。

```bash:プログラムの解凍
sudo tar zxf SPSSCLT9.9_-_LicMgrLinuxx86-64_En.gz
```


# 3. ロックコードの取得
echoid64コマンドを実行し、ロックコード(Old Style)を取得し、メモしておきます。
なお、ライセンスマネージャーのコマンドはsentinellmディレクトリにcdしてから実行してください。「301F-xxxx」というようなエラーのロックコードが返る場合は、sentinellmディレクトリにいることを確認しなおしてください。

```bash:ロックコードの確認
cd sentinellm
sudo ./echoid64
```
```:結果
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ sudo ./echoid64

  Sentinel RMS Development Kit 9.6.0.0028 Host Locking Code Information Utility
  Copyright (C) 2019 SafeNet, Inc.



                Locking Code 1     :  10-*1HH GQLS KRHJ MANM
                Locking Code 1 (Old Style) :  10-2F40A

```


なお、IaaSのような仮想環境に導入する場合、ライセンスコード作成に必要なロックコードの基（Locking Criteria）となるMACアドレスなどが変わることがありえます（仮想環境の仕様を確認してください）。その場合は、echoidを何か固定できる別のものに変更します。
具体的には、\echoid.datをテキストエディタで開き、変更します。
今回は0x010（MACアドレス）から0x002（IPアドレス）に変更しました。
echoid.datが0x002（IPアドレス）の場合は、echoidコマンドの実行結果のロックコードが「2」から始まることを確認してください。そしてこの「2-xxxxx」のロックコード(Old Style)をメモしておきます。

```bash:Locking Criteriaの変更とロックコードの確認
sudo vi ./echoid.dat
sudo cat ./echoid.dat
sudo ./echoid64

```
```:結果
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ sudo vi ./echoid.dat
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ sudo cat ./echoid.dat
0x002
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ sudo ./echoid64

  Sentinel RMS Development Kit 9.6.0.0028 Host Locking Code Information Utility
  Copyright (C) 2019 SafeNet, Inc.



                Locking Code 1     :   2-*1SZ 37XJ YCD7 6ZRV
                Locking Code 1 (Old Style) :   2-1B2DC

lmuser@SPSSLMTest-hkwd2:~/sentinellm$
```

＜参考＞

仮想環境でのライセンスのインストール

https://www.ibm.com/docs/ja/spss-modeler/18.4.0?topic=product-installing-license-in-virtual-environment

Supported Locking Criteria

https://docs.sentinel.thalesgroup.com/softwareandservices/rms/RMSDocumentation/Vendor/Content/DevGuide/Chapter%203_Planning/Locking%20Criteria%20Supported.htm



# 4. ライセンスコードの取得
インターネットに接続できる環境で、SPSS ModelerのサポートサイトからLicense Key Centerに入ります。

https://spss.subscribenet.com/control/ibmp_ja/login

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/0b1033ee-5163-c635-ade3-2a900fbcb0ec.png)


ログインを行い、「認証コードの作成」から IBM SPSS Modeler Desktopを選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/1b512ec5-c410-ad71-d3a1-74aa66ed2212.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/119e07d6-29fd-cde2-a440-0956880d1f09.png)

認証コードを作成したいModelerのバージョンを選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/74e05dc8-0b4e-3cb1-29af-1abd2dce708c.png)

「作成」で認証コードを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/03476b15-8936-7c62-6d81-f490fd81aec9.png)

数量を入力し作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/0110cae7-74bf-a7ea-3773-6c55d38c18e0.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/0a078c82-a096-8247-1086-eb07b77b6d22.png)

認証コードを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/311e897b-59b0-a01f-3122-63e3bf4b1823.png)

手順3で取得したロックコードを入力しアクティブにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/8b929fe2-d25e-4e7b-ba1d-e4b20f7dd7a8.png)

生成されたLicense Codeをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/a5d8768a-72cd-2098-db8d-4273871b79c2.png)


生成されたLicense Codeが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/b749e4c8-f46c-38d2-4d32-c6a2dd73fa53.png)



# 5. License CodeのLicense Managerへの登録
sudo ./licenseactivator ＜手順4で生成したLicense Code（認証コードではない）＞を実行します。

「Result: Authorization succeeded」が戻ればOKです。

```
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ sudo ./licenseactivator  BBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Authorization in progress ... (BBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
Result: Authorization succeeded
```
# 6. ライセンスマネージャーの起動
lserv64コマンドをバックグラウンド実行します。


```bash:ライセンスマネージャーの起動
sudo nohup ./lserv64&
```

```bash:起動の確認
sudo cat nohup.out
netstat -ano|grep 5093
```

```:結果
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ sudo cat nohup.out

         Sentinel RMS Development Kit 9.6.2.0006 License Management Server
  Copyright (C) 2020 SafeNet, Inc.

Initializing.  Please wait ...
The Sentinel RMS License Manager has started with default socket buffer(IPv4) size value set to 212992 bytes.
The Sentinel RMS License Manager has started with default socket buffer(IPv6) size value set to 212992 bytes.
Running on host SPSSLMTest-hkwd2.FU267948760.cloud

lmuser@SPSSLMTest-hkwd2:~/sentinellm$ netstat -ano|grep 5093
tcp        0      0 0.0.0.0:5093            0.0.0.0:*               LISTEN      off (0.00/0/0)
udp        0      0 0.0.0.0:5093            0.0.0.0:*                           off (0.00/0/0)
udp6       0      0 :::5093                 :::*                                off (0.00/0/0)
itzuser@itzvsi-120000e7ec-nqtf312x:~/sentinellm$ netstat -ano|grep 5093
tcp        0      0 0.0.0.0:5093            0.0.0.0:*               LISTEN      off (0.00/0/0)
udp        0      0 0.0.0.0:5093            0.0.0.0:*                           off (0.00/0/0)
udp6       0      0 :::5093                 :::*                                off (0.00/0/0)
```
ライセンスのモニターを実行します。
```bash:ライセンスのモニターを実行
sudo ./lsmon64
```

「Feature name: "8400"」「Feature version: "184"」がでてくればConcurrentライセンスの認証が可能になっています。8400がModeler、184が18.4のバージョンを示しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/b70caf6c-f0ac-b016-a92a-34c718d4a46f.png)


# 7. Modelerクライアントからの接続
Modeler（IBM SPSS Modeler Client 64-bit 18.4 Microsoft Windows ）を導入し、ライセンス認証ウィザードを起動します。（Keyless版が導入されている場合は、アンインストールして通常版を導入しなおしてください。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/9999748e-598a-bda2-950a-6cef3ef8f534.png)

ライセンスがないと言われますが次へで進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/2626b084-5aed-7874-2d7e-ac7e0a4add24.png)



同時ユーザーライセンスを選んで次に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/4711edad-1e0d-6700-f131-ff14603ac3e9.png)


手順３でLicense Managerを導入したサーバーのサーバー名かipアドレスを入力し、次に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/13aa93a9-1dba-ce63-b068-c5b098de3471.png)



LicenseManagerと接続ができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/05f07ff6-2345-d491-9829-8f62815d5d5f.png)


これでModelerが起動できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/e42850b4-ce37-153a-5bb5-6dd9d91774fa.png)



lsmon64で、ライセンスがいくつ使われているかや誰が使っているかが確認できます。

```bash:ライセンスのモニターを実行
sudo ./lsmon64
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/ffec8ccf-1c85-ac5b-9abe-0ca8add21b5b.png)

# 8. ライセンスマネージャーの停止
lsrvdown64コマンドを実行します。


```bash:ライセンスマネージャーの停止
ps -ef|grep lserv
sudo ./lsrvdown64 localhost
ps -ef|grep lserv
```
```:結果
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ ps -ef|grep lserv
root        1715       1  0 07:07 ?        00:00:00 ./lserv64
lmuser      1737    1689  0 07:07 pts/0    00:00:00 grep --color=auto lserv

lmuser@SPSSLMTest-hkwd2:~/sentinellm$ sudo ./lsrvdown64 localhost

  Sentinel RMS Development Kit 9.6.0.0028 Server Shutdown Utility
  Copyright (C) 2019 SafeNet, Inc.


 lserv has been shut down on host localhost.
lmuser@SPSSLMTest-hkwd2:~/sentinellm$ ps -ef|grep lserv
lmuser      1765    1689  0 07:08 pts/0    00:00:00 grep --color=auto lserv
```
#### 参考：Windows 以外のシステムでのライセンス・マネージャーのインストール - IBM Documentation 

https://www.ibm.com/docs/ja/spss-modeler/18.1.0?topic=manager-installing-license-non-windows-systems