集群(Cluster)技術(shù)是一種通過(guò)軟硬件技術(shù),將一組物理上相互獨(dú)立的服務(wù)器在系統(tǒng)中整合為邏輯上為單一的系統(tǒng),這些獨(dú)立的服務(wù)器共用一個(gè)磁盤(pán)存儲(chǔ)。集群系統(tǒng)和單臺(tái)服務(wù)器比較,具有高性能、高可靠和高擴(kuò)展性,其核心技術(shù)是任務(wù)調(diào)度、服務(wù)器狀態(tài)監(jiān)聽(tīng)和負(fù)載均衡。服務(wù)器集群系統(tǒng)根據(jù)不同的特征可以有多種分類(lèi)方法,目前業(yè)界通常把集群系統(tǒng)分為兩類(lèi):高可用性集群(High Availability Cluster,簡(jiǎn)稱(chēng)HA集群)和高性能計(jì)算集群(High Performance Computing Cluster,簡(jiǎn)稱(chēng)HPC集群)。高可用集群就是采用集群技術(shù)來(lái)實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)的高可用性,它通常有兩種工作方式:容錯(cuò)系統(tǒng)和負(fù)載均衡系統(tǒng)。容錯(cuò)系統(tǒng)通常是主從服務(wù)器方式,從服務(wù)器檢測(cè)主服務(wù)器的狀態(tài),當(dāng)主服務(wù)工作正常時(shí),從服務(wù)器并不提供服務(wù),一旦主服務(wù)器失效,從服務(wù)器就開(kāi)始代替主服務(wù)器向客戶提供服務(wù)。負(fù)載均衡系統(tǒng)是集群中所有的節(jié)點(diǎn)都處于活動(dòng)狀態(tài),它們分?jǐn)傁到y(tǒng)的工作負(fù)載。一般Web服務(wù)器集群、數(shù)據(jù)庫(kù)集群和應(yīng)用服務(wù)器集群都屬于這種類(lèi)型。
1 集群系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
以某石化公司MES系統(tǒng)為例,該系統(tǒng)為公司生產(chǎn)運(yùn)行提供從生產(chǎn)調(diào)度、生產(chǎn)執(zhí)行、質(zhì)量控制到生產(chǎn)統(tǒng)計(jì)分析全過(guò)程的業(yè)務(wù)管理,提高生產(chǎn)運(yùn)行效率,滿足煉廠生產(chǎn)運(yùn)行業(yè)務(wù)的需求。對(duì)于公司來(lái)說(shuō),高可靠、高性能和多業(yè)務(wù)承載的集群系統(tǒng)是為生產(chǎn)管理提供支撐的關(guān)鍵。
根據(jù)MES系統(tǒng)服務(wù)器軟硬件要求,從專(zhuān)業(yè)系統(tǒng)開(kāi)發(fā)、實(shí)施和維護(hù)的角度考慮,該公司MES系統(tǒng)生產(chǎn)環(huán)境需部署2臺(tái)SCSI磁盤(pán)陣列和10臺(tái)服務(wù)器,其中服務(wù)器包括:2臺(tái)Oracle數(shù)據(jù)庫(kù)服務(wù)器、2臺(tái)PHD-SQL服務(wù)器、1臺(tái)WPKS服務(wù)器、1臺(tái)APP服務(wù)器、1臺(tái)LIMS數(shù)據(jù)庫(kù)服務(wù)器、1臺(tái)LIMS應(yīng)用服務(wù)器和2臺(tái)域控服務(wù)器。在硬件架構(gòu)設(shè)計(jì)上,主要針對(duì)Oracle數(shù)據(jù)庫(kù)服務(wù)器、SQL Server數(shù)據(jù)庫(kù)服務(wù)器和PHD實(shí)時(shí)數(shù)據(jù)庫(kù)服務(wù)器采用服務(wù)器集群。
Oracle數(shù)據(jù)庫(kù)服務(wù)器集群使用2臺(tái)IBM X3850主機(jī),每臺(tái)采用英特爾Xeon Processor E7-4820處理器,64G內(nèi)存,四口千兆以太網(wǎng)卡,操作系統(tǒng)為Windows Server 2008 R2,數(shù)據(jù)庫(kù)管理系統(tǒng)為Oracle EntERPrise Edition 11g,使用Oracle RAC技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫(kù)集群。每臺(tái)服務(wù)器的第一塊網(wǎng)卡接入公網(wǎng)交換機(jī),配置公網(wǎng)IP;第二塊網(wǎng)卡作為心跳線,兩臺(tái)服務(wù)器直連,配置私有IP;第三塊網(wǎng)卡連接磁盤(pán)陣列,與磁盤(pán)陣列提供的IP地址在同一網(wǎng)段。在兩臺(tái)服務(wù)器的/etc/hosts文件中定義虛擬IP地址,當(dāng)運(yùn)行Oracle Universal Installer時(shí),該程序啟動(dòng)Oracle的虛擬互聯(lián)網(wǎng)協(xié)議配置助手,也就是說(shuō)Oracle能夠自動(dòng)配置公共虛擬IP地址。當(dāng)運(yùn)行srvctl start nodeapps –n <node_name>命令時(shí),所有的虛擬IP地址將被激活。Oracle RAC可以實(shí)現(xiàn)多節(jié)點(diǎn)負(fù)載均衡,提供系統(tǒng)高可用性,故障容錯(cuò)能力極強(qiáng),其拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1
PHD實(shí)時(shí)數(shù)據(jù)庫(kù)和SQL Server數(shù)據(jù)庫(kù)安裝在一起,設(shè)計(jì)為故障轉(zhuǎn)移集群。PHD-SQL服務(wù)器集群使用2臺(tái)IBM X3850主機(jī),每臺(tái)采用英特爾Xeon Processor E7-4820處理器,64G內(nèi)存,四口千兆以太網(wǎng)卡,操作系統(tǒng)為Windows Server 2008 R2,采用Microsoft Cluster Server(MCS)實(shí)現(xiàn)服務(wù)器集群。每臺(tái)服務(wù)器的第一塊網(wǎng)卡接入公網(wǎng)交換機(jī),配置公網(wǎng)IP;第二塊網(wǎng)卡直連作為心跳線,配置私有IP;第三塊網(wǎng)卡連接磁盤(pán)陣列,與磁盤(pán)陣列提供的IP地址在同一網(wǎng)段。另外使用兩臺(tái)B類(lèi)服務(wù)器,其中一臺(tái)用作為域控服務(wù)器,另外一臺(tái)作為冗余域控服務(wù)器,安裝Windows Server 2008操作系統(tǒng),更新所有系統(tǒng)補(bǔ)丁,并安裝域控管理軟件,接入交換機(jī)并配置公網(wǎng)IP地址。PHD-SQL數(shù)據(jù)庫(kù)服務(wù)器集群拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2
磁盤(pán)陣列采用HP P2000 SCSI磁盤(pán)陣列柜,安裝20塊300G硬盤(pán),總?cè)萘繛?TB,其中預(yù)留4塊磁盤(pán)作為熱備盤(pán),其余磁盤(pán)陣列方式為RAID5。其分區(qū)明細(xì)如下:
1區(qū):1.99TB,分配給2臺(tái)PHD-SQL服務(wù)器做實(shí)時(shí)數(shù)據(jù)庫(kù)Cluster集群;
2區(qū):5GB,分配給2臺(tái)PHD-SQL服務(wù)器,用于集群設(shè)計(jì)的心跳連接緩存區(qū);
3區(qū):600GB,分配給2臺(tái)PHD-SQL服務(wù)器,用于SQL集群;
4區(qū)、5區(qū)和6區(qū)平均分配剩余空間,每個(gè)約600GB,分配給2臺(tái)oracle服務(wù)器做RAC集群。
為了保證系統(tǒng)在某臺(tái)服務(wù)器出現(xiàn)故障時(shí)能正常運(yùn)行,必須構(gòu)造容錯(cuò)系統(tǒng)。在MES系統(tǒng)中,容錯(cuò)主要包括故障診斷和故障替換兩部分。我們用心跳檢測(cè)(heartbeat)來(lái)診斷故障,監(jiān)控服務(wù)器每隔5秒向被監(jiān)控服務(wù)器發(fā)出檢測(cè)信息包,被監(jiān)控服務(wù)器中的心跳守護(hù)程序返回應(yīng)答信息和有關(guān)的狀態(tài)信息,如被監(jiān)控服務(wù)器不能及時(shí)響應(yīng),就認(rèn)為被監(jiān)控服務(wù)器出現(xiàn)故障。
故障替換應(yīng)用在主從兩臺(tái)服務(wù)器之間,在主服務(wù)器有故障時(shí),自動(dòng)切換到后備服務(wù)器。主服務(wù)器與后備服務(wù)器都可以處于活動(dòng)狀態(tài)(active)和非活動(dòng)狀態(tài)(inactive)兩種狀態(tài)之一。當(dāng)主服務(wù)器與后備服務(wù)器皆處于無(wú)故障正常狀態(tài)時(shí),主服務(wù)器為活動(dòng)狀態(tài),執(zhí)行系統(tǒng)服務(wù),而非活動(dòng)狀態(tài)服務(wù)器執(zhí)行監(jiān)督活動(dòng)服務(wù)器的任務(wù)。一旦非活動(dòng)服務(wù)器檢測(cè)到活動(dòng)服務(wù)器出現(xiàn)故障,就進(jìn)行故障切換,原來(lái)非活動(dòng)服務(wù)器成為活動(dòng)服務(wù)器,啟動(dòng)服務(wù)和虛擬IP地址,并響應(yīng)客戶機(jī)服務(wù)請(qǐng)求,而原來(lái)活動(dòng)服務(wù)器則停止服務(wù)。
當(dāng)集群中一臺(tái)服務(wù)器發(fā)生故障而由另一臺(tái)節(jié)點(diǎn)機(jī)來(lái)接替其服務(wù)時(shí),為了保持集群內(nèi)服務(wù)器的切換對(duì)其它應(yīng)用服務(wù)器是固定的,就必須提供公共虛擬IP(VIP)地址。提供服務(wù)的節(jié)點(diǎn)切換時(shí),該VIP隨之移到新的服務(wù)節(jié)點(diǎn)。
2 集群測(cè)試
集群創(chuàng)建后測(cè)試集群的狀態(tài)非常重要,要測(cè)試其是否能夠滿足MES系統(tǒng)正常運(yùn)行,必須關(guān)注兩個(gè)方面。一方面是當(dāng)任意一臺(tái)服務(wù)器故障時(shí),另一臺(tái)服務(wù)器是否能夠在較短的時(shí)間內(nèi)提供服務(wù);另一個(gè)方面是共享數(shù)據(jù)是否準(zhǔn)確無(wú)誤。
首先采用Windows集群管理器中提供的測(cè)試。在主服務(wù)器上打開(kāi)集群管理器,選擇主服務(wù)器下線,同時(shí)在應(yīng)用服務(wù)器上使用TPI訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,約30秒后即可正常訪問(wèn),說(shuō)明服務(wù)從主服務(wù)器成功切換至備用服務(wù)器。
另外模擬服務(wù)器宕機(jī)進(jìn)行測(cè)試。將主服務(wù)器強(qiáng)制關(guān)機(jī),同時(shí)在應(yīng)用服務(wù)器上使用TPI訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,約50秒后可正常訪問(wèn),說(shuō)明在主服務(wù)器宕機(jī)后,服務(wù)可以成功切換至備用服務(wù)器。
最后,在數(shù)據(jù)庫(kù)中寫(xiě)入大量測(cè)試數(shù)據(jù),并模擬主服務(wù)器宕機(jī),系統(tǒng)服務(wù)切換至備用服務(wù)器后,經(jīng)檢查數(shù)據(jù)庫(kù)服務(wù)器中的測(cè)試數(shù)據(jù)準(zhǔn)確無(wú)誤,說(shuō)明集群服務(wù)提供的共享數(shù)據(jù)完整,能夠滿足MES系統(tǒng)運(yùn)行要求。
3 結(jié)論
利用ORACLE RAC集群技術(shù),使用兩臺(tái)IBM數(shù)據(jù)庫(kù)服務(wù)器(共享存儲(chǔ)HP P2000磁盤(pán)陣列)成功安裝了兩個(gè)節(jié)點(diǎn)的ORACLE RAC集群,該集群為MES系統(tǒng)提供了較好的后臺(tái)數(shù)據(jù)庫(kù)支撐;另外,利用Microsoft Cluster Server(MCS)實(shí)現(xiàn)PHD和SQL Server數(shù)據(jù)庫(kù)服務(wù)器集群,為MES系統(tǒng)提供了穩(wěn)定的實(shí)時(shí)數(shù)據(jù)庫(kù)平臺(tái)。Oracle數(shù)據(jù)庫(kù)服務(wù)器、PHD實(shí)時(shí)數(shù)據(jù)庫(kù)服務(wù)器何SQL Server數(shù)據(jù)庫(kù)服務(wù)器集群的成功創(chuàng)建,實(shí)現(xiàn)了服務(wù)器故障時(shí)的自動(dòng)診斷和自動(dòng)切換,能夠避免因?yàn)榉⻊?wù)器故障導(dǎo)致的系統(tǒng)服務(wù)終止,保證了MES系統(tǒng)運(yùn)行的高可用性。集群技術(shù)隨著服務(wù)器硬件系統(tǒng)與操作系統(tǒng)的發(fā)展將會(huì)在高可用性、高可靠性、系統(tǒng)冗余等方面逐步提高,利用服務(wù)器的集群技術(shù),通過(guò)周密計(jì)劃和網(wǎng)絡(luò)維護(hù),系統(tǒng)破壞的機(jī)率是非常小的,因此對(duì)用戶來(lái)說(shuō),使用集群技術(shù)的MES系統(tǒng)可以大大地增強(qiáng)服務(wù)器的穩(wěn)定性,滿足系統(tǒng)7×24小時(shí)的運(yùn)行需求。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:服務(wù)器集群技術(shù)在某石化公司MES/ERP系統(tǒng)中的應(yīng)用
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10819912226.html