王鷗+趙永彬
摘要:為提高遼寧電力企業(yè)基礎(chǔ)平臺(tái)的有效集成與綜合利用,進(jìn)而為公司運(yùn)營(yíng)決策提供基礎(chǔ)支持,本文結(jié)合企業(yè)門(mén)戶系統(tǒng)文件共享穩(wěn)定性的需求,設(shè)計(jì)并實(shí)現(xiàn)了基于GPFS共享文件系統(tǒng)的遼寧電力企業(yè)門(mén)戶系統(tǒng)。實(shí)際應(yīng)用情況表明該項(xiàng)技術(shù)的部署滿足遼寧公司企業(yè)門(mén)戶的基本要求,為公司業(yè)務(wù)應(yīng)用和數(shù)據(jù)共享提供有力支撐。
關(guān)鍵詞:GPFS;企業(yè)門(mén)戶;Weblogic Portal;單點(diǎn)登錄
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)10-0015-03
按照國(guó)家電網(wǎng)公司“十一五”信息化建設(shè)規(guī)劃的總體目標(biāo),遼寧省電力有限公司通過(guò)3年的時(shí)間,建成了以統(tǒng)一目錄為用戶管理以及身份認(rèn)證依據(jù)的一體化平臺(tái)體系架構(gòu),以應(yīng)用集成為數(shù)據(jù)的橫向集成工具、以數(shù)據(jù)中心為數(shù)據(jù)的共享平臺(tái)、以數(shù)據(jù)交換為數(shù)據(jù)的縱向貫通手段、以企業(yè)門(mén)戶為統(tǒng)一信息的展示方式、為各業(yè)務(wù)系統(tǒng)提供了強(qiáng)有力的基礎(chǔ)平臺(tái),其中,企業(yè)門(mén)戶系統(tǒng)是基礎(chǔ)平臺(tái)中的基礎(chǔ)。
遼寧省電力有限公司企業(yè)門(mén)戶系統(tǒng)覆蓋了本部以及省內(nèi)所有地市級(jí)供電公司。該系統(tǒng)的每日點(diǎn)擊量均超過(guò)100萬(wàn)次,目前系統(tǒng)注冊(cè)用戶數(shù)為62400人,每日登錄人數(shù)為49000人。
企業(yè)門(mén)戶系統(tǒng)所展現(xiàn)出的附件、圖片以及內(nèi)容管理的文章等數(shù)據(jù),都保存在80或81服務(wù)器掛接的存儲(chǔ)設(shè)備上。所有的web應(yīng)用服務(wù)器都需訪問(wèn)統(tǒng)一的僅可以掛載在單臺(tái)服務(wù)器上文件系統(tǒng),且無(wú)法進(jìn)行并發(fā)的訪問(wèn)與修改。每日瞬時(shí)訪問(wèn)量過(guò)大將導(dǎo)致單臺(tái)服務(wù)器資源緊張,進(jìn)而影響該系統(tǒng)的安全穩(wěn)定運(yùn)行,所以提出在企業(yè)門(mén)戶系統(tǒng)中部署GPFS文件共享系統(tǒng),進(jìn)而解決單點(diǎn)故障的問(wèn)題。
1 企業(yè)門(mén)戶系統(tǒng)架構(gòu)現(xiàn)狀
遼寧省電力公司企業(yè)門(mén)戶系統(tǒng)基于Weblogic Portal 平臺(tái)軟件開(kāi)發(fā), WebLogic集群前端采用兩臺(tái)四層交換機(jī)F5作為負(fù)載均衡器,后端采用6臺(tái)門(mén)戶應(yīng)用服務(wù)器構(gòu)成門(mén)戶集群,實(shí)現(xiàn)高可用性架構(gòu),數(shù)據(jù)庫(kù)采用Oracle10g,組成RAC集群。
其前端的F5四層交換機(jī)會(huì)定期檢測(cè),當(dāng)某臺(tái)門(mén)戶服務(wù)器發(fā)生故障時(shí),F(xiàn)5四層交換機(jī)會(huì)將該故障服務(wù)器隔離,并將后續(xù)發(fā)往該故障服務(wù)器的請(qǐng)求轉(zhuǎn)發(fā)至集群中其它的服務(wù)器,這時(shí)其它的服務(wù)器將處理系統(tǒng)。
與此同時(shí),后端的六臺(tái)門(mén)戶應(yīng)用服務(wù)器搭建了同時(shí)提供服務(wù)的兩套相同的高可用性集群架構(gòu),每套集群架構(gòu)中均由九個(gè)受管理服務(wù)和一個(gè)管理服務(wù)所組成,這種架構(gòu)方式提升系統(tǒng)負(fù)載容量也能夠?qū)崿F(xiàn)該系統(tǒng)7×24小時(shí)的無(wú)間斷可靠運(yùn)行。
企業(yè)門(mén)戶數(shù)據(jù)庫(kù)采用的是Oracle10g,通過(guò)Oracle10g產(chǎn)品的特性實(shí)現(xiàn)高可用(RAC)。兩臺(tái)服務(wù)器在并行服務(wù)的方式下各自運(yùn)行一個(gè)數(shù)據(jù)庫(kù)核心的進(jìn)程,但是共同操作、管理同一個(gè)數(shù)據(jù)庫(kù)。系統(tǒng)連接到哪個(gè)服務(wù)器均可以在數(shù)據(jù)庫(kù)中進(jìn)行操作。當(dāng)其中某臺(tái)服務(wù)器出現(xiàn)故障時(shí),數(shù)據(jù)庫(kù)系統(tǒng)本身并沒(méi)有停止工作,連接在另一臺(tái)服務(wù)器上的客戶端還可繼續(xù)正常工作。從而實(shí)現(xiàn)門(mén)戶系統(tǒng)7*24小時(shí)的可靠運(yùn)行。
企業(yè)門(mén)戶系統(tǒng)所展現(xiàn)的附件、圖片以及內(nèi)容管理的文章等數(shù)據(jù),都儲(chǔ)存在80或81服務(wù)器所掛接的存儲(chǔ)設(shè)備上。FTP文件服務(wù)器已經(jīng)進(jìn)行了雙機(jī)設(shè)置(如圖2)。
2 基于GPFS并發(fā)文件系統(tǒng)的企業(yè)門(mén)戶架構(gòu)
GPFS (General Parallel File System)起源于 IBM 公司SP 系統(tǒng)上所使用的虛擬共享磁盤(pán)技術(shù) ( VSD ),是IBM 公司開(kāi)發(fā)的第一個(gè)共享文件系統(tǒng)。
2.1 GPFS共享文件系統(tǒng)工作原理
GPFS允許使用者共享分布在多個(gè)節(jié)點(diǎn)與多個(gè)磁盤(pán)上的文件,將所有物理的資源都視為虛擬文件系統(tǒng)對(duì)象。它允許并行的應(yīng)用程序能夠同時(shí)從GPFS 節(jié)點(diǎn)組中的任何一個(gè)節(jié)點(diǎn)訪問(wèn)相同或者不同的文件。
GPFS通用并行文件系統(tǒng)設(shè)計(jì)的目標(biāo)是允許應(yīng)用程序通過(guò)標(biāo)準(zhǔn)UNIX文件系統(tǒng)的接口來(lái)訪問(wèn)數(shù)據(jù),使數(shù)據(jù)分布于一個(gè)集群中的所有的節(jié)點(diǎn)上。GPFS是通過(guò)將I/O分布在多個(gè)硬盤(pán)來(lái)提高性能,通過(guò)日志與復(fù)制的方式來(lái)提高數(shù)據(jù)的可靠性,通過(guò)增加節(jié)點(diǎn)與節(jié)點(diǎn)間由SP Switch互聯(lián)來(lái)提高系統(tǒng)的可擴(kuò)展性。GPFS可超越單一節(jié)點(diǎn)與單一文件系統(tǒng)的性能極限,通過(guò)將文件分布于多個(gè)節(jié)點(diǎn)和磁盤(pán)上的方式。GPFS系統(tǒng)資源可以在文件系統(tǒng)掛載狀況下添加或刪除硬盤(pán),從而可以進(jìn)行動(dòng)態(tài)調(diào)整。當(dāng)GPFS系統(tǒng)相對(duì)空閑時(shí),用戶為了能提高其吞吐量,可在已配置的硬盤(pán)上重新均衡文件系統(tǒng),還可在不重新啟動(dòng)GPFS服務(wù)的情況下添加新的節(jié)點(diǎn)。
GPFS文件系統(tǒng)可通過(guò)在SP系統(tǒng)或群集中增加節(jié)點(diǎn)的方式來(lái)提高性能。GPFS通用并行文件系統(tǒng)為不同節(jié)點(diǎn)建立各自的獨(dú)立日志。日志種能夠記錄Metadata的分布,一旦節(jié)點(diǎn)發(fā)生故障,就可以快速恢復(fù)數(shù)據(jù)。GPFS fail-over的功能通過(guò)規(guī)劃,將數(shù)據(jù)分布到不同的failure group內(nèi),減少單點(diǎn)故障影響,達(dá)到高可用性。GPFS在多個(gè)failure group內(nèi)為每個(gè)數(shù)據(jù)實(shí)例做出備份,即使在創(chuàng)建文件系統(tǒng)時(shí)沒(méi)有被要求復(fù)制,GPFS也會(huì)自動(dòng)在不同的failure group內(nèi)完成復(fù)制恢復(fù)日志的工作,從而保證數(shù)據(jù)的可用性。
GPFS 文件系統(tǒng)基本上由三層架構(gòu)組成:磁盤(pán),網(wǎng)絡(luò)共享磁盤(pán)(NSD), GPFS 文件設(shè)備,如圖3所示。
磁盤(pán):GPFS 文件系統(tǒng)的最底層是物理磁盤(pán)設(shè)備。原則上,可采用系統(tǒng)上任何一塊設(shè)備,包括磁盤(pán),邏輯卷,磁盤(pán)分區(qū)。從物理連接上來(lái)看,GPFS 能夠支持使用所有方式連接的磁盤(pán)。包括本地 SCSI 磁盤(pán),光纖 SAN 磁盤(pán),本地 IDE 磁盤(pán), iSCSI 磁盤(pán),等等。
網(wǎng)絡(luò)共享磁盤(pán)(NSD):NSD 是由磁盤(pán)所映射出的虛擬設(shè)備,NSD 與磁盤(pán)為一一對(duì)應(yīng)的關(guān)系。NSD 被標(biāo)記了不同的屬性來(lái)區(qū)分其用途,我們可將磁盤(pán)標(biāo)記為 4 種用途:Data Only:只存儲(chǔ)文件系統(tǒng)中的數(shù)據(jù)信息;Desc Only:只存儲(chǔ) GPFS 文件系統(tǒng)描述信息的磁盤(pán); Meta data only: 只存儲(chǔ)文件系統(tǒng)中的目錄結(jié)構(gòu) inode 信息;Meta and data: 存儲(chǔ)所有信息(默認(rèn))。
GPFS 文件設(shè)備:GPFS 文件設(shè)備由 NSD 所創(chuàng)建而成,是一個(gè)可以被系統(tǒng)掛載的文件設(shè)備,可并行的同時(shí)掛載在多個(gè)節(jié)點(diǎn)上。
2.2 GPFS共享文件系統(tǒng)的特點(diǎn)
1)高性能:GPFS 允許在同一節(jié)點(diǎn)內(nèi)的應(yīng)用或多進(jìn)程使用標(biāo)準(zhǔn)文件系統(tǒng)調(diào)用,同時(shí)訪問(wèn)同一文件。通過(guò)將節(jié)點(diǎn)內(nèi)的讀寫(xiě)操作分布到多個(gè)磁盤(pán)上,進(jìn)而大大增加了文件系統(tǒng)的帶寬,通過(guò)整個(gè)系統(tǒng)的負(fù)載均衡地避免了某個(gè)磁盤(pán)過(guò)大的讀寫(xiě)。
2)跨平臺(tái)設(shè)計(jì):GPFS 支持在一個(gè)集群內(nèi)加入異構(gòu)的平臺(tái)。
支持異構(gòu)的硬件環(huán)境:System p, System x。
支持異構(gòu)的操作系統(tǒng):AIX, Linux。
3)數(shù)據(jù)一致性:GPFS 通過(guò)一套復(fù)雜的信令管理機(jī)制提供數(shù)據(jù)的一致性。通過(guò)這套機(jī)制而允許任意節(jié)點(diǎn)通過(guò)各自的獨(dú)立路徑到達(dá)同一文件。即使節(jié)點(diǎn)無(wú)法正常的工作, GPFS 也可找到其它路徑。
4)數(shù)據(jù)安全性:GPFS 是一種為不同節(jié)點(diǎn)建立各自獨(dú)立日志的日志文件系統(tǒng)。日志中記錄 metadata 的分布,一旦節(jié)點(diǎn)發(fā)生故障,可以快速恢復(fù)數(shù)據(jù)。
5)管理簡(jiǎn)單:GPFS 能夠自動(dòng)在各個(gè)節(jié)點(diǎn)間同步配置文件與文件系統(tǒng)信息,且在同一節(jié)點(diǎn)內(nèi),可以在任一節(jié)點(diǎn)上進(jìn)行對(duì) GPFS 的管理。
6)系統(tǒng)可擴(kuò)展性:在文件系統(tǒng)掛載狀況下通過(guò) GPFS添加或刪除硬盤(pán),系統(tǒng)資源從而進(jìn)行動(dòng)態(tài)調(diào)整。
2.3 GPFS系統(tǒng)可用狀態(tài)的仲裁
GPFS文件系統(tǒng)提供3種仲裁方式來(lái)確定系統(tǒng)當(dāng)前狀態(tài)是否安全可靠:
1)File Descriptor Quorum、Node Quorum和Tiebreaker Quorum 1File Descriptor Quorum:當(dāng)在磁盤(pán)上創(chuàng)建GPFS文件系統(tǒng)時(shí),會(huì)將文件系統(tǒng)信息的拷貝復(fù)制到多個(gè)磁盤(pán)上,達(dá)到數(shù)據(jù)冗余的目的。這種方式是GPFS文件系統(tǒng)默認(rèn)支持的,是不可以配置改變的。File Descriptor Quorum通過(guò)判斷包含有文件系統(tǒng)信息的磁盤(pán)的在線情況來(lái)判斷當(dāng)前系統(tǒng)是否正常。當(dāng)超過(guò)一半的包含文件系統(tǒng)信息的磁盤(pán)下線時(shí),GPFS文件系統(tǒng)會(huì)判斷系統(tǒng)為非正常狀態(tài),此時(shí)會(huì)自動(dòng)關(guān)閉文件系統(tǒng)。
2)Node Quorum: GPFS文件系統(tǒng)集群中,將多個(gè)主機(jī)節(jié)點(diǎn)設(shè)置成Quorum節(jié)點(diǎn),當(dāng)有超過(guò)一半的Quorum節(jié)點(diǎn)下線時(shí),GPFS文件系統(tǒng)判斷系統(tǒng)為非正常狀態(tài),會(huì)自動(dòng)關(guān)閉文件系統(tǒng)。
3)Tiebreaker Quorum: GPFS文件系統(tǒng)集群中,可以設(shè)置一些指定的物理磁盤(pán)作為T(mén)iebreaker Disk,GPFS文件系統(tǒng)會(huì)動(dòng)態(tài)的監(jiān)視這些磁盤(pán)的狀態(tài)。當(dāng)有超過(guò)一般的Tiebreaker Disk下線時(shí),則表示系統(tǒng)為非正常狀態(tài),自動(dòng)關(guān)閉文件系統(tǒng)。按照文檔上來(lái)說(shuō),用于監(jiān)視Tiebreaker Disk的Quorum主機(jī)數(shù)目最多只能配置兩臺(tái),當(dāng)2臺(tái)Quorum主機(jī)都故障,則也表示系統(tǒng)故障,此時(shí)文件系統(tǒng)也會(huì)關(guān)閉。Tibreaker Quorum和Node Quorum仲裁方式只能選擇其中一種,不能兩種同時(shí)使用。Tibreakder Quorum仲裁方式主要是用于節(jié)點(diǎn)比較少的親況下,如果整個(gè)系統(tǒng)的接入節(jié)點(diǎn)較多,應(yīng)該考慮Node Quorum的仲裁方式。
2.4 GPFS在企業(yè)門(mén)戶中的部署及應(yīng)用
首先需要分別在6臺(tái)服務(wù)器上安裝GPFS軟件,創(chuàng)建GPFS集群,創(chuàng)建GPFS文件系統(tǒng)。GPFS軟件的安裝部署主要包括如下幾個(gè)步驟:1)GPFS軟件的下載安裝;2)創(chuàng)建GPFS集群;3)創(chuàng)建GPFS NSD;4)創(chuàng)建GPFS文件系統(tǒng)。
在GPFS軟件安裝配置完成后,每臺(tái)主機(jī)的根目錄下均出現(xiàn)/portal文件系統(tǒng),該文件夾下所存儲(chǔ)的就是門(mén)戶系統(tǒng)所使用的業(yè)務(wù)數(shù)據(jù)。GPFS集群建立完成后,每個(gè)主機(jī)節(jié)點(diǎn)都能夠直接訪問(wèn)/portal文件系統(tǒng),在某個(gè)主機(jī)出現(xiàn)故障時(shí),也不會(huì)影響到其它節(jié)點(diǎn)的正常運(yùn)行,保證了文件系統(tǒng)的可用性。
單獨(dú)完成GPFS的配置是不夠的,我們還需要完成門(mén)戶系統(tǒng)軟件功能的調(diào)整,通過(guò)對(duì)軟件源代碼和應(yīng)用配置文件的修改,將原有FTP文件訪問(wèn)方式轉(zhuǎn)換為本地文件的讀取和寫(xiě)入方式,通地讀寫(xiě)方式的修改,不僅提高了文件訪問(wèn)速度,還降低了80服務(wù)器的訪問(wèn)壓力。
最后,對(duì)新的系統(tǒng)架構(gòu)進(jìn)行測(cè)試,包括GPFS文件系統(tǒng)的讀寫(xiě)測(cè)試,多個(gè)節(jié)點(diǎn)文件修改的并發(fā)讀寫(xiě)測(cè)試,以及系統(tǒng)集成測(cè)試,壓力測(cè)試。通過(guò)對(duì)業(yè)務(wù)系統(tǒng)的測(cè)試,保證未來(lái)業(yè)務(wù)的穩(wěn)定運(yùn)行。
最終實(shí)現(xiàn)企業(yè)門(mén)戶系統(tǒng)基于GPFS的架構(gòu)優(yōu)化,如圖:
3 結(jié)論
通過(guò)在企業(yè)門(mén)戶中部署GPFS文件共享系統(tǒng),各臺(tái)服務(wù)器都可以通過(guò)GPFS來(lái)訪問(wèn)共享的文件系統(tǒng),當(dāng)單臺(tái)web服務(wù)器出現(xiàn)故障時(shí),將不會(huì)影響到整個(gè)門(mén)戶系統(tǒng)的穩(wěn)定運(yùn)行,從根本上解決了企業(yè)門(mén)戶在存儲(chǔ)方面的單點(diǎn)故障問(wèn)題。通過(guò)調(diào)整后,無(wú)論在數(shù)據(jù)庫(kù)層、網(wǎng)絡(luò)層、web應(yīng)用層以及文件存儲(chǔ)層,都不存在單點(diǎn)的故障,從而提高了系統(tǒng)運(yùn)行的可靠性和穩(wěn)定性,效果十分明顯。
參考文獻(xiàn):
[1] 李勝利, 唐維, 石柯, 等. 高可用并行文件系統(tǒng)的分布式元數(shù)據(jù)管理[J]. 應(yīng)用科學(xué)學(xué)報(bào), 2005, 23(3):297-299.
[2] 陳宏昊. GPFS并行文件系統(tǒng)在地震數(shù)據(jù)處理中的應(yīng)用[J].物探裝備, 2008,18(6): 393-398.
[3] 何慶兵. SNFS高性能共享文件系統(tǒng)在集群系統(tǒng)中的應(yīng)用[J].石油工業(yè)計(jì)算機(jī)應(yīng)用,2010(3):10-12.