redhat 7 nfsの構成およびauto自動マウント
10485 ワード
サーバ側:(192.168.10.10)
まずテストの共有ディレクトリを作成し、exportsファイルを変更します.
[root@server ~]# mkdir /nfs_share
[root@server ~]# vim /etc/exports
/nfs_share *(rw)
~
[root@server ~]# systemctl restart nfs-server
[root@server ~]# systemctl enable nfs-server.service
nfsサーバはすでに構成されていますが、ファイアウォールを開き、nfsサービスをファイアウォールに追加する必要があります.コマンドは次のとおりです.
[root@server ~]# firewall-cmd --permanent --add-service=nfs
success
[root@server ~]# firewall-cmd --reload
success
マウント方式一:クライアント側(192.168.10.20)
まずpingパスサーバが必要で、ネットワークの相互接続を保証してクライアントの/etc/fstabのファイルを修正して、次の行を追加して、それから保存します
[root@client ~]# vim /etc/fstab
192.168.10.10:/nfs_share /nfs nfs sync 0 0
"/etc/fstab" 14L, 697C written
mount-aコマンドの実行にエラーはありません.マウントに成功したことを示します.df-hコマンドの表示
[root@client ~]# mount -a
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 2.9G 12G 20% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 914M 80K 914M 1% /dev/shm
tmpfs 914M 9.0M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /yum
/dev/sda3 15G 125M 15G 1% /var
/dev/sda1 297M 91M 207M 31% /boot
192.168.10.10:/nfs_share 15G 2.9G 12G 20% /nfs
質問1:マウントされたディレクトリにファイルを作成しましたが、デフォルトの権限オプションがroot_であるため、作成に失敗しました.squash、リモートユーザーがroot権限を持つことを禁止
[root@client ~]# touch /nfs/myhost
touch: cannot touch ‘/nfs/myhost’: Permission denied
サーバ側でcat/var/lib/nfs/etabファイルを表示すると、多くのオプションが見つかります.
[root@server ~]# cat /var/lib/nfs/etab
/nfs_share *(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
ソリューション1:サーバ側の/etc/exportsに次の構成を追加
[root@server ~]# vim /etc/exports
/nfs_share *(rw,no_root_squash)
[root@server ~]# exportfs -a # nfs , , exportfs
ソリューション2:サーバ側がリカバリする前の構成
[root@server ~]# vim /etc/exports
/nfs_share *(rw)
# other
[root@server ~]# chmod o+w /nfs_share -R
[root@server ~]# ll -d /nfs*
drwxrwxrwx. 2 root root 33 Jul 19 10:37 /nfs_share
クライアント側でのテスト
[root@client ~]# touch /nfs/myhost1
[root@client ~]# ll /nfs/
total 0
-rw-rw-rw-. 1 root root 0 Jul 19 10:29 myhost
-rw-r--r--. 1 nfsnobody nfsnobody 0 Jul 19 10:37 myhost1
完璧解决!!!
また、クライアント側では、nfsサービスを自動的にマウントする方法もあります.それはautofsサービスです.
マウント方式2:クライアント側(192.168.10.10)
[root@client ~]# systemctl enable autofs
ln -s '/usr/lib/systemd/system/autofs.service' '/etc/systemd/system/multi-user.target.wants/autofs.service'
[root@client ~]# systemctl restart autofs
Autofsのプライマリマッピングファイルの編集
# autofs , /auto , ,/etc/nice.auto ,
[root@client ~]# vim /etc/auto.master.d/nice.autofs
/auto /etc/nice.auto
Autofsの2次マッピングファイルの編集
#nice , /auto/nice , - , 192.168.1.11:/nfs_share1 , ":" .
[root@client ~]# vim /etc/nice.auto
nice -rw 192.168.10.10:/nfs_share1
Autofsサービスを再起動してエラーが発生しなかったことは、基本的に成功したことを示しています.df-hではマウントされたファイルディレクトリが見えませんが、cdを入れてこのマウントされたディレクトリにdf-hを入れるとマウントされたディレクトリが表示されます(私の例では、cd/auto/niceが必要で、その後df-hでマウントされたディレクトリが表示されます)もう一つの問題があります.私たちは2次マッピングファイルで、そのniceのディレクトリは作成する必要はありません.autofsは自分で作成します.補足:間接マッピング、と直接マウントすると、すべてのマウントポイントが自動的に作成され、自動的に削除されます(autofsサービス停止時)