このガイドでは、CentOS6.3でNFSサーバーとNFSクライアントをセットアップする方法について説明します。 NFSはNetworkFile Systemの略です;クライアントはNFSを介して、ローカルハードディスク上にあるかのようにNFSサーバー上のリモート共有にアクセス(読み取り、書き込み)できます。
1予備メモ
ここでは2つのCentOSシステムを使用しています:
- NFSサーバー:server.example.com、IPアドレス:192.168.0.100
- NFSクライアント:client.example.com、IPアドレス:192.168.0.101
2NFSのインストール
サーバー:
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-lib
サーバー:
クライアントがディレクトリ/homeと/var/nfsにアクセスできるようにしたいのですが。したがって、サーバー上でそれらを「エクスポート」する必要があります。
クライアントがNFS共有にアクセスする場合、これは通常、ユーザーが誰もいないときに発生します。通常、/ homeディレクトリは誰も所有していません(所有権をnobodyに変更することはお勧めしません!)。また、読み取りと書き込みが必要なためです。 / homeで、アクセスはrootとして行う必要があることをNFSに通知します(/ home共有が読み取り専用の場合、これは必要ありません)。 / var / nfsディレクトリが存在しないため、ディレクトリを作成して所有権を変更できます。私のテストでは、ユーザーとグループの両方が、両方のCentOSテストシステム(サーバーとクライアント)でID99を持っていませんでした。 NFSクライアントから/var/ nfsに書き込もうとすると、パーミッション拒否エラーが発生したため、chmod 777 / var / nfsを実行して、全員がそのディレクトリに書き込めるようにしました。クライアントから/var/ nfsへの書き込みは機能し、クライアントでは/ var / nfsに書き込まれたファイルはユーザーとグループの誰も所有していないように見えましたが、サーバーでは(存在しない)ユーザーとグループが所有していましたID65534;そこで、/ var /nfsの所有権をサーバー上のユーザー/グループ65534に変更し、/ var / nfsのアクセス許可を755に戻しました。そうすると、クライアントは/ var / nfsへの書き込みが許可されました:
mkdir /var/nfs
chown 65534:65534 /var/nfs
chmod 755 /var/nfs
次に、NFS共有を「エクスポート」する/ etc/exportsを変更する必要があります。 /homeと/var/ nfsをNFS共有として指定し、ルートとして/ homeにアクセスするようにNFSに指示します(/ etc / exports、その形式、および使用可能なオプションの詳細については、
を参照してください。man 5 exports
)
vi /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 -a
その後、変更を有効にします。
4クライアントへの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
[[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 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
[[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 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)
[[email protected] ~]#
5テスト
クライアントで、NFS共有にテストファイルを作成できるようになりました。
クライアント:
touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt
次に、サーバーに移動して、両方のテストファイルが表示されるかどうかを確認します。
サーバー:
ls -l /home/
[[email protected] ~]# ls -l /home/
total 0
-rw-r--r-- 1 root root 0 Dec 11 16:58 test.txt
[[email protected] ~]#
ls -l /var/nfs
[[email protected] ~]# ls -l /var/nfs
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 11 16:58 test.txt
[[email protected] ~]#
(テストファイルの所有権が異なることに注意してください。/homeNFS共有は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 |
man nfs
変更した/etc/ fstabが機能しているかどうかをテストするには、クライアントを再起動します。
reboot
再起動後、
の出力に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 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
[[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 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)
[[email protected] ~]#
7つのリンク
- Linux NFS:http://nfs.sourceforge.net/
- CentOS:http://www.centos.org/