>> HOME >> FC5 MENU >> Linux ファイルサーバー (NFS)
ネットワークファイル共有システム ( NFS : Network File System ) により、ディレクトリを共有し、Linux が稼動する別のサーバーからアクセスできる Linux ファイルサーバを構築します。
ここでは、
共有するディレクトリを持つサーバー (IP:192.168.1.11) を NFS サーバー
共有ディレクトリにアクセスするサーバー (IP:192.168.1.12) を NFS クライアント
と呼びます。

1. NFS サーバーの起動と自動起動設定
1 ) nfs の起動
2 ) nfs の自動起動設定
2. NFS サーバーの設定
1 ) NFS サーバーの設定
2 ) NFS サーバーの設定反映
2 ) NFS サーバーの設定確認
3. NFS クライアントの設定
1 ) 必要なシステムサービスの起動
1 ) 共有ディレクトリのマウント
2 ) 共有ディレクトリのアン・マウント
3 ) 共有ディレクトリの自動マウント
1. NFS サーバーの起動と自動起動設定
1 ) nfs の起動
# portmap が稼動していなければ、起動
[root@linux ~]# service portmap start 
portmap を起動中:                                          [  OK  ]

# nfslock が稼動していなければ、起動
[root@linux ~]# service nfslock start 
nfslock を起動中:                                          [  OK  ]

# nfs を起動
[root@linux ~]# service nfs start 
NFS サービスを起動中:                                      [  OK  ]
NFS クォータを起動中:                                      [  OK  ]
NFS デーモンを起動中:                                      [  OK  ]
NFS mountd を起動中:                                       [  OK  ]
RPC idmapd を起動中:                                       [  OK  ]
2 ) nfs の自動起動設定
# portmap の自動起動設定
[root@linux ~]# chkconfig portmap on 
[root@linux ~]# chkconfig --list portmap 
portmap         0:off   1:off   2:on    3:on    4:on    5:on    6:off

# nfslock の自動起動設定
[root@linux ~]# chkconfig nfslock on 
[root@linux ~]# chkconfig --list nfslock 
nfslock         0:off   1:off   2:on    3:on    4:on    5:on    6:off

# nfs の自動起動設定
[root@linux ~]# chkconfig nfs on 
[root@linux ~]# chkconfig --list nfs 
nfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
2. NFS サーバーの設定
1 ) NFS サーバーの設定
/etc/exports という設定ファイルを編集し、共有するディレクトリと、そのアクセス許可を設定します。
以下は、同一の LAN (192.168.1.0 〜 192.168.1.255) に接続された Linux サーバーに、/home/nfs というディレクトリを読み書き可能に設定する例です。
[root@linux ~]# vi /etc/exports 

# 以下を追加
/home/nfs      192.168.1.0/255.255.255.0(sync,rw,no_root_squash)
公開先は、ドメイン名やホスト名も指定可能です。また、書き込みを禁止するには 「(rw)」 「(ro)」 に変えます。
[root@linux ~]# vi /etc/exports 

# *.mountainbigroad.jp に読み書きを許可
/home/nfs      *.mountainbigroad.jp (sync,rw,no_root_squash)
# host-a に読み込みのみを許可
/home/nfs      host-a (ro)
主なオプション一覧。詳しくは "man exports" を参照してください。
roファイルの読み込みのみを許可
rw読み書きを許可
sync書き込んだデータを共有ディレクトリに即座に書き込み
async書き込んだデータを一旦サーバーのメモリに蓄積し、随時書き込み(既定値)
root_squashクライアントからのアクセスを匿名ユーザー(nobody)にマッピング(既定値)
途中でサーバーが再起動などするとデータが壊れる場合がある
no_root_squashクライアントからのroot権限での接続を、そのままroot権限によるアクセスとして処理
all_squash全てのアクセスをnobodyからのアクセスとして処理
anonuid=uidroot_squashあるいはall_squashがオプションの場合にanonymousの利用者IDを指定
anongid=gidroot_squashあるいはall_squashがオプションの場合にanonymousのグループIDを指定
2 ) NFS サーバーの設定反映
[root@linux ~]# exportfs -a 
3 ) NFS サーバーの設定確認
# エキスポートテーブルの内容確認
[root@linux ~]# exportfs -v 
/home/nfs       192.168.1.0/255.255.255.0(rw,wdelay,no_root_squash)
3. NFS クライアントの設定
1 ) 必要なシステムサービスの起動
portmap nfslock のシステムサービスが稼動しているか確認します。稼動していなければ起動します。
# portmap が稼動していなければ、起動
[root@linux ~]# service portmap start 
portmap を起動中:                                          [  OK  ]

# nfslock が稼動していなければ、起動
[root@linux ~]# service nfslock start 
nfslock を起動中:                                          [  OK  ]

# portmap の自動起動設定
[root@linux ~]# chkconfig portmap on 
[root@linux ~]# chkconfig --list portmap 
portmap         0:off   1:off   2:on    3:on    4:on    5:on    6:off

# nfslock の自動起動設定
[root@linux ~]# chkconfig nfslock on 
[root@linux ~]# chkconfig --list nfslock 
nfslock         0:off   1:off   2:on    3:on    4:on    5:on    6:off
2 ) 共有ディレクトリのマウント
例として、NFS サーバーの共有ディレクトリを /mnt/nfs にマウントします。
# マウントポイントが無い場合には、事前に作成
[root@linux ~]# mkdir -p /mnt/nfs 

# マウント実施
[root@linux ~]# mount -t nfs 192.168.1.11:/home/nfs /mnt/nfs 

# マウントの確認
[root@linux ~]# df -k 
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      36693560   2144588  32654984   7% /
/dev/hda1               101086     14362     81505  15% /boot
tmpfs                   257820         0    257820   0% /dev/shm
192.168.1.11:/home/nfs
                      27710208   2050912  24228992   8% /mnt/nfs
3 ) 共有ディレクトリのアン・マウント
# アン・マウント実施
[root@linux ~]# umount /mnt/nfs 

# アン・マウントの確認
[root@linux ~]# df -k 
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      36693560   2144588  32654984   7% /
/dev/hda1               101086     14362     81505  15% /boot
tmpfs                   257820         0    257820   0% /dev/shm
4 ) 共有ディレクトリの自動マウント
システム起動時に自動的にマウントしたい場合には、/etc/fstab に次のように設定を加えます。
[root@linux ~]# vi /etc/fstab 

192.168.1.11:/home/nfs  /mnt/nfs                nfs     defaults        0 0