Linux 搭建NFS服务器
NFS介绍
NFS是分布式计算机系统的一个组成部分, 可实现在异构网络上共享和装配远程文件系统。NFS由SUN公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。其最大功能是可以通过网络让不同操作系统的计算机可以共享数据,所以也可以将其看做是一台文件服务器
NFS的工作原理
启动NFS文件服务器时,/etc/rc.local会自动启动exportfs程序,指定可以导出的文件或目录,而所能挂载的也只能是其所指定的目录。
NFS是基于XDR/RPC协议的。XDR(eXternal Data Representation,即外部数据表示法)提供一种方法,把数据从一种格式转换成另一种标准数据格式表示法,确保在不同的计算机、操作系统及程序语言中,所有数据代表的意义都是相同的。
RPC(Remote Procedure Call,远程程序调用)请求远程计算机给予服务。客户机通过网络传送RPC到远程计算机,请求服务。
NFS运用RPC传送数据的方法有以下几步:
(1)客户送出信息,请求服务。
(2)客户占位程序把客户送出的参数转换成XDR标准格式,并用系统调用把信息送到网络上。
(3)信息经过网络送达远程主机系统。
(4)远程主机将接受到的信息传给服务器占位程序。
(5)把XDR形式的数据,转换成符合主机端的格式,取出客户发出的服务请求参数,送给服务器。
(6)服务器给客户发送服务的逆向传送过程。
NFS安装
安装NFS包
NFS需要5个RPM,分别是:
setup-*:共享NFS目录在/etc/exports中定义
initscripts-*:包括引导过程中装载网络目录的基本脚本
nfs-utils-*:包括基本的NFS命令与监控程序
portmap-*:支持安全NFSRPC服务的连接
quota-*:网络上共享的目录配额,包括rpc.rquotad(这个包不是必须的)
基本监控程序
要顺利运行NFS,至少需要五个Linux服务,它们各有不同的功能,有的负责装载服务,有的保证远程命令指向正确的位置。这些服务通过/etc/rc.d/init.d目录中的nfs,nfslock和portmap脚本启动。下面简单介绍每个监控程序:
(1) 基本NFS
rpc.nfsd是NFS服务器监控程序,它通过/etc/rc.d/init.d目录中的nfs脚本启动。NFS监控程序还启动rpc.mountd装载监控程序,并导出共享目录。
(2) RPC装载
可以用mount命令连接本地目录或网络目录,但还需要一个装载NFS目录的特殊监控程序rpc.mountd
(3) 端口映射器
portmap监控程序只是定向RPC通信数据流,但它对于NFS