NFS简介
 
NFS(Network File System)的缩写,它的主要功能是:通过网络、让不同的机器、不同的OS可以共享彼此的文件
 
NFS服务器可以允许NFS客户端将远端NFS服务器的共享目录挂载到自己的NFS客户端,这样客户端就好比有在本地有一块磁盘一样,只不过是网络磁盘而已。
 
挂载结构图
 
 
 
如上图,当我们在NFS服务器设置好一个共享目录/data/share后,其他的有权限访问NFS服务器的NFS客户端就可以讲这个目录挂载到自己的本地,并且能看到服务端/data/share下的所有数据
 
NFS是通过网络来进行Server端和Client端之间的数据传输,既然走网络,双方肯定都要有端口,哪NFS Server怎么知道使用哪个端口来进行数据传输,NFS其实会随机选择端口来进行数据传输。那NFS客户端又是如何知道NFS服务端到底是使用哪个端口呢?其实NFS服务器是通过远程过程调用RPC(Remote Procedure Call)协议来实现的,所以,RPC管理服务端的NFS端口分配,客户端要传数据,那么客户端的RPC会先跟服务端的RPC去要服务器的端口,要到端口后,再建立连接,然后传输数据,见下图
 
NFS客户端/NFS服务端、RPC关系图
 
 
 
通信过程:
 
1.首先服务器端启动RPC服务,并开启111端口
 
2.服务器端启动NFS服务,并向RPC注册端口信息
 
3.客户端启动RPC服务,向服务端的RPC服务请求服务端的NFS端口
 
4.服务端的RPC服务反馈NFS端口信息给客户端。
 
5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
 
机器清单
 
 
主机名
 
 
 
IP地址
 
 
 
操作系统版本
 
 
 
备注
 
 
 
node100
 
 
 
172.20.20.100
 
 
 
CentOS 7.6 x64
 
 
 
NFS服务端
 
 
 
node200
 
 
 
172.20.20.200
 
 
 
NFS客户端
 
 
实验环境
 
CentOS:CentOS Linux release 7.6.1810 (Core)
 
2台都操作
 
配置主机名:
 
# cat >> /etc/hosts << EOF
 
172.20.20.100 node100
 
172.20.20.200 node200
 
EOF
 
 
 
 
 
NFS服务端操作
 
# rpm -qa nfs-utils rpcbind
 
# yum install nfs-utils rpcbind
 
建立目录
 
# mkdir  -p /data/share
 
# chmod 666 /data/share/
 
# cat >> /etc/exports << EOF
 
/data/share 172.20.20.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
 
EOF
 
# mkdir -p /data/share/soft/
 
启动RPC服务
 
# systemctl start rpcbind.service
 
[root@node100 ~]# ps -ef|grep rpcbind
 
rpc       15712      1  0 03:41 ?        00:00:00 /sbin/rpcbind -w
 
root      15714   8035  0 03:41 pts/0    00:00:00 grep --color=auto rpcbind
 
[root@node100 ~]# 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
 
启动NFS服务
 
# service nfs start
 
[root@node100 ~]# 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  40044  status
 
100024    1   tcp  34946  status
 
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  37957  nlockmgr
 
100021    3   udp  37957  nlockmgr
 
100021    4   udp  37957  nlockmgr
 
100021    1   tcp  43494  nlockmgr
 
100021    3   tcp  43494  nlockmgr
 
100021    4   tcp  43494  nlockmgr
 
是否加载配置/etc/exports
 
[root@node100 ~]# showmount  -e localhost
 
Export list for localhost:
 
/data/share 172.20.20.0/24
 
在NFS客户端安装
 
# yum install nfs-utils
 
[root@node200 ~]# showmount  -e 172.20.20.100
 
Export list for 172.20.20.100:
 
/data/share 172.20.20.0/24
 
在NFS客户端进行测试
 
# mkdir /root/soft/
 
# mount 172.20.20.100:/data/share/soft /root/soft
 
[root@node200 soft]# df -Th
 
Filesystem                     Type      Size  Used Avail Use% Mounted on
 
/dev/sda3                      xfs        36G  1.1G   35G   4% /
 
devtmpfs                       devtmpfs  224M     0  224M   0% /dev
 
tmpfs                          tmpfs     235M     0  235M   0% /dev/shm
 
tmpfs                          tmpfs     235M  5.6M  229M   3% /run
 
tmpfs                          tmpfs     235M     0  235M   0% /sys/fs/cgroup
 
/dev/sda1                      xfs       897M  127M  771M  15% /boot
 
tmpfs                          tmpfs      47M     0   47M   0% /run/user/0
 
172.20.20.100:/data/share/soft nfs4       36G  1.1G   35G   4% /root/soft

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。