付録. 計算ノードへのSSHアクセス
資源タイプrt_F
もしくはrt_AF
を指定してノード占有でジョブを実行する場合には、qrsh
、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
オプションを使用するとジョブ投入時に指定したABCIグループに所属する他のユーザもSSHログインが可能になります。また、ジョブの実行が終了すると計算ノードにログインしているセッションは自動的に切断されます。
qsub
コマンド実行時のジョブスクリプトの例を以下に示します。
#!/bin/bash
#$-l rt_F=2
#$-l USE_SSH=1
#$-v SSH_PORT=2299
#$-v ALLOW_GROUP_SSH=1
#$-cwd
...
ジョブの実行が開始されたら、qstat
コマンドで割り当てられた計算ノードを確認します。
[username@es1 ~]$ qstat -j 12345 | grep exec_host_list
exec_host_list 1: g0001:80, g0002:80
g0001
とg0002
が割り当てられたことが確認できました。
次にインタラクティブノードから計算ノード(es1
→g0001
)に、オプションで指定したポート番号を用いてSSHログインします。
[username@es1 ~]$ ssh -p 2299 g0001
[username@g0001 ~]$
ジョブに割り当てられた計算ノード間(g0001
→g0002
)でSSHログインする際も同様です。
[username@g0001 ~]$ ssh -p 2299 g0002
[username@g0002 ~]$
qrsh
コマンドも同様に-l USE_SSH=1
オプションを指定して実行することができます。
[username@es1 ~]$ qrsh -g grpname -l rt_F=1 -l USE_SSH=1 -v SSH_PORT=2299
[username@g0001 ~]$ hostname -s
g0001
別のターミナルからSSHログインします。
[username@es1 ~]$ ssh -p 2299 g0001
[username@g0001 ~]$