| ホスト名 | IP アドレス | |
|---|---|---|
| サーバ | hostA | 123.45.67.89 |
| クライアント | hostB | 123.45.67.90 |
rpcinfo か ps で portmap が起動していることを確認します。# rpcinfo -u localhost portmap program 100000 version 2 ready and waitingもしくは# ps aux | grep portmap bin 167 0.0 0.1 780 412 ? S 13:11 0:00 portmap
クライアントに export するファイルシステムを指定します。 /home を export する場合は次の通りです。/home 123.45.67.90(rw,root_squash) /home @hogehoge(ro,root_squash)rw は読み書き可能、ro は読むだけの export です。 root_squash はクライアントの root が NFS サーバにアクセス 要求したときに匿名を表す nobody に置き換えるオプションです。 NIS のドメインネームが設定されているときは 2行目のような設定ができる。。。はずなんですが、 今のところ失敗しています。なお、/etc/exports ファイルを変更するたびに nfsd に 変更されたことを教えて上げる必要があります。 著者のやったかぎりでは、nfsd (と mountd)を起ち上げ直すのが 手っとり早いようです。
# /etc/rc.d/init.d/nfs stop # /etc/rc.d/init.d/nfs start先達の知恵によりますと、#kill -HUP `cat /var/run/mountd.pid`でもOKだそうです。 スクリプトファイル /etc/rc.d/init.d/nfs を見て nfsd と mountd が /etc/rc.d/init.d/nfs で同時に起ち上がるようならこれでOKです。
NFS は portmap を使いますので、/etc/hosts.allow で クライアントがサーバの portmap を使ってもいいように設定します。portmap : 123.45.67.90 : allow
# /usr/sbin/rpc.mountd # /usr/sbin/rpc.nfsd確認は# rpcinfo -u localhost mount # rpcinfo -u localhost nfsです。
クライアント側では export されたファイルシステムをマウントします。 /home をマウントするには次のようにします。# mv /home /local_home # mkdir /home # mount -o rsize=1024,wsize=1024,nosuid hostA:/home /homersize、wsize はそれぞれ読み込み、書き込みのバイト単位です。 NFS を早くするための設定方法は次の項を参照して下さい。 マウントの解除は# umount /homeです。
mount コマンドの rsize,wsize で設定できる数値は 1024 以上 16384 以下の 1024 の倍数です。 これを適当に設定することにより NFS のスピードを早くできます。 著者の環境では4倍も違うことがありました。 スピードテストの仕方は次の通りです。●書き込みテスト
time dd if=/dev/zero of=/home/testfile bs=16k count=4096
●読み込みテスト
time dd if=/home/testfile of=/dev/null bs=16k
mountd nfsdの二つです。これを /etc/rc.d 以下で自動的に起動するように設定します。
# chkconfig --add nfs # chkconfig --level 3 nfs on/etc/rc.d/init.d/nfs を見るとわかりますが、nfs を立ち上げると うちのマシンではついでに mountd も起ち上がるようになってます。
hostA:/home /home nfs rsize=4096,wsize=4096,nosuid 0 0