日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搭建nfs共享存储服务之一nfs服务端搭建

發布時間:2025/3/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建nfs共享存储服务之一nfs服务端搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:NFS相當于房源,RPC相當于中介。

nfs-utils:? NFS服務的主程序,包括rpc.nfsd、rpc.mountd這兩個daemon和相關文件說明,以及執行命令文件等。

rpcbind:? centos6.x下面RPC的主程序。NFS可以視為一個RPC程序,在啟動任何一個RPC程序之前,需要做好端口和功能的對應映射工作,這個映射工作就是由rpcbind服務來完成的。因此,在提供NFS服務之前必須先啟動rpcbind服務才行。


1. 安裝nfs程序包(nfs-utils和rpcbind兩個程序包)

1.1 檢查NFS程序是否安裝,如未安裝需要安裝

可使用如下命令查看默認情況下centos6里NFS軟件的安裝情況

[root@oldboy ~]# rpm -qa nfs-utils rpcbind? #這個不用管道的命令更有效率,默認是沒有安裝的。


vi /etc/yum.conf中把keepcache=0設置為keepcache=1意思是yum安裝后不刪除安裝包。

當不知道軟件名字時候,可以用rpm -aq |grep -E "nfs-|rpcbind"來過濾包含在引號內的字符串。grep -E在這里相當于egrep。grep、egrep這兩個命令在運維工作中非常常用并且很好用。

先安裝基礎軟件

[root@oldboy ~]# yum install lrzsz nmap tree dos2unix nc -y

[root@oldboy ~]#yum update或者yum upgrade兩個至少要執行一個,相當于打補丁。

用yum安裝nfs和rpc兩個程序

[root@backup ~]# yum install nfs-utils rpcbind -y

安裝完成后可以看到rpm軟件包沒有被刪除

[root@backup ~]# tree /var/cache/yum/x86_64/6/base/packages/
/var/cache/yum/x86_64/6/base/packages/
|-- dos2unix-3.1-37.el6.x86_64.rpm
|-- keyutils-1.4-5.el6.x86_64.rpm
|-- libevent-1.4.13-4.el6.x86_64.rpm
|-- libgssglue-0.1-11.el6.x86_64.rpm
|-- lrzsz-0.12.20-27.1.el6.x86_64.rpm
|-- nc-1.84-24.el6.x86_64.rpm
|-- nfs-utils-1.2.3-75.el6.x86_64.rpm
|-- nfs-utils-lib-1.1.5-13.el6.x86_64.rpm
|-- nmap-5.51-6.el6.x86_64.rpm
`-- tree-1.5.3-3.el6.x86_64.rpm

用tar -zcvf打包把/var/cache/yum/x86_64/6/base/packages/目錄打包成nfs-rpm.tar.gz文件

[root@backup ~]# tar -zcvf nfs-rpm.tar.gz /var/cache/yum/x86_64/6/base/packages/
tar: Removing leading `/' from member names
/var/cache/yum/x86_64/6/base/packages/
/var/cache/yum/x86_64/6/base/packages/nfs-utils-lib-1.1.5-13.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/keyutils-1.4-5.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/nfs-utils-1.2.3-75.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/nc-1.84-24.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/libevent-1.4.13-4.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/libgssglue-0.1-11.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/tree-1.5.3-3.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/dos2unix-3.1-37.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/nmap-5.51-6.el6.x86_64.rpm

/>rz
zmodem ? ° Ctrl+C?
? 100%??? 3425 KB 3425 KB/s 00:00:01?????? 0 Errors

然后使用sz -y nfs-rpm.tar.gz把nfs-rpm.tar.gz下載到windows本次保存起來。


2. 啟動nfs相關服務

2.1? 啟動rpcbind和nfs服務。

啟動rpcbind服務。

因為NFS及其輔助程序都是屬于RPC(Remote Procedure CAll)協議的(使用的端口111),所以首先要確保系統運行了rpcbind服務。

啟動rpc服務器:

[root@oldboy ~]# /etc/init.d/rpcbind start
Starting rpcbind:????????????????????????????????????????? [? OK? ]

查看rpc服務對應的端口是111

[root@oldboy ~]# netstat -lntup |grep rpc
tcp??????? 0????? 0 0.0.0.0:111??????????&a??????????????? 0.0.0.0:*?????????????????? LISTEN????? 2020/rpcbind????????
tcp??????? 0????? 0 :::111????????????????????? :::*??????????????????????? LISTEN????? 2020/rpcbind????????
udp??????? 0????? 0 0.0.0.0:111???????????????? 0.0.0.0:*?????????????????????????????? 2020/rpcbind????????
udp??????? 0????? 0 0.0.0.0:923???????????????? 0.0.0.0:*?????????????????????????????? 2020/rpcbind????????
udp??????? 0????? 0 :::111????????????????????? :::*??????????????????????????????????? 2020/rpcbind????????
udp??????? 0????? 0 :::923????????????????????? :::*??????????????????????????????????? 2020/rpcbind????????

查看是否有房源

[root@oldboy ~]# 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? portmappe

啟動nfs,相當于向rpc注冊房源

[root@oldboy ~]# /etc/init.d/nfs start
Starting NFS services:???????????????????????????????????? [? OK? ]
Starting NFS quotas:?????????????????????????????????????? [? OK? ]
Starting NFS mountd:?????????????????????????????????????? [? OK? ]
Starting NFS daemon:?????????????????????????????????????? [? OK? ]
Starting RPC idmapd:?????????????????????????????????????? [? OK? ]

再看中介有沒有房

