このガイドでは、DebianWheezyでNFSサーバーとNFSクライアントをセットアップする方法について説明します。 NFSはNetworkFile Systemの略です;クライアントは、NFSを介して、ローカルハードディスク上にあるかのようにNFSサーバー上のリモート共有にアクセス(読み取り、書き込み)できます。このチュートリアルでは、2つの異なるNFSエクスポートを示します。ファイルシステムのアクセス許可を保持せずにユーザーnobody / nogroupとしてファイルを保存するクライアントディレクトリのエクスポートと、ファイルのアクセス許可と所有権を保持する/ var/wwwディレクトリのエクスポートです。ホスティングサーバーのセットアップに必要です。
1予備メモ
ここでは2つのDebianWheezyシステムを使用しています:
- NFSサーバー:server.example.com、IPアドレス:192.168.0.100
- NFSクライアント:client.example.com、IPアドレス:192.168.0.101
2NFSのインストール
サーバー:
NFSサーバーで実行します:
apt-get install nfs-kernel-server nfs-common
次に、NFSサーバーのシステム起動リンクを作成して起動します。
クライアント:
クライアントには、次のようにNFSをインストールできます(これは実際にはサーバーと同じです):
apt-get install nfs-common
3サーバー上のディレクトリのエクスポート
サーバー:
ディレクトリ/home/client1と/var/ wwwをクライアントがアクセスできるようにして、NFSサーバーの2つの異なるアクセスモードを表示したいと思います。ディレクトリ/home/ client1は標準モードで共有されるため、このディレクトリに書き込まれるすべてのファイルは、ユーザーnobodyおよびグループnogroupとして保存されます。ディレクトリ/var/ wwwには、ファイルのアクセス許可と所有権を保持するようにnfsサーバーに指示するno_root_squashオプションを使用します。これは例えばISPConfig3で管理されている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
次に、NFS共有を「エクスポート」する/ etc/exportsを変更する必要があります。 / home/client1と/var/ wwwをNFS共有として指定し、NFSにユーザーnobodyとして/ home / client1にアクセスするように指示します(/ etc / exports、その形式、および使用可能なオプションの詳細については、を参照してください
man 5 exports
)
vi /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 restart
4クライアントへの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
[[email protected] ~]# 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
[[email protected] ~]#
および
mount
[[email protected] ~]# 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)
[[email protected] ~]#
5テスト
クライアントで、NFS共有にテストファイルを作成できるようになりました。
クライアント:
touch /mnt/nfs/home/client1/test.txt
touch /var/www/test.txt
次に、サーバーに移動して、両方のテストファイルが表示されるかどうかを確認します。
サーバー:
ls -l /home/client1/
[[email protected] ~]# ls -l /home/client1
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[[email protected] ~]#
ls -l /var/nfs
[[email protected] ~]# ls -l /var/www
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[[email protected] ~]#
(テストファイルの所有権が異なることに注意してください。/home/client1NFS共有はnobody / nogroupとしてアクセスされ、nobody /nogroupによって所有されます。/var/www共有はrootとしてアクセスされるため、/ var / www / test .txtは、ユーザーとグループのルートが所有しています。)
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 0
rw、sync、hard、intrの代わりに、さまざまなマウントオプションを使用できます。利用可能なオプションの詳細については、
をご覧ください。man nfs
変更した/etc/ fstabが機能しているかどうかをテストするには、共有をアンマウントして、mount -a:
を実行します。umount /mnt/nfs/home/client1
umount /var/www
mount -a
の出力に2つのNFS共有が表示されます。
df -h
[[email protected] ~]# 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
[[email protected] ~]#
および
mount
[[email protected] ~]# 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)
[[email protected] ~]#
7クレジット
このチュートリアルは、FalkoTimmeのCentosNFSサーバーチュートリアルに基づいています。
8リンク
- Linux NFS:http://nfs.sourceforge.net/
- Debian:http://www.debian.org/