ジョブ発行ノードには「openpbs-client-23.06.06-0.x86_64.rpm」パッケージをインストールします
途中で下記のようなメッセージが表示されます。
[root@client ~]# dnf localinstall ./openpbs-client-23.06.06-0.x86_64.rpm
:
*** PBS Installation Summary
***
*** Postinstall script called as follows:
*** /opt/pbs/libexec/pbs_postinstall client 23.06.06 /opt/pbs
***
*** No configuration file found.
*** Creating new configuration file: /etc/pbs.conf
*** =======
*** NOTICE:
*** =======
*** The value of PBS_SERVER in /etc/pbs.conf is invalid.
*** PBS_SERVER should be set to the PBS server hostname.
*** Update this value before starting PBS.
***
*** Replacing /etc/pbs.conf with /etc/pbs.conf.23.06.06
*** /etc/pbs.conf has been created.
***
***
*** The PBS commands have been installed in /opt/pbs/bin.
***
*** End of /opt/pbs/libexec/pbs_postinstall
:
[root@client ~]#
このメッセージに従って計算ノードに調整を加えます
PBS_EXEC=/opt/pbs
PBS_SERVER=openpbs
:
clientはこの部分の修正のみで、デーモンの起動もありません。
[saber@pbs-client ~]$ qstat -Q
Queue Max Tot Ena Str Que Run Hld Wat Trn Ext Type
---------------- ----- ----- --- --- ----- ----- ----- ----- ----- ----- ----
workq 0 0 yes yes 0 0 0 0 0 0 Exe*
[saber@pbs-client ~]$ qstat -B
Server Max Tot Que Run Hld Wat Trn Ext Status
---------------- ----- ----- ----- ----- ----- ----- ----- ----- -----------
openpbs 0 0 0 0 0 0 0 0 Active
[saber@pbs-client ~]$
と利用可能になります。
発行したジョブの標準出力、標準エラーは、発行したノードに返されます。
計算ノードからジョブ発行ノードへファイルがすんなりコピーされればいいのですが、
適切に設定がなされていないとエラーとなります。
簡単には rsh-server パッケージを入れて/etc/hosts.equivを設定すれば回避可能
[root@client ~]# yum install rsh-server
[root@client ~]# systemctl enable rexec.socket rsh.socket
[root@client ~]# systemctl start rexec.socket rsh.socket
[root@client ~]# cat /etc/hosts.equiv
+
[root@client ~]#
ジョブ管理ノード以外からのジョブを受け入れるために、ジョブ管理ノードのqmgrで下記を追加します
set server flatuid = True
firewallを調整します. 具体的には 32768-61000/tcp を開けます.
[root@client ~]# firewall-cmd --zone=public --permanent --add-port=32768-61000/tcp
[root@client ~]# firewall-cmd --reload
*計算ノードのポートを開放する必要はありません
qsubでジョブを投入する際、/etc/pbs.confの「PBS_SERVER」の値を参照して
ジョブ管理ノードにジョブを投入している。
別のPBSPro(ジョブ管理ノード)にジョブを投げたいのなら
[illya@client ~]$ PBS_SERVER=pbs2nd qsub sample.sh
あるいは
[illya@client ~]$ qsub -q workq@pbs2nd sample.sh
として実行する
qstatもまた環境変数「PBS_SERVER」を指定すれば別のPBSProの状態が見れます
[illya@client ~]$ PBS_SERVER=pbs2nd qstat -Q
Queue Max Tot Ena Str Que Run Hld Wat Trn Ext Type
---------------- ----- ----- --- --- ----- ----- ----- ----- ----- ----- ----
workq 0 0 yes yes 0 0 0 0 0 0 Exec
[illya@client ~]$