パスフレーズなしのSSHログイン設定メモ
(1)クライアント(ログインユーザはwaku)でssh2のRSA暗号鍵を生成
※ パスフレーズを聞いてくるが、なしでよければそのままリターンでOK
(2)公開鍵(*.pub)のほうを接続したいサーバにコピーする。
楽をしたければ、以下のコマンド1つでOK。
もしくは以下のように、クライアントからscpなどをつかって公開鍵をコピーし、その後、サーバー側で設定する。
※ サーバ自身も計算ノードに使う場合は、サーバ自身にたいしてもやっておくこと。
※ 同様に、各クライアント→サーバ、各クライアント→他のクライアントもパスフレーズなしで認証できるようにしておく必要がある(重要)。
@クライアント
$ scp ~/.ssh/id_dsa.pub waku@SERVER
@サーバ(コピーした公開鍵をauthoized_keysに追記)
$ cat ~/id_dsa.pub >> authorized_keys server
$ chmod 600 authorized_keys
$ rm ~/id_dsa.pub
(3)パスワードなしでsshログインできるか確認
$ ssh waku@ensis13
Last login: Mon Jul 13 08:55:12 2015 from ensis10
[waku@ensis13 ~]$
NFS設定メモ
※ mpirunには--preload_binaryというオプションがあるので、sshでホスト名を使ったログインができていれば、いちいちNFSマウントしていなくても実行バイナリを配ってくれるらしい。
※ 今回は真面目に、ジョブサーバの特定ディレクトリをNFSで公開し、計算ノードからNFSクライアントとしてマウントすることにする。
(1)使用条件
NFSサーバ(ジョブサーバ、マウントされる側)
ensis10: /home/waku/exports
NFSクライアント(マウントする側)
ensis{12/13/14}: /home/waku/exports
(2)NFSサーバの設定
/etc/exportsに以下を記述
/home/waku/exports 192.168.0.12(rw,no_root_squash) 192.168.0.13(rw,no_root_squash) 192.168.0.14(rw,no_root_squash)
exportsを確認
exportfs -v
/home/waku/exports
192.168.0.12(rw,wdelay,no_root_squash,no_subtree_check)
/home/waku/exports
192.168.0.13(rw,wdelay,no_root_squash,no_subtree_check)
/home/waku/exports
192.168.0.14(rw,wdelay,no_root_squash,no_subtree_check)
nfs, rpcbindの設定・起動
# chkconfig rpcbind on
# chkconfig nfslock on
# chkconfig nfs on
# /etc/init.d/nfs start
(3)NFSクライアントの設定
# /etc/rc.d/init.d/rpcbind start
# chkconfig rpcbind on
# /etc/rc.d/init.d/netfs start
# chkconfig netfs on
$ mkdir /home/waku/exports
手動マウントしてみる
# mount -t nfs 192.168.0.10:/home/waku/exports /home/waku/exports
うまくいけば、
# vi /etc/fstab
192.168.0.10:/home/waku/exports /home/waku/exports nfs _netdev,rw,async,hard,intr 0 0
(注)ここでサーバ、クライアントは同じGID/UIDを持つものとしているので(事前に同じGID/UIDに変更している)、同じユーザwakuで読み書きできるはずである。ただし、NFSv4(SL6/CentOS6)のバグ?のようなものがあり、nobody.nobodyでマッピングされてしまうことがある。対処方法は、以下のようにすれば良い。
# vi /etc/idmapd.conf
Domain = localdomain (記述を追記)
# /etc/rc.d/init.d/rpcimapd restart
# nfsidmap -c (nfsidのキャッシュクリア)
# /etc/rcd./init.d/netfs restart