コンテンツにスキップ

付録. 計算ノードへのSSHアクセス

資源タイプrt_Fもしくはrt_AFを指定してノード占有でジョブを実行する場合には、qrshqsubコマンド実行時のオプション指定により、計算ノードへの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

g0001g0002が割り当てられたことが確認できました。

次にインタラクティブノードから計算ノード(es1g0001)に、オプションで指定したポート番号を用いてSSHログインします。

[username@es1 ~]$ ssh -p 2299 g0001
[username@g0001 ~]$ 

ジョブに割り当てられた計算ノード間(g0001g0002)で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 ~]$