NFS設定 · 2 min read · Feb 12, 2026
Scientific Linux 6.3でのNFSサーバーとクライアントの設定
このガイドでは、Scientific Linux 6.3でNFSサーバーとNFSクライアントを設定する方法を説明します。NFSはNetwork File Systemの略で、NFSを通じてクライアントはNFSサーバー上のリモート共有にアクセス(読み取り、書き込み)でき、まるでローカルハードディスク上にあるかのように扱えます。
1 前提条件
ここでは2つのScientific Linuxシステムを使用しています:
- NFSサーバー: server.example.com, IPアドレス: 192.168.0.100
- NFSクライアント: client.example.com, IPアドレス: 192.168.0.101
2 NFSのインストール
サーバー:
NFSサーバーで次のコマンドを実行します:
yum install nfs-utils nfs-utils-lib次に、NFSサーバーのシステム起動リンクを作成し、起動します:
chkconfig --levels 235 nfs on
/etc/init.d/nfs startクライアント:
クライアントでは、次のようにNFSをインストールできます(これは実際にはサーバーと同じです):
yum install nfs-utils nfs-utils-lib3 サーバー上のディレクトリのエクスポート
サーバー:
クライアントに/homeと/var/nfsディレクトリをアクセス可能にしたいので、これらをサーバーで「エクスポート」する必要があります。
クライアントがNFS共有にアクセスするとき、通常はユーザーnobodyとして行われます。通常、/homeディレクトリはnobodyが所有していないため(その所有権をnobodyに変更することはお勧めしません!)、/homeで読み取りと書き込みを行いたいので、NFSにアクセスをrootとして行うように指示します(/home共有が読み取り専用であれば、これは必要ありません)。/var/nfsディレクトリは存在しないため、作成して所有権を変更できます。私のテストでは、ユーザーとグループnobodyは両方とも私のScientific Linuxテストシステム(サーバーとクライアント)でID 99を持っていました。NFSクライアントから/var/nfsに書き込もうとしたとき、Permission deniedエラーが発生したため、すべてのユーザーがそのディレクトリに書き込めるようにchmod 777 /var/nfsを実行しました。その後、クライアントから/var/nfsに書き込むことができ、クライアントで/var/nfsに書き込まれたファイルはnobodyユーザーとグループに所有されているように見えましたが、サーバーでは(存在しない)ID 65534のユーザーとグループに所有されていました。そこで、サーバー上の/var/nfsの所有権をユーザー/グループ65534に変更し、/var/nfsのパーミッションを755に戻しました。これで、クライアントは/var/nfsに書き込むことができるようになりました:
mkdir /var/nfs
chown 65534:65534 /var/nfs
chmod 755 /var/nfs次に、/etc/exportsを修正してNFS共有を「エクスポート」します。/homeと/var/nfsをNFS共有として指定し、NFSに/rootとして/homeにアクセスするように指示します(/etc/exportsの詳細、フォーマット、利用可能なオプションについては、次を参照してください):
man 5 exportsvi /etc/exports| /home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.101(rw,sync,no_subtree_check) |
(no_root_squashオプションにより、/homeはrootとしてアクセスされます。)
/etc/exportsを変更するたびに、次を実行して変更を有効にする必要があります:
exportfs -a4 クライアントでのNFS共有のマウント
クライアント:
まず、NFS共有をマウントするディレクトリを作成します。例:
mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfsその後、次のようにマウントできます:
mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs次のコマンドの出力に2つのNFS共有が表示されるはずです:
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home 9.7G 1.7G 7.5G 19% /mnt/nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19% /mnt/nfs/var/nfs
[root@client ~]#と
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#5 テスト
クライアントで、NFS共有にテストファイルを作成してみてください:
クライアント:
touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt次に、サーバーに移動して、両方のテストファイルが見えるか確認します:
サーバー:
ls -l /home/[root@server ~]# ls -l /home/
total 0
-rw-r--r-- 1 root root 0 Dec 11 16:58 test.txt
[root@server ~]#ls -l /var/nfs[root@server ~]# ls -l /var/nfs
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 11 16:58 test.txt
[root@server ~]#(テストファイルの所有権が異なることに注意してください:/home NFS共有はrootとしてアクセスされるため、/home/test.txtはrootが所有しています。一方、/var/nfs共有はnobody/65534としてアクセスされるため、/var/nfs/test.txtは65534が所有しています。)
6 ブート時のNFS共有のマウント
クライアントでNFS共有を手動でマウントする代わりに、/etc/fstabを修正して、クライアントがブートするときにNFS共有が自動的にマウントされるようにできます。
クライアント:
/etc/fstabを開き、次の行を追加します:
vi /etc/fstab| [...] 192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0 |
rw,sync,hard,intrの代わりに異なるマウントオプションを使用できます。利用可能なオプションの詳細については、次を参照してください:
man nfs修正した/etc/fstabが機能するかテストするために、クライアントを再起動します:
reboot再起動後、次のコマンドの出力に2つのNFS共有が表示されるはずです:
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home 9.7G 1.7G 7.5G 19% /mnt/nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19% /mnt/nfs/var/nfs
[root@client ~]#と
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#7 リンク
- Linux NFS: http://nfs.sourceforge.net/
- Scientific Linux: https://www.scientificlinux.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。