一篇干貨滿滿的 NFS 文章
一篇干貨滿滿的 NFS 文章
目錄
NFS
Windows 2008 server安裝NFS Client所需軟件
Win10 安裝 NFS client
5.1 NFS root 用戶掛載但普通用戶無(wú)寫入權(quán)限。
5.2 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容一
5.3 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容二
5.4 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容三
5.5 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容四
5.6 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容五
NFS 指定端口
1. 安裝
2. 配置
3. 啟動(dòng)并添加到開(kāi)機(jī)自啟
4. NFS 客戶端掛載
5 報(bào)錯(cuò)與解決辦法
6. Win 系統(tǒng)安裝 NFS client
NFS
1. 安裝
yum install nfs-utils -y
2. 配置
主要配置文件: /etc/exports
示例配置:
/nfsfile 192.168.10.*(rw,sync,root_squash)
/nfsfile表示 共享的目錄,注意該目錄的權(quán)限,如果我們?cè)O(shè)置好了其他的內(nèi)容時(shí),訪問(wèn)還是報(bào)錯(cuò)的話,我們可以試著將該目錄的權(quán)限設(shè)置為 777。192.168.10.* ,指定 IP 允許訪問(wèn),我們可以設(shè)置我們需要訪問(wèn)的客戶端 IP 或者網(wǎng)段,不限制的話設(shè)置為
*。(rw,sync,root_squash)參數(shù) 作用 ro 只讀 rw 讀寫 root_squash 當(dāng)NFS客戶端以root管理員訪問(wèn)時(shí),映射為NFS服務(wù)器的匿名用戶 no_root_squash 當(dāng)NFS客戶端以root管理員訪問(wèn)時(shí),映射為NFS服務(wù)器的root管理員 all_squash 無(wú)論NFS客戶端使用什么賬戶訪問(wèn),均映射為NFS服務(wù)器的匿名用戶 sync 同步,同時(shí)將數(shù)據(jù)寫入到內(nèi)存與硬盤中,保證不丟失數(shù)據(jù) async 異步,優(yōu)先將數(shù)據(jù)保存到內(nèi)存,然后再寫入硬盤;這樣效率更高,但可能會(huì)丟失數(shù)據(jù) anonuid 匿名用戶ID anongid 匿名組ID 請(qǐng)注意,NFS客戶端地址與權(quán)限之間沒(méi)有空格。
NFS 指定端口
# 查看基礎(chǔ)信息
[root@djx ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 36449 nlockmgr
100021 3 udp 36449 nlockmgr
100021 4 udp 36449 nlockmgr
100021 1 tcp 40638 nlockmgr
100021 3 tcp 40638 nlockmgr
100021 4 tcp 40638 nlockmgr
#指定 mountd 端口
[root@djx ~]# [root@mail test]# grep "PORT" /etc/sysconfig/nfs
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
# 上面的這些配置,原本默認(rèn)是注釋的,我們需要將# 去除,開(kāi)啟配置。然后我們 還需要在防火墻開(kāi)啟端口111和2049的tcp/udp,開(kāi)啟 tcp 端口 2020、662、892、32803,開(kāi)啟 udp 端口 32769
[root@djx ~]# firewall-cmd --add-port={111/tcp,111/udp,2049/tcp,2049/udp,32769/udp,2020/tcp,662/tcp,892/tcp,32803/tcp} --permanent
[root@djx ~]# firewll-cmd --reload
[root@djx ~]# systemctl restart nfs-server
[root@djx ~]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 49166 status
100024 1 tcp 58683 status
100005 1 udp 892 mountd
100005 1 tcp 892 mountd
100005 2 udp 892 mountd
100005 2 tcp 892 mountd
100005 3 udp 892 mountd
100005 3 tcp 892 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
我看到有些文章說(shuō)還需要加配置
RQUOTAD_PORT,但是我沒(méi)有加該配置,也是可以的,我看/etc/sysconfig/nfs文件里面也是沒(méi)有這個(gè)配置的,所以沒(méi)有加,也可能是版本不一樣,我的環(huán)境是 CentOS Linux release 7.4.1708 , nfs 版本為:nfs-utils-1.3.0-0.61.el7.x86_64
3. 啟動(dòng)并添加到開(kāi)機(jī)自啟
由于在使用NFS服務(wù)進(jìn)行文件共享之前,需要使用RPC(Remote Procedure Call,遠(yuǎn)程過(guò)程調(diào)用)服務(wù)將NFS服務(wù)器的IP地址和端口號(hào)等信息發(fā)送給客戶端。因此,在啟動(dòng)NFS服務(wù)之前,還需要順帶重啟并啟用rpcbind服務(wù)程序,并將這兩個(gè)服務(wù)一并加入開(kāi)機(jī)啟動(dòng)項(xiàng)中。
[root@djx ~]# systemctl restart rpcbind
[root@djx ~]# systemctl enable rpcbind
[root@djx ~]# systemctl restart nfs-server
[root@djx ~]# systemctl enable nfs-server
4. NFS 客戶端掛載
NFS客戶端的配置步驟也十分簡(jiǎn)單。先使用showmount命令(以及必要的參數(shù),見(jiàn)下表)查詢NFS服務(wù)器的遠(yuǎn)程共享信息,其輸出格式為“共享的目錄名稱 允許使用客戶端地址”。
showmount命令中可用的參數(shù)以及作用
| 參數(shù) | 作用 |
|---|---|
| -e | 顯示NFS服務(wù)器的共享列表 |
| -a | 顯示本機(jī)掛載的文件資源的情況NFS資源的情況 |
| -v | 顯示版本號(hào) |
[root@djx ~]# showmount -e 192.168.10.10
Export list for 192.168.10.10:
/nfsfile 192.168.10.*
然后在NFS客戶端創(chuàng)建一個(gè)掛載目錄。使用 mount 命令并結(jié)合-t參數(shù),指定要掛載的文件系統(tǒng)的類型,并在命令后面寫上服務(wù)器的IP地址、服務(wù)器上的共享目錄以及要掛載到本地系統(tǒng)(即客戶端)的目錄。
[root@linuxprobe ~]# mkdir /nfsfile
[root@linuxprobe ~]# mount -t nfs 192.168.10.10:/nfsfile /nfsfile
掛載成功后就應(yīng)該能夠順利地看到在執(zhí)行前面的操作時(shí)寫入的文件內(nèi)容了。如果希望NFS文件共享服務(wù)能一直有效,則需要將其寫入到fstab文件中:
[root@linuxprobe ~]# cat /nfsfile/readme
welcome to linuxprobe.com
[root@linuxprobe ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 4 19:26:23 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0
5 報(bào)錯(cuò)與解決辦法
5.1 NFS root 用戶掛載但普通用戶無(wú)寫入權(quán)限。
最近在使用 NFS 的過(guò)程中遇到了這樣的問(wèn)題,就是我們掛載好共享的文件后(掛載只能 root 用戶進(jìn)行掛載),我們用普通用戶來(lái)對(duì)掛載的目錄進(jìn)行創(chuàng)建文件是發(fā)現(xiàn)會(huì)報(bào)錯(cuò)的,會(huì)提示權(quán)限不足。
這個(gè)問(wèn)題的解決辦法是 :通過(guò)設(shè)置 anonuid=0和 anongid=0 和 all_squash。這個(gè)設(shè)置實(shí)現(xiàn)了無(wú)論NFS客戶端使用什么賬戶訪問(wèn),均映射為NFS服務(wù)器的 id 為 0 的用戶,也就是 root 用戶。這樣普通用戶也會(huì)有權(quán)限在該目錄下面創(chuàng)建文件的權(quán)限,并且創(chuàng)建的文件的所有者是屬于 root 的。
擴(kuò)展:當(dāng)我們?cè)诳蛻舳撕头?wù)端有相同的用戶,而且 id 一致的時(shí)候,我們可以 設(shè)置
anonuid為一致的 id。,這樣我們創(chuàng)建文件的所有者就是 該 id 的所對(duì)應(yīng)的用戶了。注意需要 id 一致哦。
5.2 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容一
window連接linux nfs服務(wù)器 —— 網(wǎng)絡(luò)錯(cuò)誤 53
需要修改配置 ,增加參數(shù):insecure

