MATLABサーバインストール作業メモ
下記、作業記録は古いので、R2021b版を別記事にしてますので、そちらを参照ください。
MATLAB2009bをRedHat Enterpriseへインストール作業
前準備
- MATLABのDVD
- ディスク ライセンスサーバにするPC (RedHat Linux Enterprise x86_64)
- アカウント・ライセンス登録は、別担当者が行い、済んでいるので割愛 (ただし、インストールするPCのMACアドレスがHOST IDとして必要なので連絡しておく)
- ライセンスアカウント担当から、ライセンスファイル(license.dat)とインストレーションキーを調べておく
インストール作業
MATLABのDVDをインストールするPCに挿入し、マウント インストールするPC内に、ディレクトリ作成
# mkdir -p /usr/local/matlab/R2009b/
ライセンスデータを、このディレクトリにコピーしておく
このディレクトリから、インストーラを起動
# cd /usr/local/matlab/R2009b/
# sh /media/MATHWORKS_R2009B/install
「xsetupの許可がありません」のエラー
selinuxがenforcingになっているので、一時的に無効にしてみる また、グラフィックスライブラリが存在しないのでライブラリをインストール
# yum install libXp.x86_64
再度、インストーラ起動するが、失敗
どうやら、インストーラは、DVDからではなく、別場所から起動する必要があるとの情報があったため、インストーラをウェブ上からダウンロードして、起動
ダウンロードしたファイルを、/tmp/matlab/内に解凍し、インストーラを起動したところ、無事起動した グラフィック対話形式で、インストールを進めていくが、MATLABのライセンス情報でリストアップされないので、ここでハマる
ウェブ上からダウンロードしたインストーラだけでは、何か足りないのだと推測し、DVD上から全てのファイルをコピーし、 再度、インストーラを起動したところ、インストール完了まで進めた
起動確認
手動にて、ライセンスマネージャ起動し確認してみる
# /usr/local/matlab/R2009b/lmstart
rootなどスーパーユーザでは、起動できないので、ユーザを指定して起動
# ./lmstart -u username
尚、usernameのシェルがnologinでも起動に失敗する
MATLAB専用ユーザを作成
# adduser matlab
(ホームディレクトリは作成せず、シェルは/bin/csh)
再度、起動確認
# ./lmstart -u matlab
今度は、unknown hostのエラー
hostsファイルに自ホストが記述されていなかったので記述 vi /etc/hosts
xxx.xxx.xx.x tukubane
無事、起動。 ログ(/var/tmp/lm_TMW.logで確認)
# cat /var/tmmp/lm_TMW.log
10:30:43 (lmgrd) Starting vendor daemons …
10:30:43 (lmgrd) Started MLM (internet tcp_port 56261 pid 20952)
10:30:43 (MLM) FLEXnet Licensing version v11.6.1.0 build 66138 amd64_re3
10:30:43 (MLM) Server started on tukubane for: MATLAB
10:30:43 (MLM) Signal_Toolbox
10:30:43 (MLM) EXTERNAL FILTERS are OFF
10:30:43 (lmgrd) MLM using TCP-port 56261
10:33:11 (MLM) TCP_NODELAY NOT enabled
クライアント側から接続を確認 正常に接続出来るとログが残るので確認出来る
10:33:11 (MLM) OUT: “MATLAB” user@PC 11:12:46 (MLM) IN: “MATLAB” user@PC
環境設定
PC起動時に、MATLABデーモンを走らせるために、rcスクリプトを設定
/usr/local/matlab/R2009b/etc/flexnet.boot.linuxのファイルが用意されているので、これを利用する
# cp flexnet.boot.linux /etc/rc.d/init.d/flexnet
# chmod +x /etc/init.d/flexnet
flexnetを編集
# vi /etc/init.d/flexnet
下記3行を追加(コメントアウトになっててOK) # chkconfig: 35 90 90 # processname: flexnet # description: Start and Stop the FlexLM License Manager
下記、usernameとなっている箇所を、起動するユーザ名(matlab)に編集 case “$1” in start) if [ -f /etc/lmboot_TMW ]; then /etc/lmboot_TMW -u matlab && echo ‘MATLAB_lmgrd’ fi ;; stop)
chkconfigで登録
# chkconfig –add flexnet
# chkconfig flexnet on
これで、flexnetにてOn/Offが出来るので、確認
# /etc/init.d/flexnet stop (停止)
# /etc/init.d/flexnet start (起動)
サーバPCを再起動してみて、スクリプトが起動しているか確認
後のクライアント側の運用は、担当者に任せる 今回、リタンダントの設定も見つかったので、需要及び機会があったら、冗長化しても良いかも。