付録. 計算ノードへのSSHアクセス
資源タイプrt_QF
を指定してノード占有でジョブを実行する場合には、qsub
コマンド実行時のオプション指定により、計算ノードへのSSHログインを有効にすることができます。
オプション | 説明 |
---|---|
-l USE_SSH=1 | 計算ノードへのSSHログインを有効にする。 |
-v SSH_PORT=port | SSHのポート番号を指定する(デフォルト: 2222)。2200-2299 の範囲で指定可。 |
-v ALLOW_GROUP_SSH=1 | ジョブ投入時に指定したABCIグループ内の他アカウントへSSHログインを許可する。 |
このオプションを有効にすると、インタラクティブノードから計算ノードへのSSHログインが可能になります。 複数ノードを使用するジョブを実行している場合は、計算ノード間で相互にSSHログインが可能になります。
デフォルトでは、SSHログインできるのは、ジョブを投入したユーザのみです。-v ALLOW_GROUP_SSH=1
オプションを使用するとジョブ投入時に指定したシステムHグループに所属する他のユーザもSSHログインが可能になります。また、ジョブの実行が終了すると計算ノードにログインしているセッションは自動的に切断されます。
qsub
コマンド実行時のジョブスクリプトの例を以下に示します。
#!/bin/bash
#PBS -l rt_QF=2
#PBS -l USE_SSH=1
#PBS -v SSH_PORT=2299
#PBS -v ALLOW_GROUP_SSH=1
cd ${PBS_O_WORKDIR}
...
ジョブの実行が開始されたら、qstat
コマンドで割り当てられた計算ノードを確認します。
[username@qes01 ~]$ qstat -f 12345 | grep exec_host_list
exec_host_list 1: qh001:80, qh002:80
qh001
とqh002
が割り当てられたことが確認できました。
次にインタラクティブノードから計算ノード(qes01
→qh001
)に、オプションで指定したポート番号を用いてSSHログインします。
[username@qes01 ~]$ ssh -p 2299 qh001
[username@qh001 ~]$
ジョブに割り当てられた計算ノード間(qh001
→qh002
)でSSHログインする際も同様です。
[username@qh001 ~]$ ssh -p 2299 qh002
[username@qh002 ~]$
qsub -I
コマンドも同様に-l USE_SSH=1
オプションを指定して実行することができます。
[username@qes01 ~]$ qsub-I -W group_lis=grpname -l rt_QF=1 -l USE_SSH=1 -v SSH_PORT=2299
[username@qh001 ~]$ hostname -s
qh001
別のターミナルからSSHログインします。
[username@qes01 ~]$ ssh -p 2299 qh001
[username@qh001 ~]$