2、NFS配置详解

编辑
文档创建者:youdunhou (管理员 )     浏览次数:1314次     编辑次数:9次     最近更新:kara 于 2017-06-09     

目录:

1、描述编辑

NFS 就是 Network FileSystem 的缩写意为网络文件系统,它的目的就是想让不同的机器、不同的操作系统可以彼此分享个别的档案,它可以简单的看为是文件服务器。NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中, 在本地端的机器看起来,那个远程主机的目录就好像是自己的一个磁盘分区槽一样 (但是实际上文件仍然存储在远程主机上)。NFS部署好后,即可将FineBI的web工程放入该挂载目录中,即可多服务器同时读写了。

说明:

(1)FineBI此处需要的是文件分布式存储服务器,只要达到存储共享即可,NFS是其中一例。

(2)在实际的企业应用中,较少直接使用Linux的nfs服务作为网络文件系统,通常会有商用的NAS客户机作为文件服务器,其原理是一致的。请在实际使用的时候注意。

(3)本文使用的是Centos6.7为案例(即大部分的rpm类Linux均可)

基本配置:

版本:Centos6.7

主机:192.168.42.128

子机:192.168.42.129

2、NFS配置详解

一、NFS启动

NFS服务器是由两个模块组成的,一个是RPC服务(远程调用系统),一个是NFS服务,在使用NFS配置的时候,要先开启RPC服务,再开启NFS服务。原因如下:

NFS是通过网络进行数据传输的,在网络传输过程中肯定需要开放端口进行,基本上 NFS 这个服务的埠口开在 2049 ,但是由于文件系统非常复杂,因此 NFS 还有其他的程序去启动额外的端口,这些额外的端口是预设的NFS服务随机开放小于1024的端口,而客户机要连接上远程主机的NFS又需要这些端口,此时就需要RPC服务。RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的端口上去。 那 RPC 又是如何知道每个 NFS 的端口呢?这是因为当服务器在启动 NFS 时会随机取用数个埠口,并主动的向 RPC 注册,因此 RPC 可以知道每个埠口对应的 NFS 功能,然后 RPC 又是固定使用 port 111 来监听客户端的需求并回报客户端正确的端口,因此开启NFS前要先开启RPC服务。

注:1、在启动NFS时,一定要先启动RPC;

        2、在重启RPC后,NFS也要重新启动,重新注册;

因此启动如下:

1、先启动RPC服务,该服务的的主程序是rpcbind提供的。只此使用命令如下:

# service rpcbind start

注:在Centos5.X的时候RPC服务的主程序是portmap,请注意Linux的版本号。

2、再启动NFS服务,使用命令:

# service nfs start

此时,服务即启动了。

二、NFS配置

NFS服务配置主要由文件/etc/exports来配置的。首先设置好要分享出的文件路径,一定要确保主机和客户机两边路径一致哦(这是FineBI的要求,不是nfs的要求)。

在/opt路径下建立一个文件夹“FineBI”:

# mkdir /opt/FineBI

建立好要共享的文件,就可以编辑配置文件吧:

# vi /etc/exports

在打开的界面上输入"i"进入编辑状态;开始输入:

/opt/FineBI  192.168.42.129(rw,sync,no_root_squash,no_subtree_check)

配置的格式为:分配目录   可挂载的客户端的IP (文件夹权限)

注:此处可以使用通配符 * 来代替IP,表示任意IP的客户端都可以挂载。

注:案例代码中文件夹权限分别为:可擦写;数据会同步写入到内存与硬盘;可用root身份;忽略父子目录权限;

保存退出即可。设置完配置文件即可在客户端执行挂载命令了。

三、客户端挂载

客户端挂载前先准备好要挂载的文件;同样在opt的下面建一个FineBI文件夹。

而后执行挂载命令:

# mount -t nfs  192.168.42.128:/opt/FineBI  /opt/FineBI

注:如果此时报错,mount connection timeout,1.去主节点上先运行命令 service iptables stop关掉防火墙,再重启一下nfs即可 service nfs restart。这个需要在每次开机的时候都配置。2.一劳永逸的做法是,永远关闭防火墙chkconfig iptables off,然后重启iptables,命令是 service iptables restart

挂载成功后,可以客户端使用“df”的命令来查看:如下图
222

可以看到客户端显示多了一个目录路径。至此NFS就配置成功了。我们可以将FineBI的工程放在这里,由web服务器来读取。

四、其他问题

1、开机即启动

由于FineBI的集群是要求在有共享web工程的情况下才能进行的,因此首先要达成共享文件的要求。因此通常会使NFS服务在开机即启动,客户机开机即挂载。

开机即启动使用命令:

#chkconfig rpcbind on 
#chkconfig nfs on

客户端开机即挂载的实现,可以将挂载命令写到/etc/rc.local中即可。

# vi /etc/rc.local


222
如此,客户端开机时即挂载,当然要先开主机哦。

2、关机问题

如果要关掉linux或者重启linux,则一定要先将客户端的挂载卸掉,把rpcbind、nfs均关闭以后才能关掉linux,否则linux要关几个小时。

3、WAS部署时候的特殊情况

在WAS的集群中,因为WAS的集群是固定的将web工程分发到主子机上进行发布应用,而主子机通常是设定好的目录路径。两个linux服务器由于主子节点的问题,节点服务器的路径不同。一个是/node1/profiles/app01,另一个是/node2/profiles/app01上。因此需要共享文件这两个路径。但是有个问题,由于共享同一个工程。因此FineIndex上的配置是一致。FineIndex上的路径读取也是一样的配置,要么是node1,要么是node2。但是实际上读取的时候两台机器是两个路径。这样就会导致,其中有一台服务器读取不FineIndex。

解决方案:将FineIndex文件也共享到相同的路径上,在FineIndex的路径设置中使用这个路径即可。


附件列表


主题: 部署集成
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: