新しくサーバーを立てたところerror 21が返ってくる

今まで使っていた古いサーバーから新しいサーバーにmatlabライセンスマネージャを入れ替えたところクライアントPCからmatlabを起動するとerror 21が返ってくるようになりました.
これまで古いサーバーは2019bまでしかアップデートしていなかったため2022aを使えるようサーバーごと取り替えました.
しかし,サーバーマシン上では2022aが動くもののクライアントPC側ではerror 21が出て起動できません.
どうすれば解消しますか?

 Accepted Answer

Kojiro Saito
Kojiro Saito on 9 Jun 2022
Edited: Kojiro Saito on 9 Jun 2022

0 votes

こちらの回答によると、ライセンスエラー21はライセンスマネージャーのライセンスファイル (license.dat)で書かれているMATLABバージョンがクライアントMATLABよりも古い場合に起こる事象のようです。
R2022aに対応したライセンスファイルをライセンスセンター(https://jp.mathworks.com/licensecenter/)からダウンロードして、ライセンスマネージャーが使用するライセンスに差し替える必要があります。
手順の詳細は下記に詳しく書いてあります。
更新
クライアントPCだけで発生しているとのことで、MATLABインストールのlicensesフォルダにあるnetwork.licファイルで新しいサーバーのホスト名になっているか確認いただけますか。
例: C:\Program Files\MATLAB\R2022a\licenses\network.lic
この中にライセンスマネージャーが動いているマシンのホスト名とMACアドレスを書いてあります。
SERVER ホスト名 xxxx 27000
USE_SERVER
ホスト名がサーバーのホストIDxxxxがサーバーのMAC アドレスです。
ライセンスマネージャーのマシンで、etc/license.datに書いてある情報と同じです。
network.licが古いサーバーのホスト名のままになっていると、ライセンスエラー21が起こりえます。

11 Comments

mochi
mochi on 9 Jun 2022
提示していただいた記事はライセンスマネージャを新しくインストールする際に読ませていただきました.
それらの記事ではサーバーマネージャー周りのことを書いてありますが,サーバーマシン上では2022aが動くということはクライアントPC側の問題なのではないか私は考えているのですが何か御存知のことはありませんか?
Kojiro Saito
Kojiro Saito on 9 Jun 2022
いただいた情報で回答を更新しました。
mochi
mochi on 9 Jun 2022
network.licファイルを確認したところ新しいものに切り替わっていました.
MATLABの起動オプションで明示的にnetwork.licを指定してみてはいかがでしょう。
matlab.exe -c "C:\Program Files\MATLAB\R2022a\licenses\network.lic"
mochi
mochi on 9 Jun 2022
教えていただいた方法を試したところ,画像のようなエラーに変わりました
mochi
mochi on 9 Jun 2022
上記のエラーは私がMATLABをEに保存しているから起こることがわかりました
そのため正しいパスを指定したところerror 15がでました.
Eドライブにインストールしていることで、matlab.exeのパスもフルパスで指定してもエラー15が生じますか?
仮にE:\MATLAB\R2022a にインストールしているとします。
コマンドプロンプトで
e:
E:\MATLAB\R2022a\bin\matlab.exe -c "E:\MATLAB\R2022a\licenses\network.lic"
エラー15はライセンスマネージャーのマシンの名前解決ができないとかTCPポート(デフォルトは27000)にアクセスできない場合に生じます。
こちらのリンクの「If you receive this error on a client installation of MATLAB」欄が参考になります。
mochi
mochi on 9 Jun 2022
そのコマンドを入力しても同じエラーがおきました.
リンク内の記事からpingでユーザー名を入力しても通らず,ipアドレスだと通ることからlicense.batとnetwork.licの記述をipアドレスに変更し,サーバー側のTCPポート27000をmatlabと名付け開放しましたが
以前同じエラーが出続けます.
ホスト名の名前解決ができていなかったためにライセンスエラー15が出ていたということですね。
IPアドレスでpingが通るので、license.datとnetwork.licをホスト名ではなくIPアドレスに変更すれば良いですが、まだエラー15が出るのはTCPポートがブロックされているためと思われます。
ライセンスマネージャーはTCPポートを2つ使用します。1つはライセンスマネージャーのデーモン(lmgrd) で、デフォルトでは27000です。もう1つは、ベンダー デーモンのMLMで、こちらはデフォルトでは空いているランダムなポート番号を使用します。
こちらの回答のように、ライセンスマネージャー側のlicense.datファイルでport=27001と指定します。
下記のようなイメージです。DAEMON行にあるフルパスは実際のmlm.exeがあるパスに置き換えてください。
license.datの例
SERVER xxx ID=yyy 27000
DAEMON MLM "C:\Program Files\MATLAB\R2022a\etc\win64\mlm.exe" port=27001
USE_SERVER
license.dat変更後にライセンスマネージャーのサービスを再起動し、ライセンスマネージャーのマシンのWindowsファイアウォールで受信規則にTCPポート27001の開放を追加してからクライアントPCからMATLAB起動を試してみてください。
mochi
mochi on 10 Jun 2022
解決しました,長くお付き合いいただき本当にありがとうございました.
Kojiro Saito
Kojiro Saito on 10 Jun 2022
無事に解決して良かったです。回答の採用もありがとうございました。

Sign in to comment.

More Answers (0)

Products

Release

R2022a

Tags

Asked:

on 9 Jun 2022

Commented:

on 10 Jun 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!