第14章NFS服務搭建與配置

14.1 NFS介紹

NFS介紹

  • NFS是Network File System的縮寫;這個文件系統是基於網路層面,經過網絡層面實現數據同步php

  • NFS最先由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,目前最新爲4.1版本——>4.1版本是2010年出來還沒更新過python

  • NFS數據傳輸基於RPC協議,RPC爲Remote Procedure Call的簡寫,意思爲 遠程過程調用mysql

  • 例子:linux

  • 服務端和客戶端通訊,A機器和B機器之間不能直接通訊,須要藉助RPC協議來實現nginx

  • NFS應用場景是:A,B,C三臺機器上須要保證被訪問到的文件是同樣的,A共享數據出來,B和C分別去掛載A共享的數據目錄,從而B和C訪問到的數據和A上的一致sql

  • NFS架構vim

image

  • 例子:
  • 跑了一個網站,上面傳輸了不少圖片,用戶訪問一個圖片時,須要從A機器上去請求,但A機器負載高,爲了分擔負載,就多弄了兩臺機器,B機器C機器同時提供服務;正常的話,須要到A機器上才能拿到數據,可是B機器和C機器作了負載均衡,分擔了相同的服務器,那麼用戶也有可能到B機器或者C機器上;那麼用戶請求到B機器上的時候,如何才能獲取到A機器上的數據呢;要麼把A機器的數據傳輸到B機器上,同時傳輸到C機器上,可是這個不能時時更新,(用戶上傳的數據是存放在A機器上,但用戶請求的時候數據是請求到B機器上)這樣A上的數據還沒到B上面去,就會致使用戶請求獲取的數據訪問不到,訪問爲空,爲404;那麼NFS服務就能夠解決這個問題,將A機器的數據共享到B機器、C機器,經過NFS來實現。有NFS服務之後,上傳到A機器上的數據,B機器或C機器上就能立刻看到和調用
  • 總結,NFS就是實時同步

NFS原理圖

  • 服務端須要啓動一個NFS服務,服務端要想給客戶端提供服務,須要藉助RPC協議,RPC協議是由rpcbind服務所實現的;在centos 5或者以前的版本叫portmap服務,centos6及以後的版本叫rpcbind服務,這兩個都是一個服務,最終實現了RPC協議的通訊,NFS服務默認不會監放任何端口(啓動服務,但不會監聽端口),最終監聽端口,實現RPC通訊的過程是由rpcbind服務產生的RPC協議實現的,RPC協議 默認監聽 的 端口是111 端口;
  • 整個流程爲:服務端的NFS服務監聽一個端口經過RPC協議監聽的端口,再去告訴客戶端RPC協議,而後NFS客戶端經過本機的RPC端口回傳數據信息到服務端NFS監聽的端口,最終實現通訊

image

  • NFS服務須要藉助RPC協議實現通訊

14.2 NFS服務端安裝配置

NFS服務端安裝配置目錄概要

  • yum install -y nfs-utils rpcbind
  • vim /etc/exports //加入以下內容

/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)centos

  • 保存配置文件後,執行以下準備操做
  • mkdir /home/nfstestdir
  • chmod 777 /home/nfstestdir
  • systemctl start rpcbind
  • systemctl start nfs
  • systemctl enable rpcbind
  • systemctl enable nfs

NFS服務端安裝配置

1.首先準備兩臺機器,我這裏準備兩臺虛擬機,A機器IP分別爲192.168.5.130,B機器IP爲192.168.5.133緩存

A機器,查看IP:192.168.5.130服務器

