RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

时间:2021-11-11 17:45:16

1  环境说明

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文件系统的过程中,遇到了很多问题,首先就是安装NFS组件的时候,出现了循环依赖,两个组件相互依赖,无论先装哪个都会报错,要求先安装另一个组件。搞得作者很崩溃,最后采用yum命令进行安装,让yum自己去处理那些烦人的依赖关系。

另外就是在AGS-04上面安装配置完成之后,又出现了无论如何AGS-03都无法挂载AGS-04共享目录的问题,总是报如下错误:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

查了很多资料,类似情况比较多,作者一一尝试,竟然都不能解决问题。最后发现缺少组件,于是在AGS-03上面也安装了NFS,一下就解决了问题。

因此在这里,作者建议大家不论是文件服务器,还是客户端机器,都把NFS装上吧,这样少些麻烦,而且以后每个机器也都可以作为文件服务器,扩展起来方便。

好了,不说废话,进入正题。要安装NFS组件,首先当然要找到这些组件了,跟上一篇安装BIND组件一样,NFS相关的组件也在iso光盘的Packages目录下,同样拷贝到Linux机器的临时目录中,如下图:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

和上一篇同样,也需要检查这几个文件的执行权限,为方便可以直接赋予777权限。

然后采用yum命令进行安装,如下图:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

安装失败,提示我们有依赖关系需要解决:缺少libevent组件。于是到光盘中,Packages目录下寻找,果然有libevent-1.4.13-1.el6.x86_64.rpm,拷贝到刚才的目录下,确保具有执行权限后,首先安装该组件:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

然后再次执行yum命令安装nfs组件,结果如下:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

这次依赖关系检查通过,准备安装两个包。

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

安装完成,可以查看nfs服务状态并启动服务:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

启动nfs服务:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

至此,NFS组件已经安装完毕,服务可以正常运行,下一步需要安装RPCBIND组件。

RPCBIND组件安装

RPC即Remote Procedure Call Protocol(远程过程调用协议),RPCBIND用于取代旧版本中的portmap组件。 简单说,RPCBIND就是为了将不同服务与对应的端口进行绑定,以便支持机器间的互操作。例如AGS-03机器需要访问AGS-04机器上面的站点配置文件,那么就需要通过远程过程调用,走NFS服务对应的端口。

RPCBIND组件也是在两台机器上都需要安装的。安装方式与BIND组件类似,先从ISO光盘中找到RPCBIND相关的rpm包,然后拷贝到Linux系统目录下,设置执行权限,如下图:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

依次安装上述三个组件包:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

安装完成后,查看rpcbind服务运行状态,并且启动服务:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

服务启动成功,可以通过rpcinfo命令查看rpc端口绑定情况,如下图:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

很奇怪,为什么没有nfs服务对应的信息呢?原来是因为nfs服务先于rpcbind服务启动了,这里只要重启一下两个服务就好了:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

现在可以清晰看到nfs服务对应的tcp和udp端口了。说明现在RPCBIND组件安装成功,并且服务已经正常运行了。

服务端共享目录配置

接下来需要配置服务端的共享目录,如前文所述,就是编辑AGS-04上面的exports文件,该文件位于/etc目录下。这里我们在AGS-04和AGS-03上创建了相同的目录,分别是/usr/agsconfig和/usr/arcgis,其中agsconfig目录用做ArcGIS Server的系统目录,存放站点配置信息、服务目录和日志文件,arcgis目录则用于后续安装ArcGIS Server软件。

编辑后的exports文件如下图所示:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

这里指定了将AGS-04机器上的/usr/agsconfig目录共享给192.168.1.163机器(即AGS-03),允许其读写和同步数据。

保存文件,这样就配置好了共享目录。

客户端共享目录挂载

服务端共享目录配置完成后,需要在客户端机器上挂载该目录,这样就可以将共享目录当做本机目录一样进行操作了。挂载操作如下图:

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

如果没有提示,则说明挂载成功,如果有错误提示,则需要进行检查,首先检查服务端、客户端的rpcbind服务和nfs服务是否启动,并且要注意启动顺序是rpcbind服务先启动。此外还要检查网络连接是否可通,目录、IP地址等拼写是否正确等。

挂载成功后,可以访问本地挂载目录(本机是/usr/agsconfig),查看其中的文件信息(作者在AGS-04机器上的/usr/agsconfig目录下创建了文本文件hello163):

RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设

如上图所示,AGS-04机器共享目录里的文件,在AGS-03的本地目录可以访问了,说明文件共享服务器搭建成功。