刘 韬
(中国石油辽河油田分公司勘探开发研究院,盘锦 124010)
2007年以来,辽河油田研究院加大力度推进信息化建设,先后引进了SUN公司大型服务器、万兆网络交换机、工作站等先进的高性能计算机设备及主流勘探应用软件,搭建了以SUNE20K、SUNE6900服务器和大容量磁盘阵列为核心、200余台高性能工作站为客户机,通过多款先进的勘探应用软件来进行石油勘探研究工作的勘探研究平台。而随着勘探研究不断深入,研究方式从原来单学科研究人员使用单一种类应用软件进行生产研究工作转变为多学科研究人员使用多类型勘探应用软件协同开展研究工作,这就要求各款应用软件间能够进行数据交互共享使用,但现有应用软件间因数据格式不同不能相互转化使用,而采用人工转化加载数据耗时、耗力,为此,研究人员于去年引进了用于应用软件间数据交互共享软件OSP,通过它,研究人员可以将勘探研究平台上的各类应用软件进行数据交互共享使用。就在OSP软件部署过程中,研究人员发现由于服务器操作系统版本与主要勘探应用软件landmark2003存在兼容问题,导致OSP软件无法读取landmark2003软件数据,这样landmark2003无法与其他勘探应用软件进行数据传输共享使用,严重影响了研究院勘探生产、研究工作。于是,技术人员对此问题进行研究并解决,以保证勘探研究工作正常、高效运行。
部署在服务器上的OSP软件通过连接各类勘探应用软件主程序后读取其相应的oracle数据库中软件数据,研究人员根据需求通过OSP在各软件之间进行数据传输调用,实现各软件间数据共享。由于我们使用的SUN公司服务器装载的操作系统为SOLARIS10(并且只能装载solaris系统),而用于勘探研究工作的主要应用软件landmark2003是在solaris8系统上开发,因此该软件与solaris10系统存在兼容问题,而服务器上其他勘探应用软件由于版本原因却不支持solaris8系统。为此,相关技术人员在landmark2003引进后通过多次研究实验,采用对服务器操作系统加载相关补丁的方式使landmark2003软件能够在服务器上正常运行,满足当时应用需求。但是兼容问题并没有得到实质解决,只是在当时应用需求及平台环境下没有再触及到兼容问题,直到因勘探应用软件间数据交互共享需求而部署OSP软件时再一次触发了兼容性问题,使landmark2003无法通过OSP与其他勘探应用软件进行数据传输共享,严重影响了勘探生产工作。由于服务器价格昂贵,公司因经费问题暂时无法购买新服务器,所以研究人员只能从其他途径切入研究以解决问题。研究人员发现,虽然landmark2003软件与solaris10系统存在兼容问题,但与linux系统是兼容的,经过反复研究实验,我们设计出了建立linux中转服务器,将landmark2003软件、oracle数据库和OSP软件部署在中转服务器上,通过与SUN服务器建立NFS远程挂载模式将服务器上的landmark2003软件所属的oracle数据库挂载到linux中转服务器上,并编写数据库脚本,让linux中转服务器上的软件数据库客户端与SUN服务器上的软件数据库服务端相连接,这样OSP软件通过连接中转机上的landmark2003主程序读取数据时,利用oracle客户端转到服务器landmark数据库服务端上读取数据,实现landmark2003软件通过OSP与其他勘探应用软件间数据无障碍传输调用,使勘探应用软件间数据无障碍交互共享,让应用软件数据交互传输共享问题得到有效解决。
网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协定,由SUN公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在Unix系统间实现磁盘文件共享的一种方法。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
NFS在文件传送或信息传送过程中依赖于RPC协议。NFS启动的时候,会自动向RPC服务器注册,把自己各个功能使用的端口提供给RPC。RPC工作于固定端口111,当客户端向NFS服务发出请求时,客户端则会访问服务器的111端口,RPC此时会将NFS工作端口返回给客户端。使客户端可以连结到正确的端口上去。
如果要系统启动时自动挂载NFS服务器上的共享目录,用户需要在/etc/fstab文件中写入NFS共享目录的挂载信息即可。如果使用手工mount的方法访问一个NFS共享,重新启动系统后这个文件系统必须mount才可以使用,Red Hat Enterprise Linux提供了两种方法来自动的挂载远程文件系统。/etc/fstab和autofs服务.但使用/etc/fstab的一个缺点是:不管用户访问NFS的次数和时间,系统总是会使用资源来维护这个NFS挂载。 虽然对于一两个NFS挂载的时候这不是问题,但是如果系统在维护很多NFS挂载的时候,系统性能会受到影响,所以我们决定使用用基于kernel的autofs自动挂载服务,它可以在需要的时候自动的挂载NFS。
autofs的配置文件以父-子关系来组织,主配置文件(/etc/auto.master) 列出了所有的挂载点,然后他会连接到一个特定的映射类型, 这个类型可以是配置文件,程序,NIS映射或者其他挂载方式,auto.master文件包含了如下内容。
<mount-point> <map-type>
<mount-point>用于指定本地挂载点,<map-type>指定如何挂载,最通常的nfs挂载做法是使用一个文件,这个文件通常命名成 auto.<mount-point>, <mount-point>是在 auto.master指定的挂载点,一个NFS类型的auto.<mount-point>的内容如下:
</local/directory> -<options> <server>:</remote/export>
通过对NFS自动挂载技术的研究,并结合勘探研究平台软硬件环境及实际需求,我们采用一台配备有RAM64G、主频3.47G 12核心Intel XEON(R)X5690 处理器的惠普高性能工作站Z800 建立linux中转服务器,同时装载linux4.6操作系统、landmark2003、OSP、landmark2003数据库客户端,并与SUN服务器之间建立NFS自动挂载模式,利用NFS自动挂载服务将SUN服务器上的landmark2003数据库数据挂载到linux中转服务器上,使OSP连接中转服务器上的应用软件landmark2003主程序经过软件数据库客户端来读取SUN服务器上的软件数据库服务端数据,避开与SUN服务器系统的兼容问题,实现软件间数据能够相互传输调用。
由于2台服务器操作系统均为solaris10系统,landmark2003等勘探应用软件分别部署在这2台服务器的6个域中,各域软、硬件环境相同,下面只以其中一个域:E6900服务器A域为例,详细列出具体设计过程,供大家参考研究。
(1)E6900服务器配置
1)建立E6900服务器和中转服务器(主机名:tibco)信任机制
在服务器etc/hosts文件中添加tibco服务器IP
2)将E6900A域中装载软件的磁盘文件系统在网络上共享并输出。
/etc/dfs/dfstab
Share–F nfs /dska1
Share–F nfs /dska2
Share–F nfs /dska3
Share–F nfs /dska4
3)启动服务器nfs服务
执行命令:/etc/init.d/nfs.server start。
(2)中转服务器tibco配置
1)建立tibco服务器和E6900服务器信任机制在服务器etc/hosts文件中添加E6900服务器IP
2)建立landmark2003软件用户,并配置软件环境变量,使tibco服务器应用软件工作用户帐号应与E6900服务器端软件用户的名称、用户ID 、组ID相同。
编辑应用软件landmark2003用户环境变量文件.lgclogin
setenv OW_PMPATH /home2/OpenWorks/OSP/6900a-conf
setenv ORACLE_HOME /home2/oracle8i/OraHome1
setenv ORACLE_SID ow6900a
3)建立NFS远程服务端自动挂载模式
编辑/etc/auto.master文件,加入参数:
/OSP /etc/auto.osp
建立/etc/auto.osp文件,配置相关参数:
dska1 -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp 6900a:/dska1
dska2 -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp 6900a:/dska2
dska3 -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp 6900a:/dska3
dska4 -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp 6900a:/dska4
4)配置landmark2003软件在tibco服务器上的数据库客户端与在E6900服务器上的数据库服务端之间的连接机制
修改数据库oracle8i的tnsnames.ora文件中的HOST参数,将数据库服务端指向E6900服务器上的landmark2003数据库服务端oracle9i,使其软件读取E6900服务器上的软件数据库数据。
文件位置:oracle8i/OraHome1/network/admin
OW6900A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 6900a)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ow6900a)
)
)
5)启动TIBCO服务器NFS自动挂载服务
tibco #chkconfig autofs on
tibco #service autofs start
(3)实施测试
通过搭建中转服务器并与SUN服务器建立NFS自动挂载模式,勘探应用软件landmark2003可以通过OSP与勘探研究平台上其他勘探应用软件进行数据传输调用,实现多种类勘探应用软件协同研究工作。该模式搭建至今,勘探研究平台稳定运行,软件间数据相互传输顺利。
该方法巧妙地利用了UNIX操作系统中NFS自动挂载技术,让OSP软件连接landmark2003主程序调用数据时避开与其存在兼容问题的SUN服务器solaris10操作系统,而使用中转服务器的linux系统来读取SUN服务器上的软件数据,实现数据顺利传输共享,彻底解决了曾经困扰勘探研究人员的勘探应用软件landmark2003无法与其他应用软件进行数据相互传输调用的问题,有效提高了勘探研究工作效率并为研究院勘探协同研究工作方式提供了有力保障。同时该方法还具有很好的推广价值,据了解,与辽河油田研究院具有相似勘探研究平台软硬件环境的其他油田及企业大多面临同样的问题,所以此方法会为他们起到良好的借鉴作用。
[1]陈玉洁,冯爽姿.NFS网络文件系统与安全[J].吐哈油气 ,2003(2).
[2]祝志敏等.NFS网络文件系统技术在银行批量收付交易中的应用[J].科技情报开发与经济,2007,17(17).
[3]郭英见.网络文件系统(NFS)的工作原理和应用技术[J].计算机与通信,1996(11).
[4]吕天君,杨晶.如何利用NFS来建立容灾备份[J].科技信息 ,2008,(29).
[5]王坤,王锦.基于 NFS V4 协议的关系型数据库部署[J].计算机工程,2011,37(1).
[6]袁辉勇.通过NFS实现Informix-Online数据库异地备份[J].湖南人文科技学院学报,2006,3(6.).
[7]黄书强,姚国祥.基于NFS和SMB的异构网络之间资源共享[J].江西科学,2005,23(3).
[8]IT同路人.linux标准学习教程[M].北京:人民邮电出版社,2009.