複数インスタンスでライセンスを共有する場合に必要な設定
これは InterSystems FAQ サイトの記事です。
複数インスタンスでライセンスを共有する場合、ライセンスを統合管理するライセンスサーバの設定が必要です。
1. ライセンスサーバの構成
1) ライセンスキーの配置
ライセンスキー(IRIS.key/cache.key)は、すべての インスタンスの <インストールディレクトリ>/mgr に配置してください。
ただし、IRIS 2021.1 以降のバージョンをお使いの場合は KeyDirectory を指定することで全てのインスタンスへのライセンスキーの配置は必要なくなります。
KeyDirectory を指定して各インスタンスにライセンスキーをロードする場合、LicenseID の設定が必要になります。
各インスタンスの開始時にローカルの iris.key ファイルが検出されない場合、LicenseID を使用してライセンスサーバにライセンスキーを要求します。
LicenseID は、管理ポータルの以下のメニューで設定します。
管理ポータル:
[システム管理] > [構成] > [追加設定] > [開始]:LicenseID
2) ライセンスサーバの設定
ライセンスサーバの設定は、全ての構成で同一のライセンスサーバを使用するように定義します(全ての構成で設定します)。
ライセンスサーバは、管理ポータルの以下のメニューで設定します。
管理ポータル:
[システム管理] > [ライセンス] > [ライセンスサーバ]
既定のLOCAL を更新、または削除(+新規作成)して登録します。
【注意】
リモート・ライセンス・サーバがファイアウォールで保護されている場合、UDP トラフィックのためにライセンス・サーバ・ポートが開かれている必要があります。
設定項目詳細については、ドキュメントをご参照ください。
ライセンスサーバの構成について【IRIS】
ライセンスサーバの構成について
3) 全ての構成の再起動
ライセンスキーの配布と、ライセンスサーバの設定が完了したら、一旦全ての構成を停止します。
その後、ライセンスサーバを設定した構成から開始し、正しいライセンスサーバに接続していることを確認した後で、ライセンスサーバ以外の構成を開始します。
確認には、%SYSTEM.License クラスの ShowServer()メソッドを使用します。実行例は以下の通りです。
USER>do $system.License.ShowServer()
アクティブなライセンス・サーバアドレス = XXX.XXX.XXX.XXX ポート = XXXX
このほかにも、ライセンス・サーバが管理しているライセンスの使用状況を確認するためのユーティリティが、%SYSTEM.License クラスにあります。
詳細はクラスリファレンスか、以下ドキュメントをご参照ください。
ライセンス使用状況を確認するユーティリティについて【IRIS】
ライセンス使用状況を確認するユーティリティについて
また、ライセンスサーバのフェールオーバを行う目的で、複数のライセンスサーバを設定することもできます。
詳細は、添付資料をご参照ください。
2. ライセンスの監視
ライセンスサーバの設定を行ったインスタンスのうち、任意の1つインスタンスで以下のコマンドを発行します。
USER>do $system.License.DumpKeys()
License server Client data (1 key[s]) dumped to: c:\intersystems\iris\mgr\dumpkeys.txt at XXX
出力ファイル dumpservers.txt はライセンスサーバが稼働するインスタンスの mgr ディレクトリに生成されます。
内容は以下のようになります(ライセンスサーバが稼働するインスタンスで確認してください)。
USER>!type c:\intersystems\iris\mgr\dumpkeys.txt
例:
Dump of clients using the following key:
LicenseCapacity=InterSystems IRIS 2022.1, Enterprise:...
CustomerName=XXX
OrderNumber=XXX
ExpirationDate=XXX
AuthorizationKey=XXX
MachineID=
LicenseID=
:
Client LU Connections Server Instance
192.29.xx.xxx 1 2 127.0.0.1 IRIS
192.29.xx.xxx 1 5 192.29.xx.xxx IRIS
Total connections = 7, License units consumed = 2
USER>
3. ライセンスの更新
IRIS 2021.1 以降のバージョンで各インスタンスのライセンスキーを更新する場合、ライセンスサーバの KeyDirectory 内のキーファイルを置き換えて有効化したあと、ReloadKeys^%SYS.LICENSE を実行します。
%SYS>d ReloadKeys^%SYS.LICENSE
1 key file(s) uploaded to license server.
各インスタンスのライセンスモニタ (^LMFMON) が、構成されている LicenseID に対して異なるキーがあるかどうかを 30 分おきに確認し、ある場合はアップグレードを実行しようとします。
アップグレードされると、message.log には以下のように記録され、ライセンスが更新されます。
11/21/22-14:46:24:745 (12928) 0 [Utility.Event] LMF Info: Connected to license server 172.18.101.2,4002
【注意】
場合よっては、インスタンスの再起動が必要な時があります。その場合、ライセンスモニタは以下のようなログを記録します。
再起動を行うことで、新しいラインセンスキーがロードされます。
11/21/22-13:40:30:004 (10448) 1 [Utility.Event] LMF Warning: New license key for ID ***** downloaded but could not activate.