5.3 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容二
針對(duì)的是 windows 2008 server作為客戶端mount的時(shí)候
如果我們?cè)O(shè)置為上面的內(nèi)容后,發(fā)現(xiàn)連接的時(shí)候還是報(bào) 53的錯(cuò)誤。我們可以進(jìn)行下面的第二步設(shè)置。
在 配置文件 /etc/exports 設(shè)置讀寫權(quán)限的時(shí)候 設(shè)置參數(shù) no_root_squash,不設(shè)置這個(gè)不行。
更改配置后需要重啟 nfs server 。
systemctl start nfs-server
5.4 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容三
我們映射的目錄權(quán)限最好為 777 ,否則可能訪問(wèn)不到。
5.5 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容四
客戶端進(jìn)行 mount 路徑有誤。看下面示例:
例如映射的 目錄是 /home ,那么 mount 的命令是 :
mount \\192.168.1.23\home X:\
例如映射的 目錄是 /home/test ,那么 mount 的命令是 :
mount \\192.168.1.23\home/test X:\
注意多級(jí)目錄后面就不是使用 \ 而是用 / 。
5.6 網(wǎng)絡(luò)錯(cuò)誤 53 內(nèi)容五
映射為本地的磁盤時(shí),我們要選擇我們沒(méi)有使用的磁盤符。選用 X、Y、W等這些平常一般不使用的盤符號(hào)。
6. Win 系統(tǒng)安裝 NFS client
Windows 2008 server安裝NFS Client所需軟件
通過(guò)Server Manager,
1.添加角色,選中File Services,然后按照向?qū)崾景惭b。
2.添加Features,安裝Remote Server Administration Tools/Role Administration Tools/File Services Tool/Services for Network File System Tools
需要安裝Services For Network File System
然后運(yùn)行Services For Network File system,啟動(dòng)client for NFS
Win10 安裝 NFS client

鏈接:https://www.cnblogs.com/operationhome/p/11700700.html
(版權(quán)歸原作者所有,侵刪)