[root@xuexi-001 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.130  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::9625:3e1d:12c7:4fe6  prefixlen 64  scopeid 0x2

B機器,查看IP: 192.168.5.133

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.133  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::cf14:5db2:1b49:f0c2  prefixlen 64  scopeid 0x2

2.將A機器做爲服務端,並安裝兩個包,分別爲 nfs-utils 和 rpcbind

  • yum install -y nfs-utils rpcbind
[root@xuexi-001 ~]# yum install -y nfs-utils rpcbind

3.將B機器做爲客戶端,安裝 nfs-utils 包

  • 每次剛開機運行yum的時候都會很慢,由於須要從新生成一個緩存文件
  • 有時yum安裝的時候很慢,咱們能夠先禁掉,進入到/etc/yum.repos.d/目錄下,將目錄下的epel.repo文件改個名字,從新安裝便可
  • yum install -y nfs-utils
[root@localhost ~]# yum install -y nfs-utils

4.在安裝完成後,須要去A機器中 /etc/exports 編輯配置文件

vim /etc/exports //加入以下內容

[root@xuexi-001 ~]# vi /etc/exports 

/home/nfstestdir     
要分享出去的目錄是哪個目錄,這個目錄是不存在的,後期還須要建立的
192.168.5.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
指定你要給哪一個機器去分享這個目錄,首先定義IP或IP段

保存退出

5.下面就能夠啓動服務了,啓動服務前須要先建立目錄,並設置權限

6.在A機器上建立分享的目錄

[root@xuexi-001 ~]# mkdir /home/nfstestdir

7.並設置成777的權限,這裏設置777權限是爲了方便接下里的實驗

[root@xuexi-001 ~]# chmod 777 /home/nfstestdir

8.啓動 rpcbind ,再啓動前查看A機器上監聽的端口,就會看到啓動了1/systemd,這是centos7系統的一個特性——>111端口是rpcbind服務監聽的

查看A機器:

用ps能夠查看服務已經啓動,由於有這個服務,因此監聽了111端口

[root@xuexi-001 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2605/rpcbind        
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1038/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      911/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1262/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1038/nginx: master  
tcp6       0      0 :::111                  :::*                    LISTEN      2605/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      911/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1262/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1223/mysqld

9.再到B機器上查看下端口,會看到也啓動了rpcbind

[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2577/rpcbind        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      852/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1029/master         
tcp6       0      0 :::111                  :::*                    LISTEN      2577/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      852/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1029/master

注:若是rpcbind沒有啓動的話可使用 systemctl start rpcbind啓動服務

10.在A機器啓動了rpcbind,下面就能夠啓動nfs服務,在使用ps查看

[root@xuexi-001 ~]# systemctl start nfs 
[root@xuexi-001 ~]# ps aux | grep nfs
root       2713  0.0  0.0      0     0 ?        S<   00:10   0:00 [nfsd4_callbacks]
root       2719  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2720  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2721  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2722  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2723  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2724  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2725  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2726  0.0  0.0      0     0 ?        S    00:10   0:00 [nfsd]
root       2730  0.0  0.0 112720   968 pts/0    R+   00:11   0:00 grep --color=auto nfs

11.同時也能夠在A機器上ps aux |grep rpc查詢,在啓動nfs服務的時候,它會自動幫你啓動rpc相關的一些服務

[root@xuexi-001 ~]# ps aux | grep rpc
rpc        2605  0.0  0.0  65000  1416 ?        Ss   00:01   0:00 /sbin/rpcbind -w
rpcuser    2683  0.0  0.0  42420  1756 ?        Ss   00:10   0:00 /usr/sbin/rpc.statd
root       2685  0.0  0.0      0     0 ?        S<   00:10   0:00 [rpciod]
root       2695  0.0  0.0  43860   540 ?        Ss   00:10   0:00 /usr/sbin/rpc.idmapd
root       2703  0.0  0.0  42608   944 ?        Ss   00:10   0:00 /usr/sbin/rpc.mountd
root       2732  0.0  0.0 112720   968 pts/0    R+   00:12   0:00 grep --color=auto rpc

12.而在客戶端B機器上是沒有的這些服務的

[root@localhost ~]# ps aux |grep rpc
rpc        2577  0.0  0.1  64956  1048 ?        Ss   00:01   0:00 /sbin/rpcbind -w
root       2585  0.0  0.0 112676   980 pts/0    R+   00:13   0:00 grep --color=auto

13.若是想讓nfs開機啓動,還須要執行systemctl enable nfs 命令,在服務端A機器上調用

  • systemctl enable nfs 開機啓動nfs
  • systemctl disable nfs 關閉開機啓動
[root@xuexi-001 ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

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

2.在B機器上安裝完成後不須要啓動任何服務

3.在B機器上執行 showmount -e 命令

  • showmount -e 192.168.74.129 //查看在NFS服務端是否有權限
  • 該ip爲NFS服務端ip
[root@localhost ~]# showmount -e 192.168.5.130
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

4.這時候會看到報錯了,RPC: Port mapper failure說明網絡不通,沒法與192.168.5.130 端口通訊

  • 不能通訊的兩種狀況
  • 要麼是對方沒有開啓rpcbind的服務,沒有監聽111端口
  • 要麼是防火牆致使的緣由

5.由於以前在服務端已經開啓了rpcbind服務,那這時只能說明是防火牆致使的,因此要想讓NFS實現正常的通訊,還須要把防火牆關閉,由於NFS服務比較特殊,雖然rpc能夠通訊,就算iptables把111端口放行但NFS也不必定能正常通訊,由於它們使用了一個不固定的端口

6.這時先把A機器服務端和B機器客戶端,防火牆關閉,命令systemctl stop firewalld

A機器關閉防火牆
[root@xuexi-001 ~]# systemctl stop firewalld
[root@xuexi-001 ~]# getenforce
Disabled

B機器關閉防火牆
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive

7.這時再去B機器客戶端來showmount -e 192.168.5.130 ,這時會看到能夠能show到遠程服務端192.168.5.130 這臺機器,它共享的目錄是/home/nfstestdir

[root@localhost ~]# showmount -e 192.168.5.130
Export list for 192.168.5.130:
/home/nfstestdir 192.168.5.0/24

8.這時候在B機器客戶端上來掛載了,而後查看——>掛載的時間可能有點慢

[root@localhost ~]# mount -t nfs 192.168.5.130:/home/nfstestdir /mnt/
[root@localhost ~]# df -h
文件系統                        容量  已用  可用 已用% 掛載點
/dev/sda3                        18G  992M   17G    6% /
devtmpfs                        479M     0  479M    0% /dev
tmpfs                           489M     0  489M    0% /dev/shm
tmpfs                           489M  6.8M  482M    2% /run
tmpfs                           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                       197M   97M  100M   50% /boot
tmpfs                            98M     0   98M    0% /run/user/0
192.168.5.130:/home/nfstestdir   18G  8.4G  9.5G   47% /mnt

9.這個就是遠程NFS服務端共享的目錄

10.這時到B機器客戶端共享的目錄下建立文件

[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
[root@localhost mnt]# touch 111.txt
[root@localhost mnt]# ls -l 
總用量 0
-rw-r--r--. 1 1000 1000 0 8月   4 16:08 111.txt

11.到A機器的服務端查看,能夠看到文件的屬主和屬組都爲1000

[root@xuexi-001 ~]# ls -l /home/nfstestdir/
總用量 0
-rw-r--r-- 1 user1 user1 0 8月   4 16:08 111.txt
[root@xuexi-001 ~]# id user1
uid=1000(user1) gid=1000(user1) 組=1000(user1)
  • 緣由是配置 /etc/export
  • 文件時,配置了anonuid=1000,anongid=1000
  • 客戶端顯示 1000 用戶
  • 是由於客戶端機器上並無1000權限的用戶
  • 一樣,服務端顯示usesr1,是由於服務端上的機器user1 就是1000權限的用戶

總結

在/etc/exports文件中的/home/nfstestdir

192.168.5.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) ,其中ip與(rw之間不能有空格, 不然客戶端掛載的目錄會變成只讀..

14.4 exportfs命令

經常使用選項

  • -a 所有掛載或者所有卸載
  • -r 從新掛載
  • -u 卸載某一個目錄
  • -v 顯示共享目錄
  • 如下操做在服務端上 -vim /etc/exports //增長

/tmp/ 192.168.133.0/24(rw,sync,no_root_squash)

  • exportfs -arv //不用重啓nfs服務,配置文件就會生效
  • 如下操做在客戶端
  • mkdir /aminglinux
  • mount -t nfs -onolock 192.168.133.130:/tmp /aminglinux
  • touch /aminglinux/test.txt
  • ls -l !$
  • -oremount,nfsvers=3

exportfs命令

  • exportfs命令和nfs-utils這個包一塊兒安裝的
  • 例子:
  • 假設在第一次配置nfs的共享目錄,以後須要新增、更改某些機器或共享的目錄;
  • 首先須要更改配置文件,而後重啓NFS服務,但若是遠程客戶端正在使用NFS服務,正在掛載着,若是你須要先中止nfs服務,那遠程的客戶端就會掛起,就會很大的影響,形成服務異常,進程異常,有很大可能致使系統壞掉
  • nfs服務不能隨便重啓,要重啓,就須要先去服務器上,把掛載的目錄卸載下來
  • 在卸載目錄的時候,如果在當前目錄下去卸載會提示umount.nfs4: /mnt: device is busy
  • 方法一:退出該目錄後,再去卸載
  • 方法二:在目錄下卸載的時候,加 -l 選項,表示 lazy 懶惰的意思
  • 在卸載目錄後,在重啓nfs服務
  • 如果掛載了不少臺機器,那麼每臺機器都須要去卸載,就會很麻煩,下降了工做效率
  • 方法:使用exportfs命令,從新加載下
  • exportfs命令
  • -a 所有掛載或者所有卸載
  • -r 從新掛載
  • -u 卸載某一個目錄
  • -v 顯示共享目錄

1.在B機器客戶端,卸載目錄

[root@localhost ~]# umount /mnt/
[root@localhost ~]# df -h
文件系統            容量  已用  可用 已用% 掛載點
/dev/sda3            18G  992M   17G    6% /
devtmpfs            479M     0  479M    0% /dev
tmpfs               489M     0  489M    0% /dev/shm
tmpfs               489M  6.8M  482M    2% /run
tmpfs               489M     0  489M    0% /sys/fs/cgroup
/dev/sda1           197M   97M  100M   50% /boot
tmpfs                98M     0   98M    0% /run/user/0

2.而後在A機器服務端,使用exportfs -arv命令

exportfs -arv命令,從新使配置文件生效

[root@xuexi-001 ~]# exportfs -arv
exporting 192.168.5.0/24:/home/nfstestdir

3.驗證,在A機器上的/etc/exports配置文件中,在增長一行,把 /tmp 目錄單獨共享給192.168.5.133 這個IP

[root@xuexi-001 ~]# vi /etc/exports

/home/nfstestdir  192.168.5.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
/tmp              192.168.5.133(rw,sync,no_root_squash)

保存退出

4.而後在A機器服務端執行exportfs -arv命令

[root@xuexi-001 ~]# exportfs -arv
exporting 192.168.5.133:/tmp
exporting 192.168.5.0/24:/home/nfstestdir

5.在B機器客戶端showmount -e看是否生效——>並無重啓nfs服務,就已經生效

[root@localhost ~]# showmount -e 192.168.5.130
Export list for 192.168.5.130:
/home/nfstestdir 192.168.5.0/24
/tmp             192.168.5.133

6.在B機器客戶端掛載,將 tmp目錄 掛載到 mnt 目錄下

[root@localhost ~]# mount -t nfs 192.168.5.130:/tmp/ /mnt/
[root@localhost ~]# df -h
文件系統            容量  已用  可用 已用% 掛載點
/dev/sda3            18G  992M   17G    6% /
devtmpfs            479M     0  479M    0% /dev
tmpfs               489M     0  489M    0% /dev/shm
tmpfs               489M  6.8M  482M    2% /run
tmpfs               489M     0  489M    0% /sys/fs/cgroup
/dev/sda1           197M   97M  100M   50% /boot
tmpfs                98M     0   98M    0% /run/user/0
192.168.5.130:/tmp   18G  8.4G  9.5G   47% /mnt

7.如今在B機器客戶端,查看到的/mnt/目錄就是192.168.5.130IP下的tmp目錄

[root@localhost ~]# ls /mnt/
aming.sock     systemd-private-cca061734a284ab68452996f54b9a3e7-chronyd.service-UKFBkE
mysql.bak      systemd-private-cca061734a284ab68452996f54b9a3e7-vgauthd.service-fXSgVu
mysql.sock     systemd-private-cca061734a284ab68452996f54b9a3e7-vmtoolsd.service-zsXw2n
php-fcgi.sock  user.bak

8.再到A機器上查看tmp目錄,會看到兩個目錄下的文件內容會同樣的

[root@xuexi-001 ~]# ls /tmp/
aming.sock     systemd-private-cca061734a284ab68452996f54b9a3e7-chronyd.service-UKFBkE
mysql.bak      systemd-private-cca061734a284ab68452996f54b9a3e7-vgauthd.service-fXSgVu
mysql.sock     systemd-private-cca061734a284ab68452996f54b9a3e7-vmtoolsd.service-zsXw2n
php-fcgi.sock  user.bak

9.這時在B機器客戶端的mnt目錄下建立文件,並查看目錄下的文件,能看到新建的1212.txt文件的屬主和屬組都是root

[root@localhost ~]# cd /mnt/
[root@localhost mnt]# touch 1212.txt
[root@localhost mnt]# ls -l /mnt/
總用量 652
-rw-r--r--. 1 root root      0 8月   4 16:38 1212.txt
srw-rw-rw-. 1 root root      0 8月   4 15:44 aming.sock
-rw-r--r--. 1 root root 657618 7月  25 22:07 mysql.bak
srwxrwxrwx. 1 1003 1003      0 8月   4 15:44 mysql.sock
srw-rw-rw-. 1 root root      0 8月   4 15:44 php-fcgi.sock
drwx------. 3 root root     17 8月   4 15:43 systemd-private-cca061734a284ab68452996f54b9a3e7-chronyd.service-UKFBkE
drwx------. 3 root root     17 8月   4 15:43 systemd-private-cca061734a284ab68452996f54b9a3e7-vgauthd.service-fXSgVu
drwx------. 3 root root     17 8月   4 15:43 systemd-private-cca061734a284ab68452996f54b9a3e7-vmtoolsd.service-zsXw2n
-rw-r--r--. 1 root root   7229 7月  25 22:19 user.bak

10.這時再到A機器服務端查看tmp目錄,會看到1212.txt文件的屬主和屬組也是root

[root@xuexi-001 ~]# ls -l /tmp/
總用量 652
-rw-r--r-- 1 root  root       0 8月   4 16:38 1212.txt
srw-rw-rw- 1 root  root       0 8月   4 15:44 aming.sock
-rw-r--r-- 1 root  root  657618 7月  25 22:07 mysql.bak
srwxrwxrwx 1 mysql mysql      0 8月   4 15:44 mysql.sock
srw-rw-rw- 1 root  root       0 8月   4 15:44 php-fcgi.sock
drwx------ 3 root  root      17 8月   4 15:43 systemd-private-cca061734a284ab68452996f54b9a3e7-chronyd.service-UKFBkE
drwx------ 3 root  root      17 8月   4 15:43 systemd-private-cca061734a284ab68452996f54b9a3e7-vgauthd.service-fXSgVu
drwx------ 3 root  root      17 8月   4 15:43 systemd-private-cca061734a284ab68452996f54b9a3e7-vmtoolsd.service-zsXw2n
-rw-r--r-- 1 root  root    7229 7月  25 22:19 user.bak

11.這就是由於在A機器服務端的配置文件中,使用了no_root_squash ,因此root用戶不受約束,在B機器上到掛載點下,到共享目錄下,就能夠像在本地磁盤使用root用戶同樣,是不受限制的(一般狀況下,不限制root用戶的比較多)

14.5 NFS客戶端問題

  • NFS客戶端問題
  • NFS 4版本會有該問題
  • 客戶端掛載共享目錄後,不論是root用戶仍是普通用戶,建立新文件時屬主、屬組爲nobody
  • 客戶端掛載時加上 -o nfsvers=3
  • 客戶端和服務端都須要
  • vim /etc/idmapd.conf //
  • 把「#Domain = local.domain.edu」 改成 「Domain = xxx.com」 (這裏的xxx.com,隨意定義吧),而後再重啓rpcidmapd服務

NFS知識點

  • 在centos6中,遇到的問題比較多,針對的NFS 4版本有這個問題
  • 問題:客戶端掛載共享目錄後,不論是root用戶仍是普通用戶,建立新文件時屬主、屬組爲nobody,雖然已經定義了 no_root_squash 不在限制root用戶,最終建立完文件後發現屬主和屬組不是root或者是限定的1000,而是顯示的是 nobody ,這就是NFS 4版本出現的問題,尤爲是在centos6 系統上
  • 解決問題:
  • 方法一:是在客戶端掛載的時候,加上-o nfsvers=3 ,意思就是指定NFS的版本爲 3 ,不在用4的版本
  • mount -t nfs -o nfsvers=3 192.168.202.130:/tmp/ /mnt/
  • 如果不想卸載,直接掛載,可使用mount -t nfs -oremount,nfsvers=3 192.168.202.130:/tmp/ /mnt/ (前提是先掛載上去)
  • 方法二:更改配置文件vim /etc/idmapd.conf ,把「#Domain = local.domain.edu」 改成 「Domain = xxx.com」 (這裏的xxx.com,隨意定義吧),而後再重啓rpcidmapd服務
  • 在cnetos7中,自己是沒有rpcidmapd服務的,只須要重啓rpcbind服務就能夠了
相關文章
相關標籤/搜索