什么是NFS
NFS是Net File System的简写,即网络文件系统.
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
一、NFS服务端
必备的源国内源,扩展源
[root@localhost ~]# yum -y install nfs-utils #安装nfs服务
[root@localhost ~]# systemctl stop firewalld && setenforce 0
[root@localhost ~]# mkdir /nfs-webdata #创建共享目录
[root@localhost ~]# echo "hello!" > /nfs-webdata/index.html
[root@localhost ~]# vim /etc/exports
/webdata 192.168.253.0/24(rw,sync,no_root_squash)
[root@localhost ~]# systemctl restart nfs #重启nfs服务
[root@localhost ~]# exportfs -v #查看共享目录
/webdata 192.168.253.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
二、NFS客户端
[root@localhost ~]# yum -y install nfs-utils httpd #安装客户端nfs
[root@localhost ~]# showmount -e 192.168.253.x #查看服务端
[root@localhost ~]# systemctl stop firewalld && setenforce 0
[root@localhost ~]# mount -t nfs 192.168.253.x:/webdata /var/www/html/ #临时挂载
浏览器访问IP地址
总结
NFS是通过网络来进行服务端和客户端之间的数据传输。两者之间要传输数据就要有想对应的网络端口来进行传输。NFS服务器到底使用什么网络端口来传输数据的,NFS服务器端其实是随机选择端口来进行数据传输。那NFS客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?
其实NFS服务器时通过远程过程调用(remote procedure call 简称RPC)协议/服务来实现的。也就是说RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来先沟通NFS使用了哪些端口,之后再利用这些端口(小于1024)来进行数据的传输。也就是RPC管理服务端的NFS端口分配,客户端要传数据,那客户端的RPC会先跟服务端的RPC去要服务器的端口,要到端口后再建立连接,然后传输数据。