分散ファイルシステムNFSの環境を構築したメモ

はじめに

よく利用されている?NFSサーバを利用したことがなかったので、試してみました。
自分の良く利用する環境で、サーバをCentOS、クライアントをUbuntu上で用意しました。
必要になるコマンドをすべて記載し、詳細に設定する場合には、設定の書いてある
ページにリンクをつけておきます。
自分用のメモのつもりですが、ご指摘があればお願いします。


作業

NFSサーバー構築

サーバにCentOSを利用しているので、CentOS6.3上でNFSサーバを構築する方法をメモします。
ここを参考にしました。 CentOS 6 : NFSサーバー インストールと設定 : Server World

最初にパッケージからNFSサーバを導入します。

yum -y install nfs-utils

/etc/idmapd.confを変更します。
/etc/idmapd.confは、NFSv4 デーモン /usr/sbin/rpc.idmapd の設定ファイルらしいです。

# sed -i.bak1 's/#Domain.*/Domain = <domain>/g' /etc/idmapd.conf

設定ファイルにクライアントの設定を/etc/exportsに書き込みます。
現状では、読み書き可能な設定にし、root権限で操作できるようにしています。
詳しい設定については、ここからhttp://mountainbigroad.jp/fc5/nfs.html

# mv /etc/exports /etc/exports.bak1;cp /etc/exports.bak1 /etc/exports
# echo "/home/hoge/share ZZZ.YYY.XXX.WWW (rw,sync,no_root_squash,no_all_squash)" > /etc/exports

あとは、サービスを起動します。

# service rpcbind start
Starting rpcbind:                                          [  OK  ]
# service nfslock start
Starting NFS statd:                                        [  OK  ]
Starting NFS services:  exportfs: No options for /home/share ZZZ.YYY.XXX.WWW: suggest ZZZ.YYY.XXX.WWW(sync) to avoid warning
exportfs: No host name given with /home/share (rw,sync,no_root_squash,no_all_squash), suggest *(rw,sync,no_root_squash,no_all_squash) to avoid warning
                                                           [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]

自動起動の設定をしておきます。

# chkconfig rpcbind on
# chkconfig nfslock on
# chkconfig nfs on 
# chkconfig --list rpcbind
rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off
# chkconfig --list nfslock
nfslock         0:off   1:off   2:on    3:on    4:on    5:on    6:off
# chkconfig --list nfs
nfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfsクライアントの設定

NFSのクライアントにするマシンが全てUbuntuなので、Ubuntuのケースをメモ。

参考 tjun月1日記

最初に、NFSクライアントのインストールをパッケージから行います。

$ sudo apt-get install nfs-common

自動マウントにするため、/etc/fstab に設定を追記します。
以下のコマンド2行目の3ヶ所を書き変えて実行します

  1. AAA.BBB.CCC.DDDは、サーバのIP
  2. /home/hoge/shareは、サーバのディレクト
  3. /home/test/shareクライアントのマウント先のディレクト
# sudo mv /etc/fstab /etc/fstab.bak1; sudo cp /etc/fstab.bak1 /etc/fstab
# sudo echo "AAA.BBB.CCC.DDD:/home/hoge/share /home/test/share nfs rw,soft 0 0" >> /etc/fstab

設定ファイルが書けたら、/etc/fstabに記述されている
ファイル・システムをマウントします。

sudo mount -a  

これで、利用できるようになっているはずです。
ディスクの使用状況を表示するdfコマンドで確認します。
マウントできていたら、自分のローカルの下にマウント先の情報が表示されます。

$ df
AAA.BBB.CCC.DDD:/home/hoge/share
                     XXXXXX    XXXXXX   3% /home/test/share

おわりに

あまり、NFSを使ったことが無かったので、導入してみて勉強になりました。
簡単な設定であれば、構築が容易なので、必要があれば気軽に利用したいと思います。


実際にサービスを起動していると、若干セキュリティ面が気になるので、
今後勉強したいと思います。