Linuxサービス導入-3 nfs時間サーバの構築


NFS(Network File System)は、ネットワークファイルシステムを意味し、最大の機能は、ネットワークを通じて、異なるマシンの異なるオペレーティングシステムが互いのファイルを共有できるようにすることです.簡単に言えば、リモートホストの共有ディレクトリをローカルにマウントできます.ローカルディスクを操作するように、リモートファイルを操作するのに便利です.
NFSサーバー構成1、NFSサービスのインストールまずyumを使用してnfsサービスをインストールする:
yum -y install rpcbind nfs-utils

2.共有ディレクトリの作成
サーバに共有ディレクトリを作成し、権限を設定します.
mkdir /data/share/
chmod 755 -R /data/share/

3.NFS nfsを構成するプロファイルは/etc/exportsで、プロファイルに1行を追加します.
/data/share/ 192.168.3.144(rw,no_root_squash,no_all_squash,sync)

この行のコードは、共有ディレクトリ/data/share/を192.168.3.144というクライアントipに共有することを意味し、後ろの括弧の内容は権限パラメータであり、rwはディレクトリの読み取りと書き込みを設定することを示す.syncはデータがメモリとハードディスクに同期して書き込まれることを示し、rsyncはデータが直接ハードディスクに書き込まれるのではなく、メモリに一時保存されることを示します.
no_root_squash NFSクライアントがサービス側に接続する際にrootを使用すると、サービス側が共有するディレクトリにもroot権限があります.
no_all_squashは、NFSクライアントがサービス側に接続する際にどのユーザを使用するかにかかわらず、サービス側が共有するディレクトリに匿名のユーザ権限はありません.
複数の共有ディレクトリ構成がある場合は、複数行、1行1構成を使用します.プロファイルを保存したら、次のコマンドを実行して構成をすぐに有効にする必要があります.
exportfs -r

4.ファイアウォールの設置
システムがファイアウォールを開いていない場合は、この手順は省略できます.
NFSのファイアウォールは特に難しいです.固定されたport 111、2049のほかに、rpc.mountedなどのオープンした不定のポートがあるので、ファイアウォールにとって面倒です.この問題を解決するために、NFSサービスのポートプロファイルを設定することができます.
/etc/sysconfig/nfsファイルを変更し、次の内容のコメントを削除します.ない場合は追加します.
RQUOTAD_PORT=1001
LOCKD_TCPPORT=30001
LOCKD_UDPPORT=30002

保存後、ポートをファイアウォール許可ポリシーに追加します.実行:
firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp --add-port=2049/udp --add-port=1001/tcp --add-port=1001/udp --add-port=1002/tcp --add-port=1002/udp --add-port=30001/tcp --add-port=30002/udp --permanent
firewall-cmd --reload

5.サービスの開始
rpcbindおよびnfsサービスを順番に開始します.
systemctl start rpcbind
systemctl start nfs

電源投入起動:
systemctl enable rpcbind 
systemctl enable nfs

nfsサービスが開始されると、コマンドrpcinfo-pを使用してポートが有効かどうかを確認できます.
サーバの後、showmountコマンドを使用して、サービス側(ネイティブ)が接続可能かどうかを確認できます.
[root@rbtnode1 ~]# showmount -e localhost
Export list for localhost:
/data/share 192.168.3.144

以上の結果は、NFSサービス側の構成が正常であることを示しています.
クライアント構成
1.rpcbindサービスをインストールするクライアントはrpcbindサービスをインストールするだけで、nfsをインストールしたり、nfsサービスをオンにしたりする必要はありません.
yum -y install rpcbind

2.リモートnfsファイルシステムのマウント
サービス側が共有しているディレクトリを表示するには、次の手順に従います.
[root@rbtnode1 ~]# showmount -e 192.168.3.144
Export list for 192.168.3.144:
/data/share 192.168.3.144

マウントディレクトリを作成し、マウントコマンドを実行します.
[root@rbtnode1 ~]# mkdir -p /mnt/share
[root@rbtnode1 ~]# mount -t nfs 192.168.3.144:/data/share /mnt/share -o nolock,nfsvers=3,vers=3 

-onolockを追加しない場合、nfsvers=3はマウントディレクトリの下のファイルの所有者とグループがnobodyであり、nfsvers=3を指定するとrootが表示されます.
マウントを解除するには、次のコマンドを実行します.
umount /mnt/shareunt /mnt/share

3.起動自動マウント
本明細書の上の部分で構成すれば、NFSは配備されますが、クライアントシステムを再起動すると、ランダムに一緒にマウントできないことに気づき、再度手動でマウントを操作する必要があります.このような操作は面倒なので、起動自動マウントを設定する必要があります.マウント項目を/etc/fstabファイルに書かないでください.起動時に自機のディスクをマウントしてからネットワークを起動しますが、NFSはネットワークが起動してからマウントする必要があるので、/etc/rc.d/rc.localファイルにマウントコマンドを書き込めばいいです.
#ファイルの最後に行を追加:
mount -t nfs 192.168.11.34:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3

機械を保存して再起動してみてください.
テスト検証
マウント結果を表示し、クライアントにdf-hを入力
[root@rbtnode1 ~]# df -h 
Filesystem                 Size  Used Avail Use% Mounted on
/dev/sda3                  998G   80G  918G   8% /
devtmpfs                   1.9G     0  1.9G   0% /dev
tmpfs                      1.9G   16K  1.9G   1% /dev/shm
tmpfs                      1.9G  197M  1.7G  11% /run
tmpfs                      1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                  297M  200M   98M  68% /boot
tmpfs                      378M  8.0K  378M   1% /run/user/42
tmpfs                      378M  8.0K  378M   1% /run/user/0
/dev/sr0                   8.1G  8.1G     0 100% /run/media/root/CentOS 7 x86_64
192.168.3.144:/data/share  998G   80G  918G   8% /mnt/share

最後の行を見たかどうかは、すでにマウントに成功したことを示しています.次に、クライアント上でディレクトリ/mnt/shareの下に入り、ファイルを新規/削除し、サービス側のディレクトリ/data/shareで効果があるかどうかを確認し、逆にサービス側操作がクライアント対応のディレクトリの下で効果を見ることができます.