nfsマウント
ネットワークを通じてクライアントホストにサーバの特定のディレクトリをマウントすることができるnfsマウント。bvmeにrikkyo_vineの/home/gauge以下をマントしたいので、とりあえずやってみた。
NFS のサーバー側(ファイルを提供する側)は portmap(もしくは rpc.portmap), rpc.mountd(もしくは mountd), rpc.nfsd(もしくは nfsd)という3つのプログラムを使ってファイルの提供をおこなう。上記全てが正しく動作していることが必要。
そして、それらのプログラムが参照する設定ファイルの記述で、どのディレクトリを公開するかを決め、また、ディレクトリにアクセスできるサーバーを決定する。
まずサーバ側。今でいうと提供する側なのでrikkyo_vineになる。
設定するファイルは以2つ。
・/etc/exports
・/etc/hosts.allow
IPの方が信頼できるので、/etc/hostsはいじりませんでした。
■■サーバ側
■/etc/exports
クライアントに export するファイルシステムを指定する。XXはクライアントのIPアドレス。
今は/home/gaugeをマウントさせてあげたいわけだから
/home/gauge 172.27.224.XX(rw,no_root_squash)
(rwは読み書きおk、no_root_squashはオプションで、クライアントの root が NFS サーバにアクセス要求したときに匿名を表す nobody に置き換えるかどうかを設定する)
を書き加える。
■/etc/hosts.allow
/etc/hosts.allow の設定
NFS は portmap を使うから、/etc/hosts.allow で クライアントがサーバの portmap を使ってもいいように設定する。
portmap : 172.27.224.XX : allow
変更を加えたら、
# /etc/rc.d/init.d/nfs stop
# /etc/rc.d/init.d/nfs start
または、
# /etc/rc.d/init.d/portmap restart
# /etc/rc.d/init.d/inet restart
# /usr/sbin/rpc.mountd
# /usr/sbin/rpc.nfsd
# /usr/sbin/exportfs -a
で変更を反映出来る。また、既にportmapを起動しているときは、
# exportfs -ra
で、/etc/exportsの変更を反映出来る。
NFSで起動しているソフト、デーモンは以下
プログラム バージョン プロトコル ポート 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 55685 status 100024 1 tcp 48852 status 100011 1 udp 875 rquotad 100011 2 udp 875 rquotad 100011 1 tcp 875 rquotad 100011 2 tcp 875 rquotad 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100021 1 udp 33017 nlockmgr 100021 3 udp 33017 nlockmgr 100021 4 udp 33017 nlockmgr 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 tcp 55161 nlockmgr 100021 3 tcp 55161 nlockmgr 100021 4 tcp 55161 nlockmgr 100005 1 udp 46327 mountd 100005 1 tcp 58391 mountd 100005 2 udp 46327 mountd 100005 2 tcp 58391 mountd 100005 3 udp 46327 mountd 100005 3 tcp 58391 mountd
■■クライアント側
# less /proc/filesystems | grep nfs
で、nfsが出てこなかったら、
#modprobe nfs
を実行、他のプログラムと関連性があるので、insmodよりもmodproveで行う。
とりあえず、マウント出来るかためしてみる。YYはサーバのIPアドレス。
# showmount -a 172.27.224.YY mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive # mount -t nfs -o rsize=1024,wsize=1024 172.27.224.YY:/home/gauge /mnt/gauge mount: RPC: Remote system error - No route to host
うーむ。
出来ない。
クライアントのポートマッパも起動してるんだけどなー。
とりあえずクライアント側もnfsを起動させてみる。
[root@bvme /]# /etc/rc.d/init.d/portmap stop Stopping portmapper: [ OK ] [root@bvme /]# /etc/rc.d/init.d/portmap start Starting portmapper: [ OK ] [root@bvme /]# /etc/rc.d/init.d/nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS daemon: [ OK ] Starting NFS mountd: [ OK ] [root@bvme /]# mount -t nfs -o rsize=1024,wsize=1024 172.27.224.YY:/home/gauge /mnt/gauge mount: RPC: Remote system error - No route to host
変わらない!
# 5/7 追記
/etc/rc.d/init.d/iptable stop
で、一時的にファイアウォールの設定をなくすことで出来た。