NFS 是Network File System的缩写,即网络文件系统
NFS 的基本功能是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”
实验环境
CentOS 6.6
服务器ip: 10.89.3.105
客户端ip: 10.89.3.106
查看服务端是否安装了 rpcbind
[root@nfsservice ~]# rpm -qa nfs-utils rpcbind
nfs-utils-1.2.3-54.el6.i686
rpcbind-0.2.0-11.el6.i686
如果没有安装则安装:
yum install nfs-utils rpcbind -y
2.服务端:
启动rpc服务端并检查
[root@nfsservice ~]# /etc/init.d/rpcbind start
[root@nfsservice ~]# ps -ef|grep rpc
rpc 1102 1 0 22:58 ? 00:00:00 rpcbind
rpcuser 1122 1 0 22:58 ? 00:00:00 rpc.statd
root 1588 1540 0 23:03 pts/0 00:00:00 grep rpc
[root@nfsservice ~]# /etc/init.d/rpcbind status
rpcbind (pid 1102) 正在运行...
[root@nfsservice ~]# 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
100024 1 udp 41082 status
100024 1 tcp 35711 status
3. 启动NFS 服务并检查
[root@nfsservice ~]# /etc/init.d/nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[root@nfsservice ~]# 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
100024 1 udp 41082 status
100024 1 tcp 35711 status
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100005 1 udp 59627 mountd
100005 1 tcp 38110 mountd
100005 2 udp 32793 mountd
100005 2 tcp 43100 mountd
100005 3 udp 41167 mountd
100005 3 tcp 57572 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 35633 nlockmgr
100021 3 udp 35633 nlockmgr
100021 4 udp 35633 nlockmgr
100021 1 tcp 58352 nlockmgr
100021 3 tcp 58352 nlockmgr
100021 4 tcp 58352 nlockmgr
加人开机自启动并检查
[root@nfsservice ~]# chkconfig nfs on
[root@nfsservice ~]# chkconfig rpcbind on
[root@nfsservice ~]# chkconfig --list nfs
nfs 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@nfsservice ~]# chkconfig --list rpcbind
rpcbind 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
4.客户端:
检查是否安装了rpcbind
[root@Rsync ~]# rpm -qa nfs-utils rpcbind
nfs-utils-1.2.3-54.el6.i686
rpcbind-0.2.0-11.el6.i686
#启动rpc服务检查状态,加入开机自启动
[root@Rsync ~]# /etc/init.d/rpcbind start
[root@Rsync ~]# /etc/init.d/rpcbind status
rpcbind (pid 1106) 正在运行...
[root@Rsync ~]# chkconfig rpcbind on
[root@Rsync ~]# chkconfig --list rpcbind
rpcbind 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
5. 服务器端配置
5.1 服务器端创建共享目录
[root@nfsservice ~]# mkdir /data
查看一下,发现其他人没有写权限:
[root@nfsservice ~]# ll /data -ld
drwxr-xr-x 2 root root 4096 6月 25 23:46 /data
修改/data权限,让nfsnobody 可以完全控制。
[root@nfsservice ~]# chown -R nfsnobody.nfsnobody /data
[root@nfsservice ~]# ll /data -ld
drwxr-xr-x 2 nfsnobody nfsnobody 4096 6月 25 23:46 /data
5.2 服务器端编辑配置文件
[root@nfsservice ~]# vi /etc/exports
#share data for HR by alvin at 20160613
/data 10.89.3.0/24(rw,sync)
保存退出
注:10.89.3.0/24(rw,sync): 表示10.89.3 这个网段的所有IP都可以访问,读写,同步
检查配置文件
[root@nfsservice ~]# cat /etc/exports
#share data for HR by alvin at 20160613
/data 10.89.3.0/24(rw,sync)
5.3 服务器端重启服务
[root@nfsservice ~]# /etc/init.d/nfs reload
5.4 服务器端本机自身检查一下共享的情况
[root@nfsservice ~]# showmount -e localhost
Export list for localhost:
/data 10.89.3.0/24
5.5 客户端检查一下共享
[root@Rsync ~]# showmount -e 10.89.3.105 #此IP地址:10.89.3.105为服务器端IP地址
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
上面提示表示,服务器端开启了防火墙
关闭服务器端的防火墙:
[root@nfsservice ~]# /etc/init.d/iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
客户端重新检查一下共享
[root@Rsync ~]# showmount -e 10.89.3.105
Export list for 10.89.3.105:
/data 10.89.3.0/24
出现这样的结果,表示可以正常挂载了。
6.客户端将/data挂载到/mnt下并检查挂载情况。
[root@Rsync ~]# mount -t nfs 10.89.3.105:/data /mnt
[root@Rsync ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.7G 2.0G 5.4G 27% /
tmpfs 947M 0 947M 0% /dev/shm
/dev/sda1 190M 30M 151M 17% /boot
/dev/sda2 7.7G 18M 7.3G 1% /home
10.89.3.105:/data 7.7G 1.9G 5.4G 27% /mnt
7.客户端测试新建文件,服务器端显示新建的文件
[root@Rsync ~]# cd /mnt
[root@Rsync mnt]# ls
[root@Rsync mnt]# touch aaa.txt
[root@Rsync mnt]# ls
aaa.txt
服务器端
[root@nfsservice ~]# cd /data
[root@nfsservice data]# ls
aaa.txt
本文出自 “知识改变命运” 博客,谢绝转载!
原文:http://ahtornado.blog.51cto.com/4826737/1792854