redhat 7 nfsの構成およびauto自動マウント


サーバ側:(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)

  • autofsサービスの間接マッピングは、まずサーバで/nfs_を作成する.share 1ディレクトリ、そしてこのディレクトリはmkdir/nfs_を共有しますshare 1 echo-e"/nfs_share 1t*(rw)>/etc/exportsクライアントにautofsサービスyum-y install autofsをインストールautofsサービスを再起動し、自己起動項目
  • に追加
    [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サービス停止時)