天天看點

centos7.1安裝nfs

環境:centos7.1 

server:192.168.0.63 

client:192.168.0.64 (centos7.1 用戶端)

共享檔案的目錄使用者為:web(uid:1000,gid:1000)

一、安裝

yum -y install nfs-utils rpcbind

nfs 的配置檔案 /etc/expots

共享目錄賦予權限:chmod 755  /home/data

vim /etc/exports

/home/data  192.168.0.0/24(rw,async,insecure,anonuid=1000,anongid=1000,no_root_squash)

二、使配置生效

exportfs -rv

#配置檔案說明:

-----------------------------

/opt/test 為共享目錄

192.168.1.0/24  可以為一個網段,一個IP,也可以是域名,域名支援通配符 如: *.com

rw:read-write,可讀寫;

ro:read-only,隻讀;

sync:檔案同時寫入硬碟和記憶體;

async:檔案暫存于記憶體,而不是直接寫入記憶體;

no_root_squash:NFS用戶端連接配接服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。

root_squash:NFS用戶端連接配接服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,擁有匿名使用者權限,通常他将使用nobody或nfsnobody身份;

all_squash:不論NFS用戶端連接配接服務端時使用什麼使用者,對服務端分享的目錄來說都是擁有匿名使用者權限;

anonuid:匿名使用者的UID值

anongid:匿名使用者的GID值。備注:其中anonuid=1000,anongid=1000,為此目錄使用者web的ID号,達到連接配接NFS使用者權限一緻。

defaults 使用預設的選項。預設選項為rw、suid、dev、exec、auto nouser與async。

atime 每次存取都更新inode的存取時間,預設設定,取消選項為noatime。

noatime 每次存取時不更新inode的存取時間。

dev 可讀檔案系統上的字元或塊裝置,取消選項為nodev。

nodev 不讀檔案系統上的字元或塊裝置。

exec 可執行二進制檔案,取消選項為noexec。

noexec 無法執行二進制檔案。

auto 必須在/etc/fstab檔案中指定此選項。執行-a參數時,會加載設定為auto的裝置,取消選取為noauto。

noauto 無法使用auto加載。

suid 啟動set-user-identifier設定使用者ID與set-group-identifer設定組ID設定位,取消選項為nosuid。

nosuid 關閉set-user-identifier設定使用者ID與set-group-identifer設定組ID設定位。

user 普通使用者可以執行加載操作。

nouser 普通使用者無法執行加載操作,預設設定。

remount 重新加載裝置。通常用于改變裝置的設定狀态。

rsize 讀取資料緩沖大小,預設設定1024。--影響性能

wsize 寫入資料緩沖大小,預設設定1024。

fg 以前台形式執行挂載操作,預設設定。在挂載失敗時會影響正常操作響應。

bg 以背景形式執行挂載操作。

hard 硬式挂載,預設設定。如果與伺服器通訊失敗,讓試圖通路它的操作被阻塞,直到伺服器恢複為止。

soft 軟式挂載。伺服器通訊失敗,讓試圖通路它的操作失敗,傳回一條出錯消息。這項功能對于避免程序挂在無關緊要的安裝操作上來說非常有用。

retrans=n 指定在以軟方式安裝的檔案系統上,在傳回一條出錯消息之前重複送出請求的次數。

nointr 不允許使用者中斷,預設設定。

intr 允許使用者中斷被阻塞的操作并且讓它們傳回一條出錯消息。

timeo=n 設定請求的逾時時間以十分之一秒為機關。

tcp 傳輸預設使用udp,可能出現不穩定,使用proto=tcp更改傳輸協定。用戶端參考mountproto=netid

(以上内容:參考:man nfs)

三、啟動nfs

systemctl enable rpcbind

systemctl start rpcbind

systemctl enable nfs-server

systemctl start nfs-server

确認NFS伺服器啟動成功:

rpcinfo -p

檢視具體目錄挂載權限

cat /var/lib/nfs/etab

四、用戶端挂載:

1、linux用戶端挂載:

在從機上安裝NFS 用戶端

首先是安裝nfs,然後啟動rpcbind服務

systemctl enable rpcbind.service

systemctl start rpcbind.service

注意:用戶端不需要啟動nfs服務

檢查 NFS 伺服器端是否有目錄共享:

showmount -e nfs伺服器的IP

showmount -e 192.168.0.63     

用戶端挂載#開機自動挂載

vim /etc/fstab  

192.168.0.63:/home/data    /home/data     nfs4 rw,hard,intr,proto=tcp,port=2049,noauto    0  0

手工挂載:

mount -t nfs 192.168.0.63:/home/data /home/data

#檢視是否挂載成功。

df -h 

NFS預設是用UDP協定,換成TCP協定達到穩定傳輸目的:

mount -t nfs 192.168.0.63:/home/data /home/data -o proto=tcp -o nolock

2、windows用戶端挂載:

1)、Win7自帶的NFS用戶端可以在“控制台”->“程式”->“WIndows 功能”找到->nfs-安裝。

2)、由于自帶的用戶端功能少,缺少使用者名映射,功能,是以必然會遇到權限的問題。是以需要自行配置權限問題

擷取nfs server 使用者web的gid和uid,并記錄uid和gid,目前為:1000

打開系統資料庫編輯器,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default,添加兩個REG_DWORD值,填上uid和gid(10進制)完成後重新開機電腦

系統資料庫導出是如下格式 :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default]

"AnonymousGid"=dword:000003e8

"AnonymousUid"=dword:000003e8

3、挂載到Z盤

mount -o anon mtype=soft lang=ansi  \\192.168.0.63\home\data\  Z:\

事項:一定要用軟裝載模式(mtype=soft),防止資料總管停止響應,不能用utf-8

參考:http://nfs.sourceforge.net/nfs-howto/index.html

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

繼續閱讀