付喜春,鐘吉太,王昭勤,李克臣,馮麗濤
(中國石油集團東方地球物理勘探有限責任公司大慶物探研究院 黑龍江 大慶 163357)
大慶物探研究院解釋系統(tǒng)共有100余套解釋工作站/服務器,包括HP、Oracle、浪潮、聯(lián)想等系列設備,其中GeoEast解釋應用軟件安裝在2套Oracle服務器上。由于大量GeoEast應用軟件用戶對共享服務器頻繁地交互操作,當同時訪問2臺Oracle服務器的用戶超過一定數(shù)量時,系統(tǒng)經(jīng)常出現(xiàn)網(wǎng)絡反應慢、解釋剖面卡頓等故障現(xiàn)象,影響了解釋工作的正常進行。因此,為了滿足解釋工作需求,提高解釋人員工作效率,充分發(fā)揮HPz840高端工作站性能優(yōu)勢,彌補多路服務器交互操作過于頻繁對系統(tǒng)造成的I/O瓶頸,保障地震資料解釋科研生產(chǎn)工作順利進行,根據(jù)GeoEast應用軟件運行特點,設計了2種優(yōu)化方案,對GeoEast應用軟件的工作模式和設備配置進行優(yōu)化。
OracleX2-8服務器是2014年投產(chǎn)的8路服務器[1],性能卓越、穩(wěn)定,內(nèi)存大,速度快。配置8顆Intel Xeon E7-8830 CPU、主頻2.13 GHz、內(nèi)存512 GB,配置6塊600 GB 15K RPM SAS磁盤(其中:系統(tǒng)磁盤做成Raid0、臨時數(shù)據(jù)磁盤做成Raid5),安裝的操作系統(tǒng)是 Red Hat Linux 5.6。這2臺服務器都安裝了2套GeoEast應用軟件。所有的解釋項目都加載到2套服務器上,并建立了與工區(qū)相關(guān)的解釋用戶,而其他的解釋工作站如HPz840 、HPz820、HPz800等均作為終端使用。解釋用戶在終端通過云桌面或ssh命令登錄服務器進行解釋工作。工作模式如圖1所示:
圖1 GeoEast應用軟件優(yōu)化前工作模式圖
解釋用戶在使用共享服務器工作過程中,系統(tǒng)時常出現(xiàn)卡頓和運行速度慢現(xiàn)象,主要有以下3種情況:1)在所有用戶直接訪問Oracle服務器工作模式下,運行的解釋項目較少時,服務器運行速度正常,用戶在工作時感覺不到慢。但是,隨著GeoEast軟件的解釋用戶數(shù)量不斷增加,越來越多的解釋項目都加載到服務器上,解釋數(shù)據(jù)量也越來越大。隨著服務器負載不斷加大,多個較大解釋工程項目同時運行,Oracle服務器系統(tǒng)經(jīng)常出現(xiàn)卡頓和運行緩慢的情況。2)解釋項目作屬性提取操作時,服務器運行速度明顯慢。3)應用GeoEast軟件可視化模塊時,解釋用戶感覺機器很慢,經(jīng)常需要等待剖面刷新顯示,翻線換線非常遲緩,解釋工作無法正常流暢進行。
以上3種情況嚴重影響了解釋項目的工作效率和工作進度。在應用過程中,計算機技術(shù)人員認真分析造成軟件服務器系統(tǒng)運行慢的原因。1)可能出現(xiàn)網(wǎng)絡堵塞現(xiàn)象。主干網(wǎng)交換機是萬兆,分支交換機是千兆,解釋用戶登錄服務器時可能出現(xiàn)網(wǎng)絡慢的現(xiàn)象。2)GeoEast運行項目時占用內(nèi)存比較大,多個項目運行同時,把服務器的512 GB內(nèi)存基本用完,造成運行速度慢。3)屬性解釋在資料解釋工作中越來越重要。無論是構(gòu)造解釋,還是巖性解釋以及油藏描述等,都離不開地震屬性分析。在實際解釋工作中(以300 km2工區(qū)為例),為了斷裂分析和特殊異常體識別的準確性,都需要對原始成果進行多種體屬性處理,其中就包括幾何類體屬性,像多傾角掃描(Scan dip with multiwindow)等,運行時間大約15 h,而這期間基本上占用了服務器所有CPU和內(nèi)存,就是簡單的體屬性構(gòu)造導向濾波(Structure oriented filtering)運行也需要大約4 h。有時需要經(jīng)常反復處理,才能達到理想的效果。像這樣的各種屬性計算在解釋工程中經(jīng)常應用,占用了服務器大量資源,必定影響機器的運行速度。
針對以上服務器運行慢的情況,計算機技術(shù)人員嘗試用2種方案來解決。
方案設計分工作站作為服務器端優(yōu)化和作為客戶端優(yōu)化2種。
HPz840高端工作站配置情況:2顆Intel Xeon E5-2680 v4 CPU,主頻2.4 GHz,內(nèi)存128 GB,同時配置256 GB SSD固態(tài)磁盤和3塊1.2 TB 10K RPM SAS磁盤,NVIDIA Quadro M6000 24 GB顯存顯卡,安裝的操作系統(tǒng)是Red Hat Linux 6.8。
3.1.1 硬件配置優(yōu)化
首先,把HPz840工作站原配置RJ45網(wǎng)絡接口改成光纖接口,雙絞線改成光纖,千兆網(wǎng)絡升級成萬兆;其次,HPz840工作站由原來接Foundry x448分支交換機,升級為直接連接主干網(wǎng)的Extreme BDX8 40G核心交換機,這樣大大提高了網(wǎng)絡傳輸速度。
3.1.2 GeoEast軟件工作方式優(yōu)化
這種方案是每臺HPz840工作站單獨安裝1套GeoEast軟件及Oracle數(shù)據(jù)庫,大約需要500 GB的運行空間,每臺工作站都相當于1臺小型服務器。地震解釋工區(qū)建立在工作站上,由于每臺工作站上的GeoEast軟件和Oracle數(shù)據(jù)庫都是相對獨立的,因此解釋用戶都是單機解釋,即1個地震資料解釋工區(qū)只能加載到1套工作站上,不能多機數(shù)據(jù)共享。同時,作為服務器,內(nèi)存128 GB稍顯不足。
這種方案的硬件連接和第1種相同。不同之處是GeoEast軟件工作方式是以2臺Oracle X2-8做為軟件服務器,HPz840工作站作為客戶端。每臺HPz840工作站不需要單獨安裝GeoEast軟件,只把安裝在Oracle服務器上的GeoEast解釋軟件的文件系統(tǒng)/software掛載到每臺工作站上,再通過腳本程序開發(fā)、環(huán)境變量配置等,GeoEast軟件就可以正常運行了。這種方式利用了z840工作站的內(nèi)存和顯卡的24 GB顯存,解釋工區(qū)既可以加載到Oracle服務器上又可以加載到z840工作站上,能夠?qū)崿F(xiàn)地震工區(qū)數(shù)據(jù)共享。也就是1個工區(qū)可以同時加載到幾臺工作站上,解釋用戶可以多機同時解釋,大大提高了設備利用率。
通過以上2種方案對比,可以看出:第1種方案,浪費設備資源,每臺工作站都需要安裝Oracle數(shù)據(jù)庫,地震工區(qū)不能多機共享;第2種方案,只需掛接安裝軟件的文件系統(tǒng)就可以,而且還能實現(xiàn)地震工區(qū)多機共享,既方便用戶使用,又提高工作效率。
因此,采取第2種方案對GeoEast解釋系統(tǒng)軟件進行工作方式優(yōu)化。
為了充分發(fā)揮Oracle服務器和HPz840高端工作站的優(yōu)勢,在原來安裝GeoEast應用軟件的2臺Oracle X4800服務器與各解釋終端之間,增加以HPz840高端工作站為主的客戶端,Oracle數(shù)據(jù)庫與軟件仍然安裝在X4800服務器上,需要將服務器的軟件釋放,通過mount命令方式在HPz840高端工作站用戶客戶端上掛載,并且在每個z840客戶端上進行用戶運行環(huán)境配置,獨立運行GeoEast軟件,如圖2所示[2]。
圖2 GeoEast應用軟件工作模式優(yōu)化圖
解釋項目及設備配置優(yōu)化方式,如圖3所示[3]。在地震資料解釋過程中,對于100 km2以下較小的解釋工程項目,如項目A、B和D,推薦解釋工區(qū)項目加載到HPz840高端工作站本地磁盤上(最低配置為3塊3 TB SAS磁盤)。解釋用戶可以直接登錄本機HPz840高端工作站或者通過解釋終端用云桌面或ssh命令登錄HPz840高端工作站上運行GeoEast應用軟件進行地震資料解釋,項目長和普通解釋用戶不需要直接登錄服務器。對于大于100 km2的解釋項目,解釋用戶上機人員比較多,采用多臺HPz840高端工作站配置成工作站集群的模式滿足多用戶并行工作。如項目C、E和F,解釋工區(qū)需要加載到共享存儲系統(tǒng)上,普通解釋用戶通過分組登錄到不同的HPz840高端工作站客戶端上進行解釋工作,無需直接訪問軟件服務器,但仍保留項目長可以直接登錄X4800服務器的權(quán)限,用于項目長對整個解釋工區(qū)進行大的屬性處理工作,這樣就減少了大量用戶直接訪問2臺軟件服務器的操作。
4.3.1 編制轉(zhuǎn)換程序
由于安裝GeoEast軟件的Oracle X2-8服務器上的操作系統(tǒng)是Linux 5.6,而HPz840工作站運行的最佳操作系統(tǒng)是Linux 6.8,操作系統(tǒng)版本不同,為了保證z840工作站最佳效能,不降低z840操作系統(tǒng)版本,在X2-8服務器上,通過編制腳本和軟件配置,實現(xiàn)GeoEast軟件能在服務端和客戶端不同版本操作系統(tǒng)之間運行,編制了腳本程序Geosource。
腳本Geosource部分程序[4]如圖4所示:
圖4 Geosource腳本部分程序圖
4.3.2 釋放GeoEast應用軟件目錄
把X4800-1和X4800-2 Oracle服務器上安裝的GeoEast軟件的文件系統(tǒng)(/software)進行釋放,保證HPz840高端工作站可以掛載,方法如下。
1)編輯/etc/exports文件[5]
在配置文件中增加一行:
/software *(rw,no_root_squash,sync)
然后,再完成以下2步操作:
#service nfs start
#exportfs -a
2)編輯/etc/passwd 文件
添加解釋項目長及項目組用戶。
zhangwd:x:7058:6001:zhangwd:/data/zhangwd:/bin/csh
chaixub:x:7060:6001:chaixubing:/data/chaixub:/bin/csh
qikunb:x:7061:6001:qikunb:/data/qikunb:/bin/csh
chenshum:x:7062:6001:chenshumei:/data/chenshum:/bin/csh
biehuiq:x:7063:6001:biehuiqiu:/data/biehuiq:/bin/csh
wangjing:x:7064:6001:wangjing:/data/wangjing:/bin/csh
mengqingy:x:7065:6001:mengqingying:/data/mengqingy:/bin/csh
yuanfangq:x:7066:6001:yuanfangqing:/data/yuanfangq:/bin/csh
liqingl:x:7067:6001:liqingli:/data/liqingl:/bin/csh
pantian:x:7068:6001:pantian:/data/pantian:/bin/csh
3)編輯/etc/group 文件
填加GeoEast用戶組。
haldaemon:x:68:
avahi-autoipd:x:156:
gdm:x:42:
sabayon:x:86:
ept5:x:501:
postgres:x:6000:
gs:x:6001:
dba:x:8000:
4.3.3 掛載GeoEast應用軟件
在HPz840工作站客戶端掛載GeoEast應用軟件。
1)編輯/etc/passwd文件[6]
oracle:x:8000:8000::/software/GEOEAST/oracle:/bin/csh
geoeast:x:6001:6001::/software/GEOEAST/geoeast:/bin/csh
2)編輯/etc/rc.d/rc.local文件
export GEOEAST=/home1/GEOEAST/geoeast3.3.1as5
export GEOEAST=/home1/GEOEAST/geoeast3.3.1as6
/home1/GEOEAST/geoeast3.3.1as6/bin/gsm/rcstartOracle
/home1/GEOEAST/geoeast3.3.1as5/bin/gsm/rcstartOracle
/home1/GEOEAST/geoeast3.3.1as6/bin/gsm/rcstartGeoCom
/home1/GEOEAST/geoeast3.3.1as5/bin/gsm/rcstartGeoCom
/home1/GEOEAST/geoeast3.3.1as5/bin/gsm/rcstartCloudDaemons
/home1/GEOEAST/geoeast3.3.1as5/bin/gsm/rcstartZookeeper
3)編輯/etc/sysctl.conf文件[7-8]
kernel.sem=50100 64128000 50100 1280
kernel.ile-max =65536
net.ipv4.ip_local_port_range =1024 65000
net.core.rmem_default =262144
net.core.rmem_max =262144
net.core.wmem_default =262144
net.core.wmem_max =262144
vm.hugetlb_shm_group =8000
4)編輯/configs/configrc等文件
$GEOEAST/configs/configrc[9]
$GEOEAST/configs/GEOEAST_S.config、GEOEAST.config
$GEOEAST/support/ora/network/ames
$GEOEAST/configs/.cshrc里面的LIC_SERVER(許可)
5)編輯 /etc/rc5.d/S99mount文件[10]
#mount 192.10.200.245:/software /software
mount 192.10.200.246:/software /software
mount -o vers=3 192.10.200.242:/data21 /data21
mount -o vers=3 192.10.200.247:/data37 /data37
#mkdir /SoftWare
#S99mount
4.3.4 統(tǒng)一分配解釋用戶ID
首先,設置1個用戶1個ID,避免重復沖突。在HPz840工作站客戶端建立GeoEast用戶及運行環(huán)境。
cp ~GeoEast/.cshrc ~geouser/
以GeoEast應用系統(tǒng)管理員賬戶登錄,運行g(shù)eosystem,在GeoEast應用系統(tǒng)添加磁盤和用戶,操作頁面如圖5、圖6所示。
圖5 GeoEast應用系統(tǒng)下添加用戶頁面
圖6 GeoEast應用系統(tǒng)下添加磁盤頁面
以GeoEast應用軟件管理員賬戶登錄,運行g(shù)eomanager,對解釋項目進行管理,包括建立、修改、刪除以及變更項目所有者等,操作頁面如圖7、圖8所示。
圖7 GeoEast應用系統(tǒng)下修改工區(qū)頁面
圖8 GeoEast應用系統(tǒng)下添加解釋項目頁面
GeoEast應用軟件工作模式及設備配置優(yōu)化后,在大慶油田松遼盆地探區(qū)和川渝探區(qū)的2塊面積較大的解釋工區(qū)進行了應用。
在大慶油田松遼盆地某工區(qū)項目工作中,解釋用戶準備把數(shù)據(jù)直接加載到X4800-1服務器上。由于X4800-1服務器解釋工區(qū)較多,系統(tǒng)管理員建議解釋用戶將原工區(qū)打包備份,用經(jīng)過優(yōu)化后的HPz840-12工作站客戶端重新恢復項目。用戶備份工區(qū)的同時,系統(tǒng)管理人員完成軟件的安裝、用戶建立及GeoEast應用軟件運行環(huán)境的配置等工作,并且完成新工區(qū)的建立,用于用戶恢復工區(qū)。解釋用戶很快就完成了該項目工區(qū)恢復工作。同時,當解釋人員用HPz840工作站客戶端解釋時,由于應用的是本地CPU、內(nèi)存、磁盤,占用網(wǎng)絡帶寬較低,不再出現(xiàn)原來的卡頓情況,機器運行速度非???,提高了生產(chǎn)效率。
在川渝探區(qū)某工區(qū)項目工作中,工區(qū)面積較大,采用GeoEast應用軟件進行資料解釋,項目加載在到X4800-2服務器上。解釋用戶開始都是通過終端用云桌面或ssh命令登錄到服務器工作,時常反映卡頓情況。經(jīng)過對GeoEast應用軟件和項目及時進行優(yōu)化,在優(yōu)化后的HPz840-19工作站客戶端上建立與X4800-2服務器相同ID的解釋用戶。當解釋人員登錄HPz840-19工作站客戶端進行相同項目解釋時,項目運行速度明顯加快。為了更好地加快項目的解釋速度,為解釋用戶創(chuàng)造更好的軟件運行環(huán)境,又在HPz840-20工作站客戶端上建立項目相應用戶,實行工作站組雙機并行作業(yè),從根本上解決了服務器卡頓問題。
通過對大慶物探研究院解釋系統(tǒng)20套 HPz840高端工作站客戶端GeoEast軟件安裝和系統(tǒng)運行環(huán)境調(diào)試,在新的運行環(huán)境下,在優(yōu)化后的HPz840工作站客戶端完成近60個GeoEast軟件新用戶的建立及用戶運行環(huán)境的配置工作,經(jīng)過對GeoEast應用軟件工作模式和設備配置優(yōu)化,充分發(fā)揮了HPz840工作站集群的性能優(yōu)勢,較大程度上均衡了2套Oracle服務器的負載,充分保障了GeoEast應用軟件服務器和數(shù)據(jù)庫的穩(wěn)定運行,大大提高了工作效率。截止到目前,已完成了20多個較大規(guī)模的地震資料解釋工程項目。這種優(yōu)化方案的優(yōu)點是資源充分利用,多機并行解釋,但是也存在需要大容量快速存儲做支撐的不足。今后,還將持續(xù)改進,加強對其他類型解釋工作站的優(yōu)化,這將有利于GeoEast應用軟件的進一步推廣應用。