天天看點

NFS介紹、NFS服務端安裝配置、NFS配置選項

NFS介紹

NFS(Network File System)即網絡檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的用戶端應用可以透明地讀寫位于遠端NFS伺服器上的檔案,就像通路本地檔案一樣。NFS的資料傳輸基于RPC(remote procedure call)協定。

應用場景

A,B,C三台機器上需要被通路到的檔案是一樣的,A共享資料出來,B和C分别取挂載A共享的資料目錄,進而B和C通路到的資料和A上的一緻。

NFS服務端安裝配

伺服器端:192.168.3.74              用戶端:192.168.3.83

伺服器端操作:

1、[root@centos7 ~]# yum install -y nfs-utils rpcbind

2、[root@centos7 ~]# vim /etc/exports

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

#/home/nfstestdir :需要共享挂載的目錄

#192.168.8.0/24:共享網段的權限,也可以是IP

#rw:讀寫;sync:(同步)将資料同步寫入記憶體緩沖區與磁盤中,效率低,但可以保證資料的一緻性;

async:(異步)将資料先儲存在記憶體緩沖區中,必要時才寫入磁盤;

all_squash:所有通路使用者都映射為匿名使用者或使用者組(這裡指的/etc/exports定義的使用者);

no_all_squash(預設):通路使用者先與本機使用者比對,比對失敗後再映射為匿名使用者或使用者組;

anonuid=1000,anongid=1000:uid:1000;gid=1000

#no_root_squash 用戶端挂載NFS服務後,root使用者不受限制,權限很大

#root_squash 與上面選項相對,用戶端上的root使用者受到限制,被限定成某個普通使用者

3、

[root@centos7 ~]# mkdir /home/nfstestdir

[root@centos7 ~]# chmod 777 /home/nfstestdir

4、[root@centos7 ~]# systemctl start nfs

用戶端操作:

1、[root@test yum.repos.d]#  yum install -y nfs-utils

2、檢視是否有權限連接配接

[root@test yum.repos.d]# showmount -e 192.168.3.74

Export list for 192.168.3.74:

/home/nfstestdir 192.168.8.0/24

3、挂載:

[root@test yum.repos.d]#  mount -t nfs 192.168.3.74:/home/nfstestdir /mnt/

4、建立檔案,指定為1000

[root@test mnt]# touch test.log

[root@test mnt]# ll

total 0

-rw-r--r-- 1 1000 1000 0 Nov 20 09:55 test.log

exportfs指令伺服器端的操作

exportfs指令用來管理目前NFS共享的檔案系統清單

-a:全部解除安裝或全部挂載

-r:重新挂載

-u:解除安裝某個目錄

-v:顯示共享目錄

常用組合: exportfs -arv

服務端更改配置檔案後,不重新開機服務,直接執行該指令就可以使更改後的配置檔案生效。

注意: 在重新開機nfs服務之前需要先将所有挂載點解除安裝,否則将發生程式錯誤

NFS用戶端存在的問題

針對NFS4版本在centos6中應用存在如下問題:

用戶端挂載共享目錄後,不管是root使用者還是普通使用者,建立新檔案時屬主、數組為nobody。

解決方法:

方法1:在用戶端進行挂載時加上選項-o nfsvers=3

[root@test ~]# monunt -t nfs -o nfsvers=3 192.168.3.74:/tmp/ /mnt/

如果目錄已經挂載,而又不想解除安裝,執行如下指令:

monunt -t nfs -o remount,nfsvers=3 192.168.3.74:/tmp/ /mnt/

本文轉自 iekegz 51CTO部落格,原文連結:http://blog.51cto.com/jacksoner/1983401,如需轉載請自行聯系原作者