「NIS」のインストール、設定を行います。
この「NIS」サーバを構築することによって、他のマシンとユーザ情報が共有することが出来ます。
このことから、ユーザの管理がとても簡単に行えます。
もし、今回構築するようなクラスタ環境でユーザ情報が共有出来ていないと、管理サーバに登録されているユーザIDと計算ノードに登録されているユーザIDがバラバラでどのユーザがどのIDで計算を実行しているのかなどが、ごっちゃになってしまい混乱しやすいです。
(1)管理サーバに「NIS」サーバをインストールする。
[root@kanri ~]# yum -y install ypserv
(2)「NIS」ドメイン指定を行う。
[root@kanri ~]# ypdomainname kanri.local
(3)管理サーバの「/etc/sysconfig/network」に「NIS」ドメインを追加する。
[root@kanri ~]# vi /etc/sysconfig/network #----以下を追加---- NISDOMAIN=kanri.local
(4)管理サーバの「/var/yp/Makefile」を編集する。
[root@kanri ~]# vi /var/yp/Makefile # MERGE_PASSWD=true|false MERGE_PASSWD=true ↓ # 変更 MERGE_PASSWD=false # MERGE_GROUP=true|false #MERGE_GROUP=true ↓ # 変更 MERGE_GROUP=false all: passwd group hosts rpc services netid protocols mail ↓ # 変更 all: passwd shadow group hosts rpc services netid protocols mai
(5)管理サーバに「/var/yp/securenets」を作成する。
[root@kanri ~]# vi /var/yp/securenets host 127.0.0.1 255.255.255.0 192.168.0.0
(6)管理サーバの「ypserv」と「yppasswdd」を起動する。
[root@kanri ~]# /etc/rc.d/init.d/ypserv start YP サーバーサービスを起動中: [ OK ] [root@kanri ~]# /etc/rc.d/init.d/yppasswdd start YP パスワードサービスを起動中: [ OK ] [root@kanri ~]# chkconfig ypserv on [root@kanri ~]# chkconfig yppasswdd on
(7)「NIS」データベースを作成する。
[root@kanri ~]# /usr/lib/yp/ypinit -m At this point, we have to construct a list of the hosts which will run NIS servers. localhost.localdomain is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with the list, type a . next host to add: localhost.localdomain next host to add: ← # Control+Dを押す。 The current list of NIS servers looks like this: localhost.localdomain Is this correct? [y/n: y] y ← # yを入力しEnter We need a few minutes to build the databases... Building /var/yp/kanri.local/ypservers... Running /var/yp/Makefile... gmake[1]: ディレクトリ `/var/yp/kanri.local' に入ります Updating passwd.byname... Updating passwd.byuid... Updating shadow.byname... Updating hosts.byname... Updating hosts.byaddr... Updating rpc.byname... Updating rpc.bynumber... Updating services.byname... Updating services.byservicename... Updating netid.byname... Updating protocols.bynumber... Updating protocols.byname... Updating mail.aliases... gmake[1]: ディレクトリ `/var/yp/kanri.local' から出ます localhost.localdomain has been set up as a NIS master server. Now you can run ypinit -s localhost.localdomain on all slave server.
(8)次に計算ノード側の設定を行う。計算ノードの「/etc/sysconfig/network」にNISDOMAINを追加する。
[root@node1 ~]# vi /etc/sysconfig/network # ----最終行に追加---- NISDOMAIN=kanri.local
(9)計算ノードの「/etc/sysconfig/authconfig」の設定を行う。
[root@node1 ~]# vi /etc/sysconfig/authconfig USENIS=no ↓ # 変更 USENIS=yes
(10)計算ノードの「/etc/yp.conf」に以下を追加する。
[root@node1 ~]# vi /etc/yp.conf #----最終行に追加---- domain kanri.local server kanri.local
(11)計算ノードの「/etc/nsswitch.conf」を変更する。
[root@node1 ~]# vi /etc/nsswitch.conf passwd: files shadow: files group: files ↓ # 変更 passwd: files nis shadow: files nis group: files nis hosts: files dns ↓ # 変更 hosts: files dns nis
(12)計算ノードの「ypbind」を起動する。
[root@node1 ~]# /etc/rc.d/init.d/ypbind start NIS ドメイン名 kanri.localを設定中: [ OK ] NIS ドメインにバインド中: [ OK ] NIS ドメインサーバーを検索中 [root@node1 ~]# chkconfig ypbind on
(13)無事に「NIS」の設定が行えたか確認する。
ここでは、テスト用ユーザーとして「mpi」を作成する。
[root@kanri ~]# useradd mpi [root@kanri ~]# passwd mpi [root@kanri ~]# cd /var/yp [root@kanri yp]# make gmake[1]: ディレクトリ `/var/yp/kanri.local' に入ります Updating passwd.byname... Updating passwd.byuid... Updating shadow.byname... Updating group.byname... Updating group.bygid... Updating netid.byname... gmake[1]: ディレクトリ `/var/yp/kanri.local' から出ます
(14)計算ノード側で「mpi」ユーザーにスイッチしてみる。
[root@node1 ~]# su - mpi [mpi@node1 ~]$
無事に「mpi」ユーザーにスイッチできれば問題ないので設定は完了です。
参考文献
1. http://www.server-world.info/query?os=CentOS_5&p=nis&f=1