NFS設定 · 2 min read · Dec 26, 2025
Debian WheezyでのNFSサーバーとクライアントの設定
このガイドでは、Debian WheezyでNFSサーバーとNFSクライアントを設定する方法を説明します。NFSはNetwork File Systemの略で、NFSを通じてクライアントはNFSサーバー上のリモート共有にアクセス(読み取り、書き込み)でき、まるでローカルハードディスク上にあるかのように扱えます。このチュートリアルでは、ユーザーnobody/nogroupとしてファイルを保存し、ファイルシステムの権限を保持しないクライアントディレクトリのエクスポートと、ホスティングサーバーの設定に必要なファイルの権限と所有権を保持する/var/wwwディレクトリのエクスポートの2つの異なるNFSエクスポートを示します。
1 前提条件
ここでは2つのDebian Wheezyシステムを使用しています:
- NFSサーバー: server.example.com, IPアドレス: 192.168.0.100
- NFSクライアント: client.example.com, IPアドレス: 192.168.0.101
2 NFSのインストール
サーバー:
NFSサーバーで次のコマンドを実行します:
apt-get install nfs-kernel-server nfs-common次に、NFSサーバーのシステム起動リンクを作成し、起動します:
クライアント:
クライアントでは、次のようにNFSをインストールできます(これは実際にはサーバーと同じです):
apt-get install nfs-common3 サーバー上のディレクトリのエクスポート
サーバー:
クライアントに/home/client1および/var/wwwディレクトリをアクセス可能にしたいと思います。/home/client1ディレクトリは標準モードで共有されているため、このディレクトリに書き込まれたすべてのファイルはユーザーnobodyおよびグループnogroupとして保存されます。/var/wwwディレクトリにはno_root_squashオプションを使用して、nfsサーバーにファイルの権限と所有権を保持するよう指示します。これは、ISPConfig 3で管理されているWebサーバーの/var/wwwディレクトリをエクスポートしたい場合に必要です。
まず、/home/client1ディレクトリを作成します。
mkdir /home/client1
chown nobody:nogroup /home/client1
chmod 755 /home/client1/var/wwwディレクトリは、サーバー上に存在する可能性が高いです。存在しない場合は、作成します:
mkdir /var/www
chown root:root /var/www
chmod 755 /var/www次に、/etc/exportsを修正する必要があります。ここでNFS共有を「エクスポート」します。/home/client1および/var/wwwをNFS共有として指定し、NFSに/home/client1へのアクセスをユーザーnobodyとして行うように指示します(/etc/exports、フォーマット、および利用可能なオプションについて詳しく知りたい場合は、次を参照してください):
man 5 exportsvi /etc/exports/home/client1 192.168.0.101(rw,sync,no_subtree_check)
/var/www 192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)(no_root_squashオプションにより、/var/wwwはrootとしてアクセスされます。)
/etc/exportsの変更を適用するために、カーネルnfsサーバーを再起動します。
/etc/init.d/nfs-kernel-server restart4 クライアントでのNFS共有のマウント
クライアント:
まず、NFS共有をマウントしたいディレクトリを作成します。例えば:
mkdir -p /mnt/nfs/home/client1
mkdir -p /var/wwwもし/var/wwwディレクトリがすでにサーバー上に存在する場合は、apacheを停止し、ディレクトリの名前を変更し、新しい空のディレクトリをマウントポイントとして作成します。
/etc/init.d/apache2 stop
mv /var/www /var/www_bak
mkdir -p /var/wwwその後、次のようにマウントできます:
mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1
mount 192.168.0.100:/var/www /var/wwwこれで、次のコマンドの出力に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/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[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/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#5 テスト
クライアントでは、NFS共有上にテストファイルを作成してみることができます:
クライアント:
touch /mnt/nfs/home/client1/test.txt
touch /var/www/test.txtサーバーに移動して、両方のテストファイルが見えるか確認します:
サーバー:
ls -l /home/client1/[root@server ~]# ls -l /home/client1
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[root@server ~]#ls -l /var/nfs[root@server ~]# ls -l /var/www
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[root@server ~]#(テストファイルの所有権が異なることに注意してください:/home/client1 NFS共有はnobody/nogroupとしてアクセスされ、nobody/nogroupが所有しています;/var/www共有はrootとしてアクセスされるため、/var/www/test.txtはユーザーおよびグループrootが所有しています。)
6 ブート時のNFS共有のマウント
クライアントでNFS共有を手動でマウントする代わりに、/etc/fstabを修正して、クライアントがブート時にNFS共有が自動的にマウントされるようにすることができます。
クライアント:
/etc/fstabを開き、次の行を追加します:
vi /etc/fstab[...]
192.168.0.100:/home/client1 /mnt/nfs/home/client1 nfs rw,sync,hard,intr 0 0
192.168.0.100:/var/www /var/www nfs rw,sync,hard,intr 0 0rw,sync,hard,intrの代わりに、異なるマウントオプションを使用できます。利用可能なオプションについて詳しく知りたい場合は、次を参照してください:
man nfs修正した/etc/fstabが機能するかテストするために、共有をアンマウントし、mount -aを実行します:
umount /mnt/nfs/home/client1
umount /var/www
mount -aこれで、次のコマンドの出力に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/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[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/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#7 クレジット
このチュートリアルは、Falko TimmeのCentos NFSサーバーチュートリアルに基づいています。
8 リンク
- Linux NFS: http://nfs.sourceforge.net/
- Debian: http://www.debian.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。