劉 韜
(中國石油遼河油田分公司勘探開發(fā)研究院,盤錦 124010)
2007年以來,遼河油田研究院加大力度推進信息化建設,先后引進了SUN公司大型服務器、萬兆網(wǎng)絡交換機、工作站等先進的高性能計算機設備及主流勘探應用軟件,搭建了以SUNE20K、SUNE6900服務器和大容量磁盤陣列為核心、200余臺高性能工作站為客戶機,通過多款先進的勘探應用軟件來進行石油勘探研究工作的勘探研究平臺。而隨著勘探研究不斷深入,研究方式從原來單學科研究人員使用單一種類應用軟件進行生產研究工作轉變?yōu)槎鄬W科研究人員使用多類型勘探應用軟件協(xié)同開展研究工作,這就要求各款應用軟件間能夠進行數(shù)據(jù)交互共享使用,但現(xiàn)有應用軟件間因數(shù)據(jù)格式不同不能相互轉化使用,而采用人工轉化加載數(shù)據(jù)耗時、耗力,為此,研究人員于去年引進了用于應用軟件間數(shù)據(jù)交互共享軟件OSP,通過它,研究人員可以將勘探研究平臺上的各類應用軟件進行數(shù)據(jù)交互共享使用。就在OSP軟件部署過程中,研究人員發(fā)現(xiàn)由于服務器操作系統(tǒng)版本與主要勘探應用軟件landmark2003存在兼容問題,導致OSP軟件無法讀取landmark2003軟件數(shù)據(jù),這樣landmark2003無法與其他勘探應用軟件進行數(shù)據(jù)傳輸共享使用,嚴重影響了研究院勘探生產、研究工作。于是,技術人員對此問題進行研究并解決,以保證勘探研究工作正常、高效運行。
部署在服務器上的OSP軟件通過連接各類勘探應用軟件主程序后讀取其相應的oracle數(shù)據(jù)庫中軟件數(shù)據(jù),研究人員根據(jù)需求通過OSP在各軟件之間進行數(shù)據(jù)傳輸調用,實現(xiàn)各軟件間數(shù)據(jù)共享。由于我們使用的SUN公司服務器裝載的操作系統(tǒng)為SOLARIS10(并且只能裝載solaris系統(tǒng)),而用于勘探研究工作的主要應用軟件landmark2003是在solaris8系統(tǒng)上開發(fā),因此該軟件與solaris10系統(tǒng)存在兼容問題,而服務器上其他勘探應用軟件由于版本原因卻不支持solaris8系統(tǒng)。為此,相關技術人員在landmark2003引進后通過多次研究實驗,采用對服務器操作系統(tǒng)加載相關補丁的方式使landmark2003軟件能夠在服務器上正常運行,滿足當時應用需求。但是兼容問題并沒有得到實質解決,只是在當時應用需求及平臺環(huán)境下沒有再觸及到兼容問題,直到因勘探應用軟件間數(shù)據(jù)交互共享需求而部署OSP軟件時再一次觸發(fā)了兼容性問題,使landmark2003無法通過OSP與其他勘探應用軟件進行數(shù)據(jù)傳輸共享,嚴重影響了勘探生產工作。由于服務器價格昂貴,公司因經(jīng)費問題暫時無法購買新服務器,所以研究人員只能從其他途徑切入研究以解決問題。研究人員發(fā)現(xiàn),雖然landmark2003軟件與solaris10系統(tǒng)存在兼容問題,但與linux系統(tǒng)是兼容的,經(jīng)過反復研究實驗,我們設計出了建立linux中轉服務器,將landmark2003軟件、oracle數(shù)據(jù)庫和OSP軟件部署在中轉服務器上,通過與SUN服務器建立NFS遠程掛載模式將服務器上的landmark2003軟件所屬的oracle數(shù)據(jù)庫掛載到linux中轉服務器上,并編寫數(shù)據(jù)庫腳本,讓linux中轉服務器上的軟件數(shù)據(jù)庫客戶端與SUN服務器上的軟件數(shù)據(jù)庫服務端相連接,這樣OSP軟件通過連接中轉機上的landmark2003主程序讀取數(shù)據(jù)時,利用oracle客戶端轉到服務器landmark數(shù)據(jù)庫服務端上讀取數(shù)據(jù),實現(xiàn)landmark2003軟件通過OSP與其他勘探應用軟件間數(shù)據(jù)無障礙傳輸調用,使勘探應用軟件間數(shù)據(jù)無障礙交互共享,讓應用軟件數(shù)據(jù)交互傳輸共享問題得到有效解決。
網(wǎng)絡文件系統(tǒng)(Network File System,NFS),一種使用于分散式文件系統(tǒng)的協(xié)定,由SUN公司開發(fā),于1984年向外公布。功能是通過網(wǎng)絡讓不同的機器、不同的操作系統(tǒng)能夠彼此分享個別的數(shù)據(jù),讓應用程序在客戶端通過網(wǎng)絡訪問位于服務器磁盤中的數(shù)據(jù),是在Unix系統(tǒng)間實現(xiàn)磁盤文件共享的一種方法。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統(tǒng)上的文件。
NFS在文件傳送或信息傳送過程中依賴于RPC協(xié)議。NFS啟動的時候,會自動向RPC服務器注冊,把自己各個功能使用的端口提供給RPC。RPC工作于固定端口111,當客戶端向NFS服務發(fā)出請求時,客戶端則會訪問服務器的111端口,RPC此時會將NFS工作端口返回給客戶端。使客戶端可以連結到正確的端口上去。
如果要系統(tǒng)啟動時自動掛載NFS服務器上的共享目錄,用戶需要在/etc/fstab文件中寫入NFS共享目錄的掛載信息即可。如果使用手工mount的方法訪問一個NFS共享,重新啟動系統(tǒng)后這個文件系統(tǒng)必須mount才可以使用,Red Hat Enterprise Linux提供了兩種方法來自動的掛載遠程文件系統(tǒng)。/etc/fstab和autofs服務.但使用/etc/fstab的一個缺點是:不管用戶訪問NFS的次數(shù)和時間,系統(tǒng)總是會使用資源來維護這個NFS掛載。 雖然對于一兩個NFS掛載的時候這不是問題,但是如果系統(tǒng)在維護很多NFS掛載的時候,系統(tǒng)性能會受到影響,所以我們決定使用用基于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自動掛載技術的研究,并結合勘探研究平臺軟硬件環(huán)境及實際需求,我們采用一臺配備有RAM64G、主頻3.47G 12核心Intel XEON(R)X5690 處理器的惠普高性能工作站Z800 建立linux中轉服務器,同時裝載linux4.6操作系統(tǒng)、landmark2003、OSP、landmark2003數(shù)據(jù)庫客戶端,并與SUN服務器之間建立NFS自動掛載模式,利用NFS自動掛載服務將SUN服務器上的landmark2003數(shù)據(jù)庫數(shù)據(jù)掛載到linux中轉服務器上,使OSP連接中轉服務器上的應用軟件landmark2003主程序經(jīng)過軟件數(shù)據(jù)庫客戶端來讀取SUN服務器上的軟件數(shù)據(jù)庫服務端數(shù)據(jù),避開與SUN服務器系統(tǒng)的兼容問題,實現(xiàn)軟件間數(shù)據(jù)能夠相互傳輸調用。
由于2臺服務器操作系統(tǒng)均為solaris10系統(tǒng),landmark2003等勘探應用軟件分別部署在這2臺服務器的6個域中,各域軟、硬件環(huán)境相同,下面只以其中一個域:E6900服務器A域為例,詳細列出具體設計過程,供大家參考研究。
(1)E6900服務器配置
1)建立E6900服務器和中轉服務器(主機名:tibco)信任機制
在服務器etc/hosts文件中添加tibco服務器IP
2)將E6900A域中裝載軟件的磁盤文件系統(tǒng)在網(wǎng)絡上共享并輸出。
/etc/dfs/dfstab
Share–F nfs /dska1
Share–F nfs /dska2
Share–F nfs /dska3
Share–F nfs /dska4
3)啟動服務器nfs服務
執(zhí)行命令:/etc/init.d/nfs.server start。
(2)中轉服務器tibco配置
1)建立tibco服務器和E6900服務器信任機制在服務器etc/hosts文件中添加E6900服務器IP
2)建立landmark2003軟件用戶,并配置軟件環(huán)境變量,使tibco服務器應用軟件工作用戶帳號應與E6900服務器端軟件用戶的名稱、用戶ID 、組ID相同。
編輯應用軟件landmark2003用戶環(huán)境變量文件.lgclogin
setenv OW_PMPATH /home2/OpenWorks/OSP/6900a-conf
setenv ORACLE_HOME /home2/oracle8i/OraHome1
setenv ORACLE_SID ow6900a
3)建立NFS遠程服務端自動掛載模式
編輯/etc/auto.master文件,加入?yún)?shù):
/OSP /etc/auto.osp
建立/etc/auto.osp文件,配置相關參數(shù):
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服務器上的數(shù)據(jù)庫客戶端與在E6900服務器上的數(shù)據(jù)庫服務端之間的連接機制
修改數(shù)據(jù)庫oracle8i的tnsnames.ora文件中的HOST參數(shù),將數(shù)據(jù)庫服務端指向E6900服務器上的landmark2003數(shù)據(jù)庫服務端oracle9i,使其軟件讀取E6900服務器上的軟件數(shù)據(jù)庫數(shù)據(jù)。
文件位置: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與勘探研究平臺上其他勘探應用軟件進行數(shù)據(jù)傳輸調用,實現(xiàn)多種類勘探應用軟件協(xié)同研究工作。該模式搭建至今,勘探研究平臺穩(wěn)定運行,軟件間數(shù)據(jù)相互傳輸順利。
該方法巧妙地利用了UNIX操作系統(tǒng)中NFS自動掛載技術,讓OSP軟件連接landmark2003主程序調用數(shù)據(jù)時避開與其存在兼容問題的SUN服務器solaris10操作系統(tǒng),而使用中轉服務器的linux系統(tǒng)來讀取SUN服務器上的軟件數(shù)據(jù),實現(xiàn)數(shù)據(jù)順利傳輸共享,徹底解決了曾經(jīng)困擾勘探研究人員的勘探應用軟件landmark2003無法與其他應用軟件進行數(shù)據(jù)相互傳輸調用的問題,有效提高了勘探研究工作效率并為研究院勘探協(xié)同研究工作方式提供了有力保障。同時該方法還具有很好的推廣價值,據(jù)了解,與遼河油田研究院具有相似勘探研究平臺軟硬件環(huán)境的其他油田及企業(yè)大多面臨同樣的問題,所以此方法會為他們起到良好的借鑒作用。
[1]陳玉潔,馮爽姿.NFS網(wǎng)絡文件系統(tǒng)與安全[J].吐哈油氣 ,2003(2).
[2]祝志敏等.NFS網(wǎng)絡文件系統(tǒng)技術在銀行批量收付交易中的應用[J].科技情報開發(fā)與經(jīng)濟,2007,17(17).
[3]郭英見.網(wǎng)絡文件系統(tǒng)(NFS)的工作原理和應用技術[J].計算機與通信,1996(11).
[4]呂天君,楊晶.如何利用NFS來建立容災備份[J].科技信息 ,2008,(29).
[5]王坤,王錦.基于 NFS V4 協(xié)議的關系型數(shù)據(jù)庫部署[J].計算機工程,2011,37(1).
[6]袁輝勇.通過NFS實現(xiàn)Informix-Online數(shù)據(jù)庫異地備份[J].湖南人文科技學院學報,2006,3(6.).
[7]黃書強,姚國祥.基于NFS和SMB的異構網(wǎng)絡之間資源共享[J].江西科學,2005,23(3).
[8]IT同路人.linux標準學習教程[M].北京:人民郵電出版社,2009.