蘇林忠
摘要:該文針對(duì)當(dāng)前校園一卡通業(yè)務(wù)的連續(xù)性以及服務(wù)端的高可用性需求,詳細(xì)分析了現(xiàn)有服務(wù)端部署架構(gòu)所存在的故障隱患,并借助于現(xiàn)有的技術(shù)產(chǎn)品,著重以實(shí)際案例的形式介紹了高可用性架構(gòu)部署或改造方案的實(shí)施過(guò)程。
關(guān)鍵詞:一卡通,高可用性,容災(zāi),SAN,PowerHA,SVC
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)09-0116-04
1 校園一卡通服務(wù)端的高可用性需求
如今,校園一卡通已經(jīng)發(fā)展成為一套全方位、高密度集成的功能應(yīng)用體系,它不僅是全校師生學(xué)習(xí)、工作和生活的服務(wù)平臺(tái),同時(shí)也是一個(gè)準(zhǔn)金融系統(tǒng),承載著龐大的業(yè)務(wù)數(shù)據(jù)和金融消費(fèi)數(shù)據(jù),任何閃失都有可能是學(xué)校的一次災(zāi)難性故障,因此,建設(shè)一套高可用性的服務(wù)端就顯得尤為重要。
服務(wù)端的高可用性主要包括設(shè)備的穩(wěn)定性和容災(zāi)性,以及數(shù)據(jù)的完整性等,以下取我校校園一卡通服務(wù)端的高可用性改造實(shí)施方案為例:
2 高可用性改造實(shí)施背景
生產(chǎn)服務(wù)端現(xiàn)狀:為確保服務(wù)端的正常供給,目前使用的是由性能穩(wěn)定的IBM Power 720型的小型機(jī)、IBM 2498-B24型SAN光纖交換機(jī)以及IBM DS5020型的磁盤陳列共同組建的SAN架構(gòu),如下圖1所示:
其中操作系統(tǒng)采用了與小型機(jī)配套的AIX,磁盤陳列做RAID 5,數(shù)據(jù)庫(kù)則采用功能強(qiáng)大的ORACLE。
不足之處:以上架構(gòu)中的節(jié)點(diǎn)設(shè)備,如小型機(jī)、SAN交換機(jī)以及磁盤陳列等設(shè)備都存在單點(diǎn)故障隱患,容災(zāi)性較差,任何一個(gè)節(jié)點(diǎn)設(shè)備故障都將有可能引起服務(wù)中斷或數(shù)據(jù)丟失,如小型機(jī)故障將直接中斷服務(wù),SAN交換機(jī)故障將中斷數(shù)據(jù)的交互,而磁盤陣列的故障可能會(huì)丟失數(shù)據(jù)等。
其他條件:機(jī)房庫(kù)存有一套閑置的小型機(jī)、SAN交換機(jī)以及磁盤陣列等設(shè)備,其品牌及型號(hào)分別與現(xiàn)有生產(chǎn)服務(wù)端設(shè)備相同;同時(shí),校內(nèi)其他系統(tǒng)有正在使用的SVC 存儲(chǔ)虛擬化引擎系統(tǒng)。
3 改造方案設(shè)計(jì)
充分利用現(xiàn)有的設(shè)備條件,通過(guò)兩臺(tái)SAN交換機(jī)將兩臺(tái)小型機(jī)以及兩臺(tái)磁盤陣列統(tǒng)一接入SAN架構(gòu),同時(shí),將再SAN交換機(jī)接入SVC,如下圖2所示:
1)雙鏈路連接:雙SAN交換機(jī)的介入,將小型機(jī)、磁盤陣列及SVC同時(shí)接入兩條不同的光纖線路,有效避免因SAN交換機(jī)的單點(diǎn)故障所引發(fā)的數(shù)據(jù)交互失敗現(xiàn)象。
2)托管SVC:將SVC 存儲(chǔ)虛擬化引擎接入SAN 網(wǎng)絡(luò),并映射給前端主機(jī),接受對(duì)后端存儲(chǔ)設(shè)備空間,即雙磁盤陣列的識(shí)別與控制,同時(shí),基于SVC 可以輕松實(shí)現(xiàn)異構(gòu)存儲(chǔ)設(shè)備的數(shù)據(jù)復(fù)制的功能,實(shí)現(xiàn)對(duì)雙磁盤陣列存儲(chǔ)數(shù)據(jù)的在線復(fù)制。如此,當(dāng)小型機(jī)主機(jī)發(fā)起IO 寫請(qǐng)求時(shí),SVC 集群會(huì)完成對(duì)主機(jī)請(qǐng)求的響應(yīng),并將IO 寫數(shù)據(jù)同時(shí)寫到兩臺(tái)后端的磁盤陣列;而當(dāng)小型機(jī)主機(jī)發(fā)起IO 讀請(qǐng)求時(shí),SVC集群會(huì)識(shí)別出兩臺(tái)后端磁盤陣列中被定義為Primary 部分的數(shù)據(jù)讀出并反饋給小型機(jī)主機(jī)。而當(dāng)其中一臺(tái)磁盤陣列存儲(chǔ)不可用時(shí),SVC 會(huì)自動(dòng)對(duì)Primary 的定義發(fā)生切換,將可用的數(shù)據(jù)重新定義為Primary,從而實(shí)現(xiàn)對(duì)校園一卡通數(shù)據(jù)雙存儲(chǔ)互備與完整性保護(hù)的功能,滿足對(duì)數(shù)據(jù)本地容災(zāi)及完整性的需求。
另外,SVC 集群是由2 個(gè)或以上不同地理區(qū)域的存儲(chǔ)設(shè)備節(jié)點(diǎn)組成,其本身也具備異地?cái)?shù)據(jù)容災(zāi)和避免設(shè)備單點(diǎn)故障的能力,可以滿足對(duì)數(shù)據(jù)異地容災(zāi)的需求。
3)雙機(jī)熱備:利用IBM公司所提供的通過(guò)配置冗余可實(shí)現(xiàn)故障轉(zhuǎn)移保護(hù)的PowerHA集群技術(shù),部署在雙小型機(jī)上,工作期間,其中 一臺(tái)小型機(jī)在運(yùn)行應(yīng)用的同時(shí),另外一臺(tái)小型機(jī)則作為備機(jī)等待, 兩臺(tái)小型機(jī)系統(tǒng)在整個(gè)運(yùn)行過(guò)程中,通過(guò)“心跳線”相互監(jiān)測(cè)對(duì)方的運(yùn)行情況,一旦發(fā)現(xiàn)對(duì)方小型機(jī)的軟硬件運(yùn)行、網(wǎng)絡(luò)通訊或者應(yīng)用等運(yùn)行情況不正常時(shí),故障機(jī)一方的應(yīng)用就會(huì)立即停止運(yùn)行,備機(jī)就會(huì)立即在自己的機(jī)器上啟動(dòng)故障機(jī)上的應(yīng)用,把故障機(jī)的應(yīng)用及其資源自動(dòng)接管過(guò)來(lái),使故障機(jī)上的應(yīng)用得以在本機(jī)繼續(xù),達(dá)到小型機(jī)的本地容災(zāi)目標(biāo),從而保障校園一卡通業(yè)務(wù)的連續(xù)性。
4 方案的實(shí)施
以下為了表達(dá)方便,分別將圖2中的兩臺(tái)小型機(jī)命名為P1與P2,兩臺(tái)SAN交換機(jī)命名為S1與S2,兩臺(tái)磁盤陣列命名為D1與D2。
4.1 準(zhǔn)備工作
為保障系統(tǒng)的穩(wěn)定運(yùn)行,可以考慮將操作系統(tǒng)、各功能軟件以及各硬件設(shè)備的微碼等升級(jí)至目前廠家所推薦的版本;磁盤陣列的RAID 5升級(jí)為RAID 6;使用smitty installp命令為P1 及P2 安裝SVC 的Host Attachment 和多路徑軟件SDDPCM;并對(duì)P1 及P1 的光纖卡參數(shù)fc_err_recov 及dyntrk 屬性進(jìn)行檢查,確保fc_err_recov 設(shè)置為fast_fail,dyntrk 設(shè)置為yes。
4.2 SAN Zone劃分
將小型機(jī)的兩張光纖卡分別連接到SAN交換機(jī)。
4.2.1 SAN交換機(jī)端口規(guī)劃及別名設(shè)置