NFS------网络文件系统。主要功能是通过网络(一般局域网)让不同的主机系统之间可以共享文件或目录。 NFS端口不固定
NFS工作流程: ①先启动RPC服务 ②启动NFS服务,自动向RPC注册 ③客户端请求NFS服务 ④RPC返回IP端口 ⑤客户端拿着IP端口请求数据
修改yum.conf 记录rpm文件
[root@ntf-backup ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
安装nfs安装包
[root@ntf-backup ~]# yum -y install nfs-utils rpcbind
[root@nfs-server ~]# rpm -aq nfs-utils rpcbind
nfs-utils-1.2.3-78.el6.x86_64
rpcbind-0.2.0-16.el6.x86_64
[root@nfs-server ~]# /etc/init.d/rpcbind start (要先启动rpc,再启动nfs)
正在启动 rpcbind: [确定]
[root@nfs-server ~]# netstat -ntpau|grep rpcbind
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1425/rpcbind
tcp 0 0 :::111 :::* LISTEN 1425/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 1425/rpcbind
udp 0 0 0.0.0.0:752 0.0.0.0:* 1425/rpcbind
udp 0 0 :::111 :::* 1425/rpcbind
udp 0 0 :::752 :::* 1425/rpcbind
[root@nfs-server ~]# 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
[root@nfs-server ~]# /etc/init.d/nfs
nfs nfslock
[root@nfs-server ~]# /etc/init.d/nfs start
启动 NFS 服务: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[root@nfs-server ~]# 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 36426 mountd
100005 1 tcp 43685 mountd
100005 2 udp 58343 mountd
100005 2 tcp 39429 mountd
100005 3 udp 45346 mountd
100005 3 tcp 38027 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 35376 nlockmgr
100021 3 udp 35376 nlockmgr
100021 4 udp 35376 nlockmgr
100021 1 tcp 37467 nlockmgr
100021 3 tcp 37467 nlockmgr
100021 4 tcp 37467 nlockmgr
开机自启动:
[root@nfs-server ~]# chkconfig nfs on
[root@nfs-server ~]# chkconfig rpcbind on
NFS共享的目录:为NFS服务端要共享的实际目录,要用绝对路径,如(/data)。注意共享目录的本地权限,如果 需要读写共享,一定要让本地目录可以被NFS客户端用户nfsnobody读写。
NFS客户端地址:为NFS服务端授权的可访问共享目录的NFS客户端地址,可以为单独的IP地址或主机名、域名等也可以为整个网段地址 ,还可以用“*”来匹配所有客户端服务器,这里所谓的客户端一般来说是前端的业务服务器。
[root@nfs-server ~]# mkdir /data -p
oot@nfs-server ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) 组=65534(nfsnobody)
[root@nfs-server ~]# chown -R nfsnobody.nfsnobody /data
[root@nfs-server ~]# ll /data
总用量 12
drwxr-xr-x 5 nfsnobody nfsnobody 4096 8月 2 22:17 oldboy
drwxr-xr-x 7 nfsnobody nfsnobody 4096 8月 2 22:51 test
drwxr-xr-x 7 nfsnobody nfsnobody 4096 8月 6 21:33 www
[root@nfs-server ~]# vim /etc/exports
1 #share /data for lihao at 2018/8/28
2 /data 172.16.10.0/24(rw,sync)
"/etc/exports" 2L, 66C 已写入
[root@nfs-server ~]# cat /etc/exports
#share /data for lihao at 2018/8/28
/data 172.16.10.0/24(rw,sync)
[root@nfs-server ~]# /etc/init.d/rpcbind status
rpcbind (pid 1425) 正在运行...
[root@nfs-server ~]# /etc/init.d/nfs status
rpc.svcgssd 已停
rpc.mountd (pid 1465) 正在运行...
nfsd (pid 1480 1479 1478 1477 1476 1475 1474 1473) 正在运行...
[root@nfs-server ~]# 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 36426 mountd
100005 1 tcp 43685 mountd
100005 2 udp 58343 mountd
100005 2 tcp 39429 mountd
100005 3 udp 45346 mountd
100005 3 tcp 38027 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 35376 nlockmgr
100021 3 udp 35376 nlockmgr
100021 4 udp 35376 nlockmgr
100021 1 tcp 37467 nlockmgr
100021 3 tcp 37467 nlockmgr
100021 4 tcp 37467 nlockmgr
[root@nfs-server ~]# /etc/init.d/nfs reload
[root@nfs-server ~]# showmount -e 172.16.10.10
Export list for 172.16.10.10:
/data 172.16.10.0/24
####服务端已经配置完成#######
####客户端配置#####
[root@web ~]# showmount -e 172.16.10.10
Export list for 172.16.10.10:
/data 172.16.10.0/24
[root@web ~]# mount -t nfs 172.16.10.10:/data /mnt
[root@web mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 1.1G 16G 7% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 194M 28M 157M 15% /boot
172.16.10.10:/data 18G 1.2G 16G 8% /mnt (提示挂载成功)
##测试##
[root@web ~]# cd /mnt
[root@web mnt]# ls
oldboy test www
[root@web mnt]# touch test.txt
[root@web mnt]# echo "1123" >test.txt
[root@nfs-server ~]# cd /data
[root@nfs-server data]# ls
oldboy test test.txt www
[root@nfs-server data]# cat test.txt
1123
###完成##
NFS客户端: ①检查系统版本 hostname nfs- cat /etc/redhat-release uname -r ②安装rpc服务检查 rpm -aq nfs-utils rpcbind yum -y install nfs-utils rpcbind ③启动rpc服务并检查 /etc/init.d/rpcbind start /etc/init.d/rpcbind status ④设置开机自启动并检查 chkconfig rpcbind on chkconfig --list rpcbind ⑤检查服务端的NFS是否OK showmount -e 172.16.10.10 排查故障: 1.物理故障 ping 172.16.10.10 2.端口是否开通 Telnet 172.16.10.10 111(注意:防火墙是否开启阻挡) ⑥挂载并测试 mount -t nfs 172.16.10.10:/data /mnt
服务端配置 ①检查系统版本 hostname nfs- cat /etc/redhat-release uname -r ②安装rpc服务检查 rpm -aq nfs-utils rpcbind yum -y install nfs-utils rpcbind ③启动rpc和NFS服务并检查 /etc/init.d/rpcbind start /etc/init.d/rpcbind status rpcinfo -p localhost /etc/init.d/nfs start rpcinfo -p localhost ④设置开机自启动并检查 chkconfig rpcbind on chkconfig --list rpcbind chkconfig nfs on chkconfig --list nfs ⑤配置共享/data目录 cat >>/etc/exports<<EOF #shared data for bbs by lihao at 2018/8/31 /data 172.16.10.10/24(rw,sync) EOF cat /etc/exports ⑥创建共享目录 mkdir /data chown -R nfsnobody.nfsnobody /data ⑦平滑加载NFS服务并检查 /etc/init.d/nfs reload showmount -e 172.16.10.10