日期:2014-05-16 浏览次数:20809 次
NFS是Network File System的缩写,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFSserver也可以看作是一个FILESERVER,用于在UNIX类系统之间共享文件,可以轻松的挂载(mount)到一个目录上,操作起来就像本地文件一样的方便。
NFS的配置思路为:
文件服务器:安装NFS组件、RPCBIND组件,配置exports文件;
客户端:安装NFS组件、RPCBIND组件,挂载exports文件中指定的共享目录。
本文测试环境共包括两台虚拟机,均安装RedHat Enterprise Linux 6.1。其中AGS-04机器将用于存储站点配置文件和主要的Server目录,而AGS-03机器则将挂载这些共享目录。
序号 |
机器名 |
IP |
域名 |
角色 |
1 |
AGS-03 |
192.168.1.163 |
gis.esricd |
NFS客户机 |
2 |
AGS-04 |
192.168.1.164 |
gis.esricd |
NFS服务器 |
说明一下,在作者尝试搭建NFS文件系统的过程中,遇到了很多问题,首先就是安装NFS组件的时候,出现了循环依赖,两个组件相互依赖,无论先装哪个都会报错,要求先安装另一个组件。搞得作者很崩溃,最后采用yum命令进行安装,让yum自己去处理那些烦人的依赖关系。
另外就是在AGS-04上面安装配置完成之后,又出现了无论如何AGS-03都无法挂载AGS-04共享目录的问题,总是报如下错误:
查了很多资料,类似情况比较多,作者一一尝试,竟然都不能解决问题。最后发现缺少组件,于是在AGS-03上面也安装了NFS,一下就解决了问题。
因此在这里,作者建议大家不论是文件服务器,还是客户端机器,都把NFS装上吧,这样少些麻烦,而且以后每个机器也都可以作为文件服务器,扩展起来方便。
好了,不说废话,进入正题。要安装NFS组件,首先当然要找到这些组件了,跟上一篇安装BIND组件一样,NFS相关的组件也在iso光盘的Packages目录下,同样拷贝到Linux机器的临时目录中,如下图:
和上一篇同样,也需要检查这几个文件的执行权限,为方便可以直接赋予777权限。
然后采用yum命令进行安装,如下图:
安装失败,提示我们有依赖关系需要解决:缺少libevent组件。于是到光盘中,Packages目录下寻找,果然有libevent-1.4.13-1.el6.x86_64.rpm,拷贝到刚才的目录下,确保具有执行权限后,首先安装该组件:
然后再次执行yum命令安装nfs组件,结果如下:
这次依赖关系检查通过,准备安装两个包。
安装完成,可以查看nfs服务状态并启动服务:
启动nfs服务:
至此,NFS组件已经安装完毕,服务可以正常运行,下一步需要安装RPCBIND组件。
RPC即Remote Procedure Call Protocol(远程过程调用协议),RPCBIND用于取代旧版本中的portmap组件。 简单说,RPCBIND就是为了将不同服务与对应的端口进行绑定,以便支持机器间的互操作。例如AGS-03机器需要访问AGS-04机器上面的站点配置文件,那么就需要通过远程过程调用,走NFS服务对应的端口。