14.3 NFS配置選項

NFS配置選項

  • rw 讀寫
  • ro 只讀
  • sync 同步模式,內存數據實時寫入磁盤,相應的就會下降磁盤效率
  • async 非同步模式,它會每隔一段時間纔會將數據刷新到磁盤
    • 優點:可以保證磁盤的效率
    • 劣勢:萬一斷電,就會有可能丟失一部門數據
  • no_root_squash 客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大
    • NFS,要想在客戶端上去使用服務端上共享的目錄,須要去把它掛載到客戶端上的一個掛載點,那就跟本地上的目錄是同樣的,在操做本地的目錄時候,確定會有一些權限設置,若是加上no_root_squash,這樣root用戶去共享目錄下讀寫文件的時候,就不會受到限制(就至關於root用戶在本地上讀寫)
  • root_squash 與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
  • all_squash 客戶端上全部用戶(包括root用戶)在使用NFS共享目錄時都被限定爲一個普通用戶
  • anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid

客戶端上掛載

  1. 首先在客戶端B機器上安裝了rpcbind,它是由nfs-utils 這個包自動安裝的
yum install -y nfs-utils
  1. 在B機器上安裝完成後不須要啓動任何服務
  2. 在B機器上執行 showmount -e 命令
  • showmount -e 192.168.74.129 //查看在NFS服務端是否有權限
    • 該ip爲NFS服務端ip
[root@hf-02 ~]# showmount -e 192.168.74.129
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
[root@hf-02 ~]#
  1. 這時候會看到報錯了,RPC: Port mapper failure說明網絡不通,沒法與192.168.74.129端口通訊
  • 不能通訊的兩種狀況
    • 要麼是對方沒有開啓rpcbind的服務,沒有監聽111端口
    • 要麼是防火牆致使的緣由
  1. 由於以前在服務端已經開啓了rpcbind服務,那這時只能說明是防火牆致使的,因此要想讓NFS實現正常的通訊,還須要把防火牆關閉,由於NFS服務比較特殊,雖然rpc能夠通訊,就算iptables把111端口放行但NFS也不必定能正常通訊,由於它們使用了一個不固定的端口
  2. 這時先把A機器服務端和B機器客戶端,防火牆關閉,命令systemctl stop firewalld
A機器關閉防火牆
[root@hf-01 ~]# systemctl stop firewalld
[root@hf-01 ~]# getenforce
Disabled
[root@hf-01 ~]# 

B機器關閉防火牆
[root@hf-02 ~]# systemctl stop firewalld
[root@hf-02 ~]# 
[root@hf-02 ~]# getenforce
Enforcing
[root@hf-02 ~]# setenforce 0
[root@hf-02 ~]# getenforce
Permissive
[root@hf-02 ~]#
  1. 這時再去B機器客戶端來showmount -e 192.168.74.129 ,這時會看到能夠能show到遠程服務端192.168.74.129這臺機器,它共享的目錄是/home/nfstestdir
[root@hf-02 ~]# showmount -e 192.168.202.130
Export list for 192.168.74.129:
/home/nfstestdir 192.168.74.0/24
[root@hf-02 ~]#
  1. 這時候在B機器客戶端上來掛載了,而後查看——>掛載的時間可能有點慢
[root@hf-02 ~]#  mount -t nfs 192.168.74.129:/home/nfstestdir /mnt/
[root@hf-02 ~]# df -h
文件系統                         容量  已用  可用 已用% 掛載點
/dev/sda3                         18G  873M   17G    5% /
devtmpfs                         489M     0  489M    0% /dev
tmpfs                            494M     0  494M    0% /dev/shm
tmpfs                            494M   13M  481M    3% /run
tmpfs                            494M     0  494M    0% /sys/fs/cgroup
/dev/sda1                        197M   75M  122M   39% /boot
192.168.74.129:/home/nfstestdir   18G  7.4G   11G   42% /mnt
[root@hf-02 ~]#
  1. 這個就是遠程NFS服務端共享的目錄
  2. 這時到B機器客戶端共享的目錄下建立文件
[root@hf-02 ~]# cd /mnt/
[root@hf-02 mnt]# ls
[root@hf-02 mnt]# touch aminglinux.111
[root@hf-02 mnt]# ls -l
總用量 0
-rw-r--r--. 1 1000 1000 0 8月  24 00:34 aminglinux.111
[root@hf-02 mnt]#
  1. 到A機器的服務端查看,能夠看到文件的屬主和屬組都爲1000
[root@hf-01 ~]# ls -l /home/nfstestdir/
總用量 0
-rw-r--r-- 1 mysql mysql 0 8月  24 00:34 aminglinux.111
[root@hf-01 ~]#
  • 緣由是配置 /etc/export 文件時,配置了anonuid=1000,anongid=1000
  • 客戶端顯示 1000 用戶 是由於客戶端機器上並無1000權限的用戶
  • 一樣,服務端顯示mysql,是由於服務端上的機器mysql 就是1000權限的用戶

總結

  • 在/etc/exports文件中的/home/nfstestdir 192.168.74.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) ,其中ip與(rw之間不能有空格, 不然客戶端掛載的目錄會變成只讀..
相關文章
相關標籤/搜索