NFS網路檔案共享服務的配置和排錯總結
1.什麼是NFS?
NFS,全名叫Network File System,中文叫網路檔案系統,是Linux、UNIX系統的分散式檔案系統的一個組成部分,可實現在不同網路上共享遠端檔案系統。NFS由Sun公 司開發,目前已經成為檔案服務的一種標準之一。其最大的功能就是可以通過網路,讓不同作業系統的計算機可以共享資料, 所以可以把NFS看做是一個檔案伺服器。NFS缺點是其讀寫效能比本地硬碟要差一些。
2.使用yum安裝nfs-utils、rpcbind
實驗環境
centos 6.6
nfs-server 10.0.0.130
lamp-client 10.0.0.137
lnmp-client 10.0.0.138
3.nfs服務端軟體安裝
[root@nfs-server ~]# yum -y install nfs-utils rpcbind
建立共享資料夾
[root@nfs-server ~]# mkdir -p {/data/r_shared,/data/w_shared}
檢視檔案是否建立成功
[root@nfs-server data]# ll
總用量 8
drwxr-xr-x 2 nfsnobody root 4096 4月 23 15:13 r_shared
drwxr-xr-x 2 nfsnobody root 4096 4月 23 15:24 w_shared
[root@nfs-server data]#
給檔案授權
[root@nfs-server data]# chown -R nfsnobody r_shared w_shared
[root@nfs-server data]# ll
總用量 8
drwxr-xr-x 2 nfsnobody root 4096 4月 23 15:13 r_shared
drwxr-xr-x 2 nfsnobody root 4096 4月 23 15:24 w_shared
[root@nfs-server data]#
4.啟動rpcbind、nfs
[root@nfs-server ~]# /etc/init.d/rpcbind start
[root@nfs-server ~]# /etc/init.d/nfs start
[root@nfs-server ~]# /etc/init.d/nfs status
rpc.svcgssd 已停
rpc.mountd (pid 4759) 正在執行…
nfsd (pid 4775 4774 4773 4772 4771 4770 4769 4768) 正在執行…
rpc.rquotad (pid 4754) 正在執行…
[root@nfs-server ~]# /etc/init.d/rpcbind status
rpcbind (pid 1656) 正在執行…
[root@nfs-server ~]#
[root@nfs ~]# lsof -i :111
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 2664 rpc 6u IPv4 15806 0t0 UDP *:sunrpc
rpcbind 2664 rpc 8u IPv4 15809 0t0 TCP *:sunrpc (LISTEN)
rpcbind 2664 rpc 9u IPv6 15811 0t0 UDP *:sunrpc
rpcbind 2664 rpc 11u IPv6 15814 0t0 TCP *:sunrpc (LISTEN)
[root@nfs ~]# netstat -tunpl|grep “111”
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2664/rpcbind
tcp 0 0 :::111 :::* LISTEN 2664/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 2664/rpcbind
udp 0 0 :::111 :::* 2664/rpcbind
[root@nfs ~]#
[root@nfs ~]# chkconfig –list rpcbind 檢視開機是否自啟
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@nfs ~]#
[root@nfs ~]# /etc/init.d/nfs status
rpc.svcgssd 已停
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
[root@nfs ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
正在啟動 RPC idmapd: [確定]
[root@nfs ~]# netstat -tunpl |grep 2049
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN –
tcp 0 0 :::2049 :::* LISTEN –
udp 0 0 0.0.0.0:2049 0.0.0.0:* –
udp 0 0 :::2049 :::* –
[root@nfs ~]# lsof -i:2049
[root@nfs ~]# 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
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100005 1 udp 48501 mountd
100005 1 tcp 36022 mountd
100005 2 udp 43391 mountd
100005 2 tcp 39405 mountd
100005 3 udp 49218 mountd
100005 3 tcp 41793 mountd
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049 nfs_acl
100227 3 tcp 2049 nfs_acl
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049 nfs_acl
100227 3 udp 2049 nfs_acl
100021 1 udp 59606 nlockmgr
100021 3 udp 59606 nlockmgr
100021 4 udp 59606 nlockmgr
100021 1 tcp 56597 nlockmgr
100021 3 tcp 56597 nlockmgr
100021 4 tcp 56597 nlockmgr
[root@nfs ~]#
5.修改nfs配置檔案
[root@nfs-server ~]# vi /etc/exports
/data/w_shared 10.0.0.0/24(rw,sync,all_squash)
/data/r_shared 10.0.0.0/24(ro)
注:下面介紹一些配置檔案中常用的引數含義,以及客戶端的IP地址的格式。
rw:可讀寫許可權。
ro:只讀許可權。
no_root_squash:當登入NFS伺服器主機使用共享目錄的使用者是root時,其許可權將被轉換成為匿名使用者,通常它的UID與GID都會變成nobody身份。
root_squash;如果登入NFS主機使用共享目錄的使用者是root,那麼對於這個共享的目錄來說,它具有root的許可權,這樣會涉及到安全性的問題。
all_squash:忽略登入NFS使用者的身份,其身份都會被轉換為匿名使用者,通常即nobody。
anonuid:通常為nobody,也可以自行設定這個UID的值,UID必須存在於/etc/passwd中。
anongid:同anonuid,但是變為Group ID。
sync:同步寫入資料到記憶體與硬碟中。
async:資料會先暫存於記憶體中,而非直接寫入硬碟。
[root@nfs-server ~]#exportfs -r 讓其平滑生效
6.nfs客服端配置
[root@lamp01 ~]# yum -y install nfs-utils rpcbind
建立掛載點目錄
[root@lamp01 ~]# mkdir -p {/data/b_r,/data/b_w}
檢視檔案是否建立成功
[root@lamp01 ~]# ll /data
總用量 8
drwxr-xr-x 2 nfsnobody root 4096 4月 23 15:13 b_r
drwxr-xr-x 2 nfsnobody root 4096 4月 23 15:24 b_w
測試掛載
[root@lamp01 ~]# showmount -e 10.0.0.130
Export list for 10.0.0.130:
/data/r_shared 10.0.0.0/24
/data/w_shared 10.0.0.0/24
[root@lamp01 ~]#
掛載
[root@lamp01 ~]#mount.nfs 10.0.0.130:/data/r_shared /data/b_r
[root@lamp01 ~]#mount -t nfs 10.0.0.130:/data/w_shared /data/b_w
檢視是否掛載成功
[root@lamp01 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 18244476 1582428 15728624 10% /
tmpfs 515244 0 515244 0% /dev/shm
/dev/sda1 194241 25657 158344 14% /boot
10.0.0.130:/data/r_shared
18244480 1582464 15728640 10% /data/b_r
10.0.0.130:/data/w_shared
18244480 1582464 15728640 10% /data/b_w
[root@lamp01 ~]#
同理在另個客服端使用相同的方法進行掛載即可。
一、NFS服務常見故障排查:
NFS服務出現了故障,主要從以下幾個方面檢查原因:
(1)檢查NFS客戶機和伺服器的負荷是否太高,Server和Client之間的網路是否正常;
(2)檢查/etc/exports檔案的正確性;
(3)必要時重啟NFS和portmap服務;
(4)執行下列命令重新啟動portmap和NFS:
# /etc/init.d/portmap restart (先啟動portmap或rpcbind)
# /etc/init.d/nfs restart
# /etc/init.d/rpcbind restart (在RHEL/CentOS 6.x裡面)
# chkconfig portmap on
# chkconfig nfs on
# chkconfig rpcbind on (在RHEL/CentOS 6.x裡面)
二、NFS常見故障解決方法:
1、The rpcbind failure error
故障現象:
nfs mount: server1:: RPC: Rpcbind failure
RPC: Timed Out
nfs mount: retrying: /mntpoint
原因:
第一,可能因為客戶機的hosts檔案中存在錯誤的ip地址、主機名或節點名組合;
第二,伺服器因為過載而暫時停止服務。2、The server not responding error
現象:
NFS server server2 not responding, still trying
原因:
第一,網路不通,用ping命令檢測一下。
第二,伺服器關機。3、The NFS client fails a reboot error
現象:
啟動客戶機後停住了,不斷顯示如下提示資訊:
Setting default interface for multicast: add net 224.0.0.0: gateway:
client_node_name.
原因:
在etc/vfstab的mount選項中使用了fg而又無法成功mount伺服器上的資源,改成bg或將該行註釋掉,直到伺服器可用為止。4、The service not responding error
現象:
nfs mount: dbserver: NFS: Service not responding
nfs mount: retrying: /mntpoint
原因:
第一,當前級別不是級別3,用who -r檢視,用init 3切換。
第二,NFS Server守護程式不存在,用ps -ef | grep nfs檢查,用/etc/init.d/nfs start啟動。5、The program not registered error
現象:
nfs mount: dbserver: RPC: Program not registered
nfs mount: retrying: /mntpoint
原因:
第一,當前級別不是級別3。
第二,mountd守護程式沒有啟動,用/etc/init.d/nfs指令碼啟動NFS守護程式。
第三,看/etc/dfs/dfstab中的條目是否正常。6、The stale file handle error
現象:
stale NFS file handle
原因:
伺服器上的共享資源移動位置了,在客戶端使用umount和mount重新掛接就可以了。7、The unknown host error
現象:
nfs mount: sserver1:: RPC: Unknown host
原因:
hosts檔案中的內容不正確。8、The mount point error
現象:
mount: mount-point /DS9 does not exist.
原因:
該掛接點在客戶機上不存在,注意檢查命令列或/etc/vfstab檔案中相關條目的拼寫。9、The no such file error
現象:
No such file or directory.
原因:
該掛接點在伺服器上不存在,注意檢查命令列或/etc/vfstab檔案中相關條目的拼寫。10、No route to host
錯誤現象:
# mount 10.10.11.211:/opt/data/xmldb /c2c-web1/data/xmldb -t nfs -o rw
mount: mount to NFS server ’10.10.11.211′ failed: System Error: No route to host.原因:
防火牆被開啟,關閉防火牆。
這個原因很多人都忽視了,如果開啟了防火牆(包括iptables和硬體防火牆),NFS預設使用111埠,我們先要檢測是否開啟了這個埠,還要檢查TCP_Wrappers的設定。11、Not owner
現象:
# mount -F nfs -o rw 10.10.2.3:/mnt/c2c/data/resinfo2 /data/data/resinfo2
nfs mount: mount: /data/data/resinfo2: Not owner原因:
這是Solaris 10版本掛載較低版本nfs時報的錯誤。解決:
需要用-o vers=3引數示例:
# mount -F nfs -o vers=3 10.10.2.3:/mnt/c2c/data/resinfo2 /data/data/resinfo212、RPC: Program not registered & retrying
現象:
nfs mount: 10.10.2.3: : RPC: Program not registered
nfs mount: retrying: /data/data/resinfo2原因:
沒有啟動NFS共享端服務。解決:需要重新啟動share端的NFS服務,
Linux:
mount: RPC: Program not registered
# /etc/init.d/nfs restartSolaris:
mount: RPC: Program not registered
# /etc/rc.d/init.d/nfs restart13、can’t contact portmapper: RPC: Remote system error – Connection refused
現象:
# exportfs -a
can’t contact portmapper: RPC: Remote system error – Connection refused原因:
出現這個錯誤資訊是由於server端的portmap沒有啟動。解決:
# /etc/init.d/portmap start
本文轉自chengong1013 51CTO部落格,原文連結:http://blog.51cto.com/purify/1767039,如需轉載請自行聯絡原作者
相關文章
- Linux系統配置NFS檔案共享服務LinuxNFS
- 10月14日 網路檔案共享服務 2 NFS服務和SAMBA服務NFSSamba
- 《NFS檔案共享服務的搭建》RHELNFS
- 網路檔案共享服務
- NFS服務配置總結NFS
- Linux 訪問網路檔案共享服務Linux
- redhat7 配置檔案共享服務Redhat
- 檔案共享服務
- NFS網路檔案共享NFS
- FTP檔案共享服務FTP
- NFS網路檔案系統NFS
- Linux下NFS(網路檔案系統)的建立與配置方法LinuxNFS
- 部署YUM倉庫及NFS共享服務NFS
- cifs檔案系統{samba檔案共享服務}Samba
- 任務排程的思考和總結
- NFS網路檔案系統詳解NFS
- 網路管理員指南 -11.網路檔案系統NFS -1>準備和安裝NFS(轉)NFS
- 網路管理員指南 -11.網路檔案系統NFS -2>NFS Daemon(轉)NFS
- 如何實現Samba檔案共享服務Samba
- 【openEuler系列】部署檔案共享服務SambaSamba
- MyBatis配置檔案總結MyBatis
- FreeBSD網路檔案系統(NFS)(轉)NFS
- NFS-UNIX 中的網路檔案系統(轉)NFS
- 檔案路徑總結
- NfS網路共享檔案系統環境搭建NFS
- NFS 網路檔案系統測試筆記NFS筆記
- Linux7.0 NFS網路檔案系統LinuxNFS
- 網路管理員指南 -11.網路檔案系統NFS -3>輸出檔案(轉)NFS
- oracle的網路配置檔案(轉)Oracle
- Spring學習總結(24)——Spring配置檔案載入路徑總結Spring
- Spring Boot 配置檔案總結Spring Boot
- 關於spring的配置檔案總結Spring
- oracle網路配置:三個配置檔案Oracle
- 多種TNS報錯總結--監聽器及tnsnames.ora配置檔案多種出錯總結
- Linux配置NFS實現檔案共享LinuxNFS
- Linux CentOS 檔案共享NFS的安裝配置LinuxCentOSNFS
- linux-掛載NFS網路檔案系統教程LinuxNFS
- NFS介紹、NFS服務端安裝配置、NFS配置選項NFS服務端