先借鉴各位博主以及百科,介绍一下理论概念
1. NFS服务介绍
1.1什么是NFS服务
NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样,也就是说客户端PC可以挂载NFS服务器所提供的目录并且挂载之后这个目录看起来如同本地的磁盘分区一样,可以使用cp、cd、mv、rm及df等与磁盘相关的命令。
1.2 NFS服务的优缺点
1.2.1优点
a.节省本地存储空间将常用的数据存放在一台服务器可以通过网络访问
b.简单容易上手
c.方便部署非常快速,维护十分简单
1.2.2缺点
a.局限性容易发生单点故障,及server机宕机了所有客户端都不能访问
b.在高并发下NFS效率/性能有限
c.客户端没用用户认证机制,且数据是通过明文传送,安全性一般(一般建议在局域网内使用)
d.NFS的数据是明文的,对数据完整性不做验证
e.多台机器挂载NFS服务器时,连接管理维护麻烦
2.1 NFS原理简单介绍
NFS Server服务器上设定/data目录被分享,而客户端可以通过internet将/data目录挂载到本地的挂载点(常用mnt)后,客户端就可以进入挂载点目录进行文件的读写
举个例子解释
比如我想在服务器端给公司的桌面PC(客户端)做一个共享的资料目录/data,大家可以任意查阅里面的所有资料信息,获取公司的内部重要信息。那么服务器端会将/data这个目录的整个磁盘区的信息共享到公司局域网当中。局域网中的桌面PC安装完NFS服务后,就可以在局域网中看到服务器端/data这个磁盘区被共享出来,桌面PC可以将这个局域网中的/data挂在到自己本地指定挂在点。然后通过局域网网络实时地同步信息。
那么首先要说明一下这个工作过程的原理。
step1.注册端口–达成协议–建立连接:
step2.直接建立联系:
1)客户端向服务器端的RPC(port 111)发出NFS文件访问功能的查询要求。
2)服务器端找到对应的已注册的NFS daemon端口后,会通知给客户端。
3)客户端了解到正确的端口后,就可以直接与NFS daemon连接。
什么是RPC
当服务器在启动NFS时会随机取用数个port端口,并且主动的向RPC注册,因此RPC可以知道每
个NFS的port对应的NFS功能,后,直接通过这个端口向客户端发送数据。
RPC需要借助一个叫portmap端口映射的进程服务将自己的程序号转化为端口号。
说白了主要的功能就是指定每个NFS功能所对应的port number,并且通知给客户端,让客户端可以连接到正确的端口上。(这些端口都是经过上面注册过的)另外RPC是通过固定的111 port监听客户端请求并向客户端响应正确的端口&#