CentOS 6
Sponsored Link

NFSサーバーの設定2015/01/10

 
任意のディレクトリを各サーバー間で共有できるようにするためにNFSサーバーを構築します。
ここでは以下のような環境を例に NFSサーバーを構築します。
+----------------------+          |          +----------------------+
| [    NFS Server    ] |10.0.0.30 | 10.0.0.31| [    NFS Client    ] |
|     dlp.srv.world    +----------+----------+     www.srv.world    |
|                      |                     |                      |
+----------------------+                     +----------------------+

[1] NFSサーバーの設定です。
[root@dlp ~]#
yum -y install nfs-utils
[root@dlp ~]#
vi /etc/idmapd.conf
# 5行目:コメント解除して自ドメイン名に変更

Domain =
srv.world
[root@dlp ~]#
vi /etc/exports
# マウント設定を記述

/home 10.0.0.0/24(rw,no_root_squash)
[root@dlp ~]#
/etc/rc.d/init.d/rpcbind start

Starting rpcbind:                         [  OK  ]
[root@dlp ~]#
/etc/rc.d/init.d/nfs start

Starting NFS services:                    [  OK  ]
Starting NFS mountd:                      [  OK  ]
Starting NFS daemon:                      [  OK  ]
Starting RPC idmapd:                      [  OK  ]

[root@dlp ~]#
chkconfig rpcbind on

[root@dlp ~]#
chkconfig nfs on

[2] IPTables を有効にしている場合は、必要なポートの許可が必要です。
NFS で利用される RPC サービス用のポートは動的に割り当てられるため、固定設定に変更したのちに、ポート許可の設定をします。 なお、下例の「-I INPUT *」の箇所は自身の環境を確認して、適切な値に置き換えてください。
[root@dlp ~]#
vi /etc/sysconfig/nfs
# 20,22行目:コメント解除

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
# 57行目:コメント解除

MOUNTD_PORT=892
# 63行目:コメント解除

STATD_PORT=662
[root@dlp ~]#
/etc/rc.d/init.d/rpcbind restart

[root@dlp ~]#
/etc/rc.d/init.d/nfs restart
# 111, 2049 および固定設定したポートを許可

[root@dlp ~]#
for port in 111 662 892 2049 32803; do iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport $port -j ACCEPT; done

[root@dlp ~]#
for port in 111 662 892 2049 32769; do iptables -I INPUT 6 -p udp -m state --state NEW -m udp --dport $port -j ACCEPT; done

exports の主なオプションです。
オプション 説明
rw 読み込みと書き込みの両方を許可する
ro 読み込みを許可する
sync 同期書き込みを有効にする (デフォルト)
async 非同期書き込みを有効にする
secure 1024番ポートより小さいポートからのリクエストのみ受け付ける (デフォルト)
insecure 1024番ポート以降のポートからのリクエストも受け付ける
wdelay 別の書き込み要求が実行中/発生予定の場合、書き込みを遅らせる (デフォルト)
no_wdelay wdelay を無効にする。async と合わせて設定する
subtree_check サブツリーのチェックを行う。(デフォルト)
一般的な指針として、多くは読み込みのみでファイル名の変更があまり行われないようなディレクトリをエクスポートする場合は、 サブツリーチェック有効の方がよいとされる。
no_subtree_check サブツリーのチェックを無効にする。
一般的な指針として、ホームディレクトリのような細かなファイルが多く、変更も多いディレクトリをエクスポートする場合は、 サブツリーのチェックを無効にした方がよいとされる。
root_squash root UID/GID を anonymous UID/GID にマッピングする
no_root_squash root を anonymous UID/GID にマッピングしない
all_squash 全 UID/GID を anonymous UID/GID にマッピングする
no_all_squash 全 UID/GID を anonymous UID/GID にマッピングしない (デフォルト)
anonuid=UID 指定の UID を anonymous UID にマッピングする
anongid=GID 指定の GID を anonymous GID にマッピングする

関連コンテンツ