NISとNFSの設定
NISとは。NFSとは
NIS (Network Information Service)とは、ユーザー情報(ユーザー名やパスワード)をネットワーク上のコンピュータで共有するサービスです。一方、NFS (Network File System)とは、Linux上のネットワークでファイルを共有するシステムです。PCクラスターのシステムでは、/homeフォルダ(個人フォルダ)をNFSでPCクラスター内のすべてのコンピュータで共有し、ユーザー名やパスワードも1台のマシン(NISサーバ)からパスワード情報を各コンピュータに配布し、同じパスワードですべてのマシンにログインできる環境を作ります。
もっと、具体的に今回のインストール例を元に説明していきます。
マスターサーバー(192.168.1.1)の中のハードディスクにユーザー個人フォルダ/homeと化学計算用プログラムをインストールする予定の/optフォルダを作り、NFSで共有します。つまり、スレーブのクライアント(192.168.1.2-4)から/homeや/optを参照するときは、ネットワーク経由でマスターサーバーのハードディスクを参照することになります。また、スレーブのコンピュータにログインする場合も、NISにより、ユーザー名とパスワードをマスターサーバーに問い合わせることで、PCクラスタ内でユーザー情報とパスワードを共通にすることができます。
グラフィカルな設定と設定ファイルのeditorによる編集
例えば、PCクラスタ内のIPテーブルの設定で説明します。「ネットワークの設定」を呼び出して、ホストのタグをクリックし、以下のようにIPアドレスとホスト名(フルホスト名)とエイリアス(省略系のホスト名)を入力します。
このプログラムで設定をすると/etc/hostsの中身が編集されます。逆に/etc/hostsの内容をeditorで編集すると「ネットワークの編集」を開くとeditorで変更した内容が反映されます。グラフィカル(GUI)な画面で設定を行なったほうが楽なのですが、内容によっては、コマンドを直接入力したり、設定ファイルを直接編集しないと設定できない細かな設定値などがあるので、このページでは、いろいろ取り混ぜて記載しています。
(IPアドレスの決め方)
PCクラスタのシステムでマスターのみネットワークカードを追加(合計2枚)にし、1枚に通常のIPアドレスを設定し、外部との通信用にして、もう1つのネットワーク(マザーボードに付属)をPCクラスタの通信専用としました。PCクラスタ内では外部と通信するためのIPアドレスが必要なかったので、プライベートIPアドレス(192.168.XXXX)を使用しました。
マスターサーバーの設定
大元のマスターサーバ(親機)の設定です。
まず、NFSの設定から行ないます。 /etc/exportsファイルの編集
/home 192.168.1.0/255.255.255.0(rw,async)
/opt 192.168.1.0/255.255.255.0(rw,async)
/etc/exportsファイルは、NFSにより共有するフォルダや共有する相手、共有の方法を指定します。上記のように編集することで、/homeディレクトリと/optディレクトリをIPアドレスが、192.168.1.XXXの相手に書き込み可能な形で共有します。(255.255.255.0はサブネットマスクです。)
次にNFSのサービスを起動します。
デスクトップからサービスの設定を選択し、nfsの項目をチェックします。これで、コンピュータの再起動後、nfsのサービスが提供されます。
(参考)コマンド上でサービス(デーモン)の設定を行なうには、”chkconfig --list” ”chkconfig --level 345 nfs on”のような使い方をします。
次にNISの設定を行ないます。
おそらくdefaultでNISサーバとなるためのプログラム(サービス)がインストールされていないので、まずypservのインストールです。
Pirutと呼ばれるパッケージマネージャーを起動し、Searchメニューから「ypserv」をインストールします。これにより、「ypbind」「yppasswd」「ypserv」「ypxfrd」が、サービスの設定項目に追加されているので、これらにチェックをつけて、起動時に自動的にスタートするようにします。
サービスの「portmap」もチェックが入っていない場合はチェックして起動するようにして下さい。
(参考)コマンドラインで設定を行いたい場合は、”yum install ypserv” ”chkconfig ypbind on” ”chkconfig yppasswdd on”・・・
ypbindは、ネットワーク経由でユーザーアカウントとパスワードを問い合わせるサービス
ypservは、ypbindで問い合わされたユーザー情報に答えるNISサーバのサービス
yppasswdは、NISにおけるパスワードを変更するためのサービスで、NISにおいては、従来のpasswdコマンドでパスワードの変更を行なうのではなく、yppasswdコマンドでNISのパスワードを変更することになります。
ypxfrdは、
portmapはNISやNFSにおけるネットワークのプロトコル??
次に/etc/nsswitch.confと/etc/sysconfig/networkを編集します。
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# 省略
# To use db, put the "db" in front of "files" for entries you want to be
# looked up first in the databases
#
# Example:
passwd: files nisplus nis
shadow: files nisplus nis
group: files nisplus nis#passwd: files
#shadow: files
#group: fileshosts: files nisplus nis dns
#hosts: files dns# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
# 省略
赤字の部分の行でコメント#記号を入れ替えました。この設定ファイルは、ファイルを直接編集しなくても、グラフィカル(GUI)で認証の設定を選択して、NISを選択すれば、自動的に変更されるような気がします。
#/etc/sysconfig/network
HOSTNAME=master.localdomain
NETWORKING=yes
NISDOMAIN="NIS_domain名前"
NISDOMAINは、コンピューターネットワーク上のドメインネーム(localdomainなど)とは別にユニークな名前をつける必要があります。パスワードを管理するシステムですので、何か暗号か合言葉のようなものを個々で考えてNISDOMAIN名として下さい。
さらにNISサーバとなるためには、NISサーバのコンパイルが必要になります。
マスターサーバを再起動し、ypservなどの一連のサービスプログラムを起動させた後、root権限で/usr/lib64/yp/ypinit -mと実行します。NISサーバのホスト名が表示されれば、[ctrl]+Dで終了します。ypinitというコマンドは、NISシステムの初期設定を行なうコマンドで-mのオプションはマスターサーバの設定を意味します。ちなみにインストールしたOSがFedora Core 5 x86_64のem64tのOSであったため、ypinitコマンドは/uer/lib64/ypのディレクトリーにありましたが、32bit版だと/usr/lib/yp/ypinitにあると思います。
スレーブクライアントの設定
マスターサーバの設定が完了したなら、そのマスターと通信し、ファイルやプログラムを共有したり(NFS)、共通のパスワードでログインできるように(NIS)の設定を子機側でも行います。
Linuxでは、ハードディスクやCD-ROMなどをマウントすることで使用(アクセス)可能にしています。マスター側で/homeや/optのディレクトリーが共有可能に設定しているので、スレーブ側では、ハードディスクやCD-ROMと同じ要領でネットワーク上のデバイスとみなして、マウントしていきます。
設定そのものは至って簡単で起動時にシステムのマウントを管理している設定ファイル/etc/fstabのファイルをこのように書き換えるだけである。
/etc/fstabの中身
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
master:/opt /opt nfs rw,hard,intr 0 0
master:/home /home nfs rw,hard,intr 0 0
赤字の部分を追記することで/homeと/optをスレーブ側からも操作可能となります。
NISの設定は、最初の起動時、もしくは、認証の設定において
NISサポートを有効にするにチェックを入れて、NISの設定で、
NISドメイン名(サーバの設定で決めた名前)とNISサーバを入力するのみである。