一個VERITAS集群服務器的應用實例_第1頁
一個VERITAS集群服務器的應用實例_第2頁
一個VERITAS集群服務器的應用實例_第3頁
一個VERITAS集群服務器的應用實例_第4頁
一個VERITAS集群服務器的應用實例_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一個VERITAS集群服務器的應用實例——北航SAP航材系統高可用性方案的實現鄧曙康

中國南方航空集團北方公司信息中心摘要北航SAP航材系統的實施是南航集團北方公司在航材管理ERP之路上邁出的重要一步。應用的關鍵性決定了實施高可用性方案的必要性。本文介紹了北航SAP系統的VCS方案和具體實現方法。主要有以下內容:⑴簡介現有的集群方式,及本方案集群方式和軟件的選擇原因;⑵闡述VCS集群內資源的具體配置方法;⑶使用shell腳本實現對SAPR/3應用啟停的控制,滿足特定的系統管理需求。關鍵詞高可用性(HA)VeritasClusterServeragent服務組1引言今天,大型企業的運行管理和業務操作與信息系統的結合越來越緊密,對應用和數據的可靠性要求也越來越高,高可用性(HA)已經成為企業級關鍵應用解決方案中不可缺少的部分。北航SAP航材系統是企業資源計劃(ERP)應用于航空公司的一個實例,它采用了SAPR/3軟件的財務會計(FI)、物料管理(MM)、銷售和分銷(SD)、設備維護(PM)四個模塊,為航材存貨訂貨和資金周轉提供了管理平臺,對機務維修和安全飛行起著重要的保障作用。如何將高可用性方案和北航SAP系統架構特點融合在一起,既能實現對包括SAPR/3在內的所有應用的保護,又能滿足特定的系統管理需求,是這一方案要解決的主要問題。HA方案概述2.1方案選擇集群系統和相應的冗余配置是實現系統保護的主要方式。集群系統可分為以下幾種。?共享數據,共享磁盤(Shared-dataCluster):當節點切換時備用節點會接管原來的磁盤和數據。包括切換式和并行式。?共享數據,不共享磁盤(Replicated-DataCluster):采用復制技術將數據復制到另外的磁盤上,對承載數據的磁盤實現了冗余。只包括切換式。?不共享數據:當主節點故障后,備用節點的應用程序采用另外的不同數據。包括切換式和并行式。為了既能夠保證冗余和負載能力,又相對提高系統的成本效率,本方案選擇了共享數據和磁盤的切換式集群,軟件選用了VeritasClusterServer(VCS)。VCS是基于應用級的高可用性多機應用軟件,可保證一旦任何應用出現故障,該應用系統會迅速切換到其它服務器上去。Cluster內的任意一個節點均可作為控制臺,配置結束自動更新所有節點。VCS支持多種應用和資源的檢測和切換,包括WebServer、IP、數據庫、多網卡、NFS、文件系統、Disk、進程、SNMP、Netbackup和HSM等。VCS軟件捆綁的agent和其它商業agent可以實現上述諸多應用和資源的控制。本方案的難點有兩個。一是在正常情況下備用節點運行自己的SAP應用,因而要求在切換時能夠停掉備用節點上的應用程序(包括SAPR/3,Oracle數據庫和監聽器)。二是怎樣對SAPR/3應用進行控制。方案實現3.1北航SAP系統結構北航的SAP系統由三臺服務器組成,主機名分別為sapprd、sapqas、sapdev。sapdev僅用于開發,sapqas可用于測試,sapprd作為主用生產機。操作系統平臺是SUNSolaris8,數據庫軟件采用oracle&企業版,應用程序為SAPR/3,集群軟件為VeritasClusterServer?3.5forSolaris。由sapprd和sapqas組成集群。sapprd是主節點,正常情況下用于生產的SAP應用駐留在這臺機器上。sapqas作為備用節點,正常情況下有獨立的用于測試的SAPR/3應用。當主節點sapprd故障時,sapqas停掉本地的SAPR/3應用,而啟動原來sapprd上SAPR/3的應用。用于生產的數據庫存儲在共享的磁盤陣列上。當發生failover(故障轉移)時,備用節點接管磁盤陣列和上面的數據庫,在本機啟動整個服務組。此外,系統通過使用VeritasClusterServer軟件配置了一個虛擬的浮動IP地址,對客戶端來說是唯一的服務器地址。系統結構全景如附錄圖A所示。3.2集群和服務組的組成本方案采用中的集群命名為vcs-cluster,由兩個節點sapprd和sapqas組成,節點間用兩個網口連接兩條心跳線。集群內建立了一個服務組,命名為oradb。在oradb服務組中了一組資源,見下表。oradb服務組資源列表資源類型所包含的資源名稱ApplicationSqlnet,SAPappDiskdatadisk.datadisk1.datadisk2IPMultiNICipMountdatafile,datafile1,datafile2,datafile3,datafile4,datafile5,datafile6,datafile7,datafile8MultiNICAnicaOracleOracle資源之間存在依賴關系。除了底層的所有資源都依賴其下一層的資源。當服務組啟動時,所有資源從下到上按層次順序進入online狀態。只有一個資源的所有下層資源都online時,它才能夠online;當服務組關閉時,資源從上到下按層次順序進入offline狀態(除了那些不能進入offline狀態的資源,如網卡資源MultiNICA)。oradb服務組內各個資源的依賴關系如附錄圖B所示。3.4資源的配置VCS中的資源可分為三種,即基本存儲、網絡和應用。這些資源中,Oracle使用了專用的EnterpriseAgentforOracle,其它資源都是使用VCS軟件自帶的agent。基本存儲⑴Disk類型這一類型的三個資源都只須配置一個屬性partition,屬性值依次為c3t5dOs2、c3t5dls2和c3t5d2s2,分別對應磁盤陣列上的三個邏輯卷(LUN)。⑵Mount類型這一類型有九個資源,對應九個文件系統,屬性包括FSType,MountPoint,BlockDevice,FsckOpt和MountOpt等,用于設置文件系統的文件類型、掛接點、磁盤設備、文件系統校驗選項和掛接選項。網絡⑴MultiNICA類型這一類型有一個資源nica,主要的屬性包括Device和Netmask。Netmask屬性值根據公司局域網配置設置為255.255.255.0。Device屬性值:sapprd eri0l0.23.l.l0lqfe2l0.23.l.l0lsapqas ce0l0.23.l.l02qfe2l0.23.l.l02Device屬性的含義是,對基本IP地址10.23.1.101指定了sapprd上的兩個網口eri0和qfe2,對基本IP地址10.23.1.102指定了sapqas上的兩個網口ce0和qfe2。在某一時刻,每臺機器上只有一個網口被賦予指定的IP地址。當第一個網口故障時,會自動failover到第二個網口。只有兩個網口都故障時,才會發生服務組切換。⑵IPMultiNIC類型這一類型的資源ip實現一個邏輯的IP地址10.23.1.100,它被配置為MultiNICA資源nica中一個網卡的虛擬IP地址。當這個網口故障時,由下一個MultiNICA資源中的網口接管這個IP地址。需要配置的屬性包括Netmask、Address和MultiNICResName,它們的值分別設為255.255.255.0、10.23.1.100和nica。應用⑴OracleOracle資源采用了VCSEnterpriseAgentforOracle2.0。這是一個收費的商業軟件,需要單獨安裝。它可以監控oracle數據庫實例進程ora_dbw,ora_smon,ora_lgwr,ora_pmon,實現monitor>online>offline和clean等操作。Oracle資源的屬性包括Home,Sid,Pfile,Envfile,Owner等,分別對應于數據庫的$ORACLE_HOME,$ORACLE_SID,初始化參數文件,環境變量文件,oracle用戶等設置。⑵ApplicationApplication類型的資源的agent可以監控應用程序的狀態,使它們online或者offline,允許用戶指定online,offline或clean程序。監控方式包括:使用監控程序指定被監控的可執行文件的進程?指定被監控的進程ID文件Applicationagent要求的資源屬性主要有:StartProgram,StopProgram,CleanProgram,User,PidFiles,MonitorProgram,MonitorProcesses。StartProgram指定啟動應用的可執行文件路徑,StopProgram指定停止應用的可執行文件路徑,CleanProgram指定強制停止應用的可執行文件路徑。User屬性的值指定執行這三個程序的用戶。創建Application類型資源的工作包括確定監控方式和在兩個節點上分別建立StartProgram,StopProgram和CleanProgram對應的可執行文件。本方案中Application類型的資源有兩個:lsnrctl和SAPapp。lsnrctl資源使用指定PidFiles的方式來監控監聽器的狀態。StartProgram使用腳本startlsn,StopProgram和CleanProgram使用腳本stoplsn,內容如下:--在sapprd節點上腳本startlsn:#!/usr/bin/shsu-orar3p-c"lsnrctlstart"ps-ef|grep"/oracle/R3P/817_64/bin/tnslsnr"|grep-vgrep|awk'{print$2}'>/export/home/r3padm/pid_lsn腳本stoplsn:#!/usr/bin/shsu-orar3p-c"lsnrctlstop"--在sapqas節點上腳本startlsn:#!/usr/bin/shhostnamesapqassu-r3qadm-c"stopsap"su-orar3q-c"lsnrctlstop"hostnamesapprdsu-orar3p-c"lsnrctlstart"ps-ef|grep"/oracle/R3P/817_64/bin/tnslsnr"|grep-vgrep|awk'{print$2}'>/export/home/r3padm/pid_lsn腳本stoplsn:#!/usr/bin/shhostnamesapprdsu-orar3p-c"lsnrctlstop"hostnamesapqassu-orar3q-c"lsnrctlstart"su-r3qadm-c"startsap"對SAPR/3應用的控制一般可以通過購買和使用VCSagentforSAPR/3來實現。本方案采用配置Application類型資源的方法。查閱有關SAP系統的文檔,可以了解到SAPR/3應用的中心實例會生成四個進程,它們是dw,se,ms,co,這四個進程存在標志著SAP系統正常運行。其中dw進程又會生成41個dw進程,實際上只需監控第一個dw進程即可。嘗試不同進程監控方式的實驗表明,使用指定PidFiles的方式來監控SAP中心實例最為可行。這里,PidFiles中定義了四個文件:/export/home/r3padm/pid_sap_dw,/export/home/r3padm/pid_sap_co,/export/home/r3padm/pid_sap_se,/export/home/r3padm/pid_sap_ms,它們分別保存了dw,se,ms,co四個進程在操作系統進程列表中的PID值。StartProgram使用腳本startPRD,StopProgram和CleanProgram使用腳本stopPRD,內容如下:--在sapprd節點上腳本startPRD:#!/usr/bin/shsu-r3padm-c"startsapr3"DW=dw.sapR3P_DVEBMGS00CO=co.sapR3P_DVEBMGS00SE=se.sapR3P_DVEBMGS00MS=ms.sapR3P_DVEBMGS00PID_SAPSTART='ps-eflgrepsapstartigrep-vgreplawk'{print$2}'、PID_SAP_DW='ps-eflgrep$PID_SAPSTARTlgrep-vgreplgrep-vsapstartigrep$DWlawk'{print$2}''PID_SAP_CO='ps-eflgrep$PID_SAPSTARTlgrep-vgreplgrep-vsapstartlgrep$COlawk'{print$2}''PID_SAP_SE='ps-eflgrep$PID_SAPSTARTlgrep-vgreplgrep-vsapstartlgrep$SElawk'{print$2}''PID_SAP_MS='ps-eflgrep$PID_SAPSTARTlgrep-vgreplgrep-vsapstartlgrep$MSlawk'{print$2}''echo$PID_SAP_DW>/export/home/r3padm/pid_sap_dwecho$PID_SAP_CO>/export/home/r3padm/pid_sap_coecho$PID_SAP_SE>/export/home/r3padm/pid_sap_seecho$PID_SAP_MS>/export/home/r3padm/pid_sap_ms腳本stopPRD:#!/usr/bin/shsu-r3padm-c"stopsapr3"--在sapqas節點上腳本startPRD:#!/usr/bin/shhostnamesapprdsu-r3padm-c"startsapr3"DW=dw.sapR3P_DVEBMGS00CO=co.sapR3P_DVEBMGS00SE=se.sapR3P_DVEBMGS00MS=ms.sapR3P_DVEBMGS00PID_SAPSTART='ps-eflgrepsapstartlgrep-vgreplawk'{print$2}''PID_SAP_DW='ps-eflgrep$PID_SAPSTARTlgrep-vgreplgrep-vsapstartlgrep$DWlawk'{print$2}'、PID_SAP_CO='ps-eflgrep$PID_SAPSTARTIgrep-vgreplgrep-vsapstartigrep$COIawk'{print$2}'、PID_SAP_SE='ps-ef|grep$PID_SAPSTART|grep-vgrep|grep-vsapstart|grep$SE|awk'{print$2}''PID_SAP_MS='ps-ef|grep$PID_SAPSTART|grep-vgrep|grep-vsapstart|grep$MS|awk'{print$2}''echo$PID_SAP_DW>/export/home/r3padm/pid_sap_dwecho$PID_SAP_CO>/export/home/r3padm/pid_sap_coecho$PID_SAP_SE>/export/home/r3padm/pid_sap_seecho$PID_SAP_MS>/export/home/r3padm/pid_sap_ms腳本stopPRD:#!/usr/bin/shhostnamesapprdsu-r3padm-c"stopsapr3"3.5其它冗余配置⑴對sapprd主機上的文件系統使用SUNDiskSuite軟件作RAID0鏡像。⑵對在磁盤陣列上存儲數據庫的磁盤采用RAID5配置。4方案測試通過集群和其它冗余配置,能夠對整個SAPR/3應用系統進行保護。通過手工切換可以完成集群的switchover(切換轉移)。用模擬故障的方式對failover(故障轉移)能力進行測試:⑴網絡資源:拔掉節點sapprd上“工作”網卡上的網線,系統自動將IP地址賦予第二塊冗余網卡。接著拔掉第二塊網卡上的網線,很快服務組oradb在sapprd上offline,隨后在sapqas上online。⑵應用資源:使用kill命令終止應用進程的方式模擬應用程序故障。逐次分別終止下面的進程:SAP應用的ms.sapR3P_DVEBMGS00,Oracle數據庫的ora_pmon_R3P,Sqlnet的tnslsnr。每次都能夠切換到備用節點上。測試結果表明,網絡資源(網卡和虛擬IP),Oracle數據庫實例,Sqlnet監聽器,以及SAPR/3應用都能實現failover,避免了這些資源單點故障所造成的系統崩潰。這個方案的實施大大提高了系統平均無故障時間(MTBF),保證了系統的高可用性。同時,系統能夠滿足在節點切換時對測試機SAPR/3應用的自動管理要求,達到了預期的效果。5結束語本方案是在SAP技術顧問提供的最初方案的基礎上,經過修改而形成的。筆者經過嘗試和研究,在原方案的基礎上增加了控制Oracle數據庫和SAP應用的相關內容,并對整個系統作了切換測試。進入本世紀以來,系統和數據保護越來越受到人們的關注,相關的技術也逐漸成為新的熱點。集群和磁盤管理,備份和容災,這些名詞正在不斷充實著系統集成這一概念的內涵。相信隨著這些技術的不斷成熟和發展,安全可靠的信息系統將會在人們的工作和生活當中發揮更大的作用。參考文獻⑴VERITASClusterServer?3.5User'sGuideSolaris,VERITASSoftwarecorporation⑵VERITASClusterServer?EnterpriseAgentforOracle,Version2.0InatallationandConfigurationGuideSolaris,VERITASSoftwarecorporation⑶VERITASClusterServer?3.5BundledAgentsReferenceGuideSolaris,VERITASSoftwarecorporation⑷SAPLibrary,SAPAG.⑸VERITASClusterServer?Agent3.5forSAPR/3Inatalla

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論