文章目录
1. nfs介绍
1.1 nfs特点
- nfs功能:把本机的资源(目录)共享给另一台主机挂载使用
- NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源(网络文件系统有三种:nfs,samba,ftp)
- 在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
- nfs适用于Linux与Unix之间实现文件共享,不能实现Linux与Windows间的文件共享功能
- nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上
- nfs服务只能基于IP进行认证,这也是它的缺点之一(只能在内网使用,不能在公网使用)
1.2 使用nfs的好处
- 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用
- 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用
- 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量
1.3 nfs的体系组成
- nfs体系至少有两个主要部分:① 一台nfs服务器。②若干台客户机
- 体系架构:①客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。 ② 在NFS服务器正式启动前,需要根据实际环境和需求,配置一些NFS参数
1.4 nfs的应用场景
- 多个机器共享一台CDROM或其他设备。这对于在多台机器中安装软件来说更加方便
- 在大型网络中,配置一台中心FNS服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登陆,总能得到相同的home目录
- 不同客户端可在NFS上观看影视文件,节省本地空间
- 在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下
2.nfs工作机制
NFS是基于rpc协议来实现网络文件系统共享。
2.1RPC
RPC(remote procedure protocol),远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术协议。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。
rpc工作机制如下:
- 客户端程序发起一个RPC系统调用基于TCP协议发送给另一台主机(服务端)
- 服务端监听在某个套接字上,当收到客户端的系统调用请求以后,将收到的请求和其所传递的参数通过本地的系统调用执行一遍,并将结果返回给本地的服务进程
- 服务端的服务进程收到返回的执行结果后将其封装成响应报文,再通过rpc协议返回给客户端
- 客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行
2.2 NIS
- NIS(network information system),网络信息系统,是对主机账号等系统提供集中管理的网络服务。
- 用户登陆任何一台NIS客户机都会从NIS服务器进行登陆认证,可实现用户账号的集中管理。
- NIS协议是明文的,所以NIS一般不建议在公网中使用而通常在局域网中使用。
2.3 nfs工作机制
//NFS服务器端运行着四个进程:
nfsd
mountd
idmapd
portmapper
idmapd //实现用户帐号的集中映射,把所有的帐号都映射为NFSNOBODY,但是在访问时却能以本地用户的身份去访问
mountd //用于验证客