[root@oldboy ~]# 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? 34914? mountd
??? 100005??? 1?? tcp? 43493? mountd
??? 100005??? 2?? udp? 50054? mountd
??? 100005??? 2?? tcp? 48624? mountd
??? 100005??? 3?? udp? 37236? mountd
??? 100005??? 3?? tcp? 39378? 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? 45751? nlockmgr
??? 100021??? 3?? udp? 45751? nlockmgr
??? 100021??? 4?? udp? 45751? nlockmgr
??? 100021??? 1?? tcp? 44021? nlockmgr
??? 100021??? 3?? tcp? 44021? nlockmgr
??? 100021??? 4?? tcp? 44021? nlockmgr
nfs主端口2049是不變的,rpc主端口是111

所有的進程都會對應一個用戶,yum安裝后就會自動創建

[root@oldboy ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)

假設把rpc服務停了,就找不到nfs了。

[root@oldboy ~]# /etc/init.d/rpcbind stop
Stopping rpcbind:????????????????????????????????????????? [? OK? ]
[root@oldboy ~]# rpcinfo -p localhost
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused

這時啟動nfs就會報錯

[root@oldboy ~]# /etc/init.d/nfs restart
Shutting down NFS daemon:????????????????????????????????? [? OK? ]
Shutting down NFS mountd:????????????????????????????????? [? OK? ]
Shutting down NFS quotas:????????????????????????????????? [? OK? ]
Shutting down RPC idmapd:????????????????????????????????? [? OK? ]
Starting NFS services:???????????????????????????????????? [? OK? ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
?????????????????????????????????????????????????????????? [FAILED]
Starting NFS mountd:?????????????????????????????????????? [FAILED]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
?????????????????????????????????????????????????????????? [FAILED]

剛剛只是測試而已,還是要啟動rpcbind的

執行命令啟用rcpbind

/etc/init.d/rpcbind srart

啟動nfs服務

/etc/init.d/nfs srart

在到rpcbind查看是否有nfs

rpcinfo -p localhost

2.2設置開機啟動

[root@oldboy ~]# chkconfig nfs on
[root@oldboy ~]# chkconfig rpcbind on

查看啟動先后順序:grep -E

[root@oldboy ~]# ls /etc/rc.d/rc3.d/|grep -E "nfs|rpc"
K61nfs-rdma
K69rpcsvcgssd
S13rpcbind
S14nfslock
S19rpcgssd
S30nfs

[root@oldboy ~]# head /etc/init.d/nfs
#!/bin/sh
#
# nfs?????????? This shell script takes care of starting and stopping
#?????????????? the NFS services.
#
# chkconfig: - 30 60
# description: NFS is a popular protocol for file sharing across networks.
#????????????? This service provides NFS server functionality, which is \
#????????????? configured via the /etc/exports file.
# probe: true

運行NFS服務默認需要啟動的服務或者進程至少有:NFS quotas(rpc.rquotad)、NFS daemon(nfsd)、NFS mountd(rpc.mountd)。可以通過執行如下命令查看啟動NFS后,系統中運行的NFS相關進程。

[root@oldboy ~]# ps -ef|egrep "nfs|rpc"
root?????? 2080????? 2? 0 12:35 ???????? 00:00:00 [rpciod/0]
root?????? 2081????? 2? 0 12:35 ???????? 00:00:00 [rpciod/1]
rpc??????? 2499????? 1? 0 12:47 ???????? 00:00:00 rpcbind
root?????? 2567????? 1? 0 12:49 ???????? 00:00:00 rpc.rquotad
root?????? 2572????? 1? 0 12:49 ???????? 00:00:00 rpc.mountd
root?????? 2579????? 2? 0 12:49 ???????? 00:00:00 [nfsd4]
root?????? 2580????? 2? 0 12:49 ???????? 00:00:00 [nfsd4_callbacks]
root?????? 2581????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2582????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2583????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2584????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2585????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2586????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2587????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2588????? 2? 0 12:49 ???????? 00:00:00 [nfsd]
root?????? 2619????? 1? 0 12:49 ???????? 00:00:00 rpc.idmapd
root?????? 2693?? 2677? 0 13:01 pts/0??? 00:00:00 egrep nfs|rpc




NFS服務端總結:

1.打印系統版本

cat /etc/redhat-release

uname -r

uname -m

2.檢查并安裝NFS服務

rpm -qa nfs-utils rpcbind

LANG=en

yum install nfs-utils rpcbind

rpm -qa nfs-utils rpcbind

3.啟動RPC及服務并檢查

/etc/init.d/rpcbind start

ps -ef |grep rpc

/etc/init.d/rpcbind status

rpcinfo -p localhost


/etc/init.d/nfs start

rpcinfo -p localhost

4.設置開機自啟動并檢查

chkconfig nfs on

chkconfig rpcbind on


chkconfig --list nfs

chkconfig --list rpcbind

5.配置共享/data目錄

cat >>/etc/exports<<EOF

#shared data for bbs by jeremy at 20170806

/data 172.16.1.0/24(rw,sync)

EOF

cat /etc/exports

6.創建共享目錄

mkdir /data

ll /data

chown -R nfsnobody.nfsnobody /data


cat /var/lib/nfs/etab 參看配置參數

[root@oldboy ~]# cat /var/lib/nfs/etab
/data?? 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)


7.平滑加載NFS服務并檢查服務。

/etc/init.d/nfs reload (相當于exports -rv)

showmount -e localhost

showmount -e 172.16.1.31

mount -t nfs 172.16.1.31:/data /mnt

umount /mnt

本文轉自sandshell博客51CTO不可靠,原文鏈接http://blog.51cto.com/sandshell/1953976如需轉載請自行聯系原作者


sandshell

總結

以上是生活随笔為你收集整理的搭建nfs共享存储服务之一nfs服务端搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。