文/柴新
雙活Novell認證系統(tǒng)架構(gòu)的設(shè)計與應(yīng)用
文/柴新
Novell身份認證系統(tǒng)是江蘇省電力公司所有業(yè)務(wù)應(yīng)用系統(tǒng)的統(tǒng)一訪問入口,其運行健康情況直接關(guān)系到公司信息系統(tǒng)能否正常運行。為提高Novell身份認證系統(tǒng)的可靠性和穩(wěn)定性,江蘇省電力公司采用雙活系統(tǒng)架構(gòu)的方法對原系統(tǒng)進行了升級優(yōu)化,有效提高了系統(tǒng)架構(gòu)的穩(wěn)固性,消除了系統(tǒng)承載能力瓶頸問題。該架構(gòu)已在江蘇省電力公司投入實際運行,效果顯著。
Novell身份認證 雙活架構(gòu)Access Manager
在當前國網(wǎng)公司的信息化架構(gòu)中,身份認證系統(tǒng)采用Novell公司的Access Manager(訪問管理服務(wù)器)產(chǎn)品,為企業(yè)門戶和各業(yè)務(wù)應(yīng)用系統(tǒng)提供統(tǒng)一身份認證和單點登錄訪問,是企業(yè)信息系統(tǒng)的統(tǒng)一訪問入口,承擔著重要的基礎(chǔ)支撐作用。
隨著信息系統(tǒng)實用化工作的深入推進,訪問企業(yè)門戶的用戶數(shù)在不斷增加,用戶的使用頻度在不斷上升,Novell認證系統(tǒng)所承受的訪問壓力隨之在不斷升高,其性能和架構(gòu)穩(wěn)固性面臨考驗。為保證Novell認證系統(tǒng)運行的穩(wěn)定性和可靠性,江蘇省電力公司采用雙活系統(tǒng)架構(gòu)的方法進行了架構(gòu)改造。
江蘇省電力公司Novell身份認證系統(tǒng)于2010年10月上線運行,接入了企業(yè)門戶、國網(wǎng)統(tǒng)推系統(tǒng)等眾多業(yè)務(wù)應(yīng)用系統(tǒng)。系統(tǒng)架構(gòu)為全省大集中架構(gòu),系統(tǒng)部署在省公司,由身份認證管理服務(wù)器(Identity Server,簡稱IDS)、訪問網(wǎng)關(guān)(Access Gateway,簡稱AG)、管理控制臺(Administration Console,簡稱AC)組成,IDS和AG均采用由多個節(jié)點服務(wù)器組成的集群架構(gòu),AC由兩臺服務(wù)器組成主備用關(guān)系的HA架構(gòu)。IDS、AG被核心組件AC管理,由AC負責認證系統(tǒng)的配置和內(nèi)部通信運行。
這種架構(gòu)在系統(tǒng)上線初期能夠滿足穩(wěn)定運行的需要,但由于Novell認證系統(tǒng)是用戶訪問門戶的統(tǒng)一訪問入口,隨著用戶數(shù)增多、接入系統(tǒng)增多、用戶訪問頻度升高,認證系統(tǒng)已難以承受越來越高的訪問壓力,呈現(xiàn)出一些結(jié)構(gòu)性弱點,表現(xiàn)為:
(1)IDS和AG是由多節(jié)點組成的集群架構(gòu),可以通過增加節(jié)點數(shù)量來提高IDS、AG承載能力,但是核心組件AC的架構(gòu)卻只是HA架構(gòu),同一時刻只有一個服務(wù)節(jié)點提供服務(wù),不能通過增加節(jié)點數(shù)量來提高AC承載能力,特別是用戶集中訪問門戶的上午早高峰時段,AC已成為承載能力瓶頸和穩(wěn)定運行的薄弱環(huán)節(jié)。
(2)若AC的通信調(diào)度功能出現(xiàn)故障,則即使IDS、AG群集有多個節(jié)點也無濟于事,整套認證系統(tǒng)會宕機,導(dǎo)致發(fā)生用戶訪問門戶完全中斷的嚴重故障。
基于以上情況,江蘇公司對Novell認證系統(tǒng)的架構(gòu)進行了改進,設(shè)計出了兩套(或兩套以上)Novell認證系統(tǒng)并行運行的新架構(gòu),即雙活(或多活)架構(gòu),克服了以上結(jié)構(gòu)性缺點,顯著提升了系統(tǒng)承載能力和架構(gòu)穩(wěn)固性。
因為Novell認證系統(tǒng)是已投運系統(tǒng),已有企業(yè)門戶等大量系統(tǒng)與認證系統(tǒng)進行了集成,所以雙活架構(gòu)方案既不能缺失系統(tǒng)現(xiàn)有的任何功能,也不能改變系統(tǒng)現(xiàn)有的對外服務(wù)方式和數(shù)據(jù)接口,具體來說雙活系統(tǒng)需要實現(xiàn)以下目標:
(1)Novell認證系統(tǒng)與業(yè)務(wù)系統(tǒng)的集成方式不能改變,也就是認證系統(tǒng)提供給業(yè)務(wù)系統(tǒng)的單點登錄訪問地址不能改變。
(2)用戶的訪問請求能夠被分流到兩套(或多套)認證系統(tǒng)上,而不能像單套系統(tǒng)架構(gòu)一樣全部訪問請求集中到一套系統(tǒng)上,特別是核心組件AC的負載,要能夠被兩套系統(tǒng)均勻分擔,以提高AC的承載能力和運行穩(wěn)定性。
(3)Novell認證系統(tǒng)不僅支撐江蘇公司范圍內(nèi)的用戶單點登錄訪問,還在江蘇公司與國網(wǎng)公司之間支撐正反向級聯(lián)訪問功能的實現(xiàn),所以雙活架構(gòu)的Novell認證系統(tǒng)也需要能夠支撐這一點,而且還需要保持對外提供的訪問方式不變。
(4)雙活系統(tǒng)在運行時不能有相互依賴關(guān)系,也就是說完全關(guān)閉掉其中一套系統(tǒng),或關(guān)閉掉一套系統(tǒng)中的某些IDS或AG節(jié)點,除系統(tǒng)支撐容量有所減小外,系統(tǒng)提供的服務(wù)功能不變,這樣才能避免出現(xiàn)一套系統(tǒng)宕機后用戶訪問門戶完全中斷的嚴重故障。
(5)雙活架構(gòu)要能夠靈活擴展。能夠根據(jù)訪問壓力,隨時擴展系統(tǒng)套數(shù),由雙活系統(tǒng)變?yōu)槿?、四活系統(tǒng)等,柔性適應(yīng)用戶訪問壓力。
經(jīng)過大量探索和測試,最終確定雙活架構(gòu)方案如下:
(1) 在 兩 套 系 統(tǒng) 的Administration Console中,使用相同的DNS域名配置相同的認證地址。域名指向的IP地址是F5中為IDS設(shè)置的虛擬服務(wù)器IP,兩套系統(tǒng)的IDS集群中所有IDS的IP地址都放置在F5虛擬IP對應(yīng)的同一個POOL中。
(2) 在 兩 套 系 統(tǒng) 的Administration Console中, 將Proxy Service的metadata的 DNS域名和受保護系統(tǒng)的DNS域名均配置為相同,域名指向的IP地址是F5中為AG設(shè)置的虛擬服務(wù)器IP,兩套系統(tǒng)AG集群中所有AG的IP地址都放置在F5虛擬IP對應(yīng)的同一個POOL中。
F5為AG設(shè)置的虛擬服務(wù)器的會話保持方式需設(shè)置為source_addr方式,這是與單套認證系統(tǒng)設(shè)置的不同點,在單套認證系統(tǒng)中,該會話保持方式既可以為source_addr方式,也可以為cookie方式,但是在雙活系統(tǒng)中必須設(shè)置為source_addr方式。
(3)將兩套系統(tǒng)中IDS、AG使用的軟件證書修改為一致。Novell認證系統(tǒng)安裝完成后,系統(tǒng)會自動為IDS、AG生成軟件證書,該證書是IDS、AG的身份證,每套系統(tǒng)都不相同用于唯一標識IDS和AG。將兩套認證系統(tǒng)的軟件證書修改成相同的目的,就是使兩套系統(tǒng)的IDS、AG在Administration Console看來就如同是在一套系統(tǒng)內(nèi)一樣。
從第一套認證系統(tǒng)中導(dǎo)出IDS、AG證書,然后在第二套認證系統(tǒng)中,將導(dǎo)出的證書文件導(dǎo)入進來,并替換掉第二套系統(tǒng)對應(yīng)的5個原有證書。證書替換完成后,第二套認證系統(tǒng)的IDS、AG所使用的軟件證書就與第一套系統(tǒng)的證書完全一致,達到了兩套認證系統(tǒng)的證書完全相同的目的。
江蘇公司已將Novell認證系統(tǒng)的架構(gòu)從單套系統(tǒng)升級為兩套系統(tǒng)雙活的架構(gòu),下面是切換步驟:
(1)安裝第二套認證系統(tǒng),按照本文中的描述進行配置。
(2)將F5中AG虛擬服務(wù)器的會話保持方式從cookie修改為source_addr方式。
(3)將第二套系統(tǒng)的IDS集群中的所有服務(wù)器IP地址都加入到F5中已有的IDS的POOL中,對AG也是如此。
切換完成。至此,Novell認證系統(tǒng)的架構(gòu)已經(jīng)從單活系統(tǒng)升級為雙活系統(tǒng)架構(gòu),以上安裝和切換過程具有下列顯著特點:
(1)在線擴展、無縫切換,切換過程對用戶訪問企業(yè)門戶完全無影響。
(2)所有安裝配置和切換操作均在江蘇公司內(nèi)部完成,江蘇公司所有操作對國網(wǎng)IDS平臺完全透明,無需國網(wǎng)IDS平臺配合進行任何操作,但江蘇與國網(wǎng)公司之間的正反向級聯(lián)功能能完全正常運行,而且級聯(lián)訪問請求被分流到了兩套系統(tǒng)上。
雙活架構(gòu)Novell認證系統(tǒng)在江蘇公司運行已有三年時間,運行實踐充分表明,雙活架構(gòu)相對于以前的單活架構(gòu)具有顯著優(yōu)點,表現(xiàn)在:
(1)雙活架構(gòu)中,由于每套系統(tǒng)的核心組件AC的負載降低,系統(tǒng)運行的穩(wěn)定性得以增強,尤其表現(xiàn)在用戶集中訪問門戶的上午早高峰時段系統(tǒng)運行很穩(wěn)定,早高峰時段未出現(xiàn)過系統(tǒng)運行緩慢的現(xiàn)象。系統(tǒng)性能的關(guān)鍵指標“單臺AG的Incoming Total Requests量”,由架構(gòu)改造前的3萬多次下降為3千多次,表明單臺AG的負載大大下降,有利于AG運行穩(wěn)定,系統(tǒng)運行的另一個重要指標“IDS LDAP Connection Waits”由架構(gòu)改造前的100多下降為0,表明IDS的認證功能不再存在排隊等候現(xiàn)象,性能明顯改善。
(2)系統(tǒng)架構(gòu)的穩(wěn)固性增強。即使有一套系統(tǒng)完全宕機,系統(tǒng)對外服務(wù)也不會完全中斷,江蘇公司沒有發(fā)生過因認證系統(tǒng)故障導(dǎo)致門戶訪問完全中斷的事故。
(3)系統(tǒng)可靈活擴展。根據(jù)訪問壓力,可隨時擴展系統(tǒng)套數(shù),能柔性適應(yīng)訪問壓力。這種擴展方式相對于在單套系統(tǒng)中增加IDS、AG節(jié)點數(shù)量的擴展方式具有明顯優(yōu)勢。
江蘇省電力公司摸索出的雙活認證系統(tǒng)架構(gòu),有效提高了系統(tǒng)架構(gòu)的穩(wěn)固性,解決了單套系統(tǒng)存在的承載瓶頸問題,緩解了運行壓力,方便了系統(tǒng)運維,為江蘇公司信息系統(tǒng)的健康運行提供了更強有力的支撐,值得借鑒和推廣。
[1]霍成義.結(jié)合Cookie與票據(jù)共享的單點登錄方案[J].自動化與儀器儀表,2013,3:167-169.
[2]胡聰,姚振.基于VMware的Novell身份認證系統(tǒng)虛擬化架構(gòu)實踐[J].電力信息化,2013,11(04):78-81.
[3]張敏.單點登錄與統(tǒng)一認證解決方案[J].信息安全與技術(shù),2011(01): 68-69.
作者單位江蘇電力信息技術(shù)有限公司 江蘇省南京市210024
柴新(1974-),男,山東省壽光市人。碩士研究生。工程師?,F(xiàn)供職于江蘇電力信息技術(shù)有限公司,從事電力信息化運維工作。