UCS(統(tǒng)一計算系統(tǒng))是Cisco提供的計算和網(wǎng)絡(luò)一體化解決方案,它具有無狀態(tài)計算(硬件級虛擬化),一跳自愈網(wǎng)絡(luò),虛擬化增強(qiáng)和集中管理等特點。本文重點介紹UCS特有技術(shù)對Oracle RAC部署的優(yōu)化。
Oracle RAC (真正應(yīng)用集群) 是 Oracle 數(shù)據(jù)庫的一個選件, 在 Oracle 9i 中首次引入, 它提供了數(shù)據(jù)庫橫向擴(kuò)展scale-out)的完善解決方案,為在企業(yè)網(wǎng)格計算體系中提供數(shù)據(jù)庫服務(wù)提供了基礎(chǔ)。Oracle RAC技術(shù)支持低成本的硬件平臺,在保障優(yōu)質(zhì)的數(shù)據(jù)庫服務(wù)同時,達(dá)到并超過昂貴的大型SMP服務(wù)器所能提供的高可靠性和可擴(kuò)展性。Oracle RAC現(xiàn)已發(fā)展成一項成熟的技術(shù),其用戶過萬,遍及各個行業(yè),涉及各類應(yīng)用程序。Oracle RAC 以其優(yōu)異的彈性調(diào)整能力為可伸縮的云計算環(huán)境提供支持,使得用戶可以利用低成本的硬件來降低整體成本。
高可靠性
Oracle RAC提供對稱共享數(shù)據(jù)庫服務(wù),多個節(jié)點可同時對外提供服務(wù)。如果 RAC 數(shù)據(jù)庫中的一個節(jié)點出現(xiàn)故障,其余節(jié)點將繼續(xù)保持工作狀態(tài),同時集群會自動進(jìn)行故障切換和恢復(fù)。利用快速應(yīng)用程序通知,快速連接故障切換和透明應(yīng)用程序故障切換這三個功能,應(yīng)用程序可以很方便地屏蔽底層故障,實現(xiàn)零故障切換,確保用戶業(yè)務(wù)連續(xù)性,減少計劃外停機(jī)時間。
網(wǎng)絡(luò)自愈是UCS獨有的特點。Oracle RAC各節(jié)點間的集群通信,全局?jǐn)?shù)據(jù)交互,存儲管理均通過網(wǎng)絡(luò)完成,因此,穩(wěn)定的網(wǎng)絡(luò)連接對于RAC的穩(wěn)定性是致關(guān)重要的。在傳統(tǒng)服務(wù)器環(huán)境下,用戶需要配置6塊網(wǎng)卡,采用操作系統(tǒng)雙網(wǎng)卡綁定的方式分別支持RAC的Priv,VIP,PUB網(wǎng)段,這種方式配置復(fù)雜,且響應(yīng)時間長(通常操作系統(tǒng)是30秒time-out)。而對于UCS來說,集成了硬件級的網(wǎng)絡(luò)故障自動切換,當(dāng)出現(xiàn)任何網(wǎng)絡(luò)的故障均可自行修復(fù),提供了RAC節(jié)點間的可靠連接保障,避免了不必要的集群重組風(fēng)險。同時,通過網(wǎng)卡虛擬化,多通路復(fù)用等技術(shù),有效減少了RAC環(huán)境下網(wǎng)卡/交換端口數(shù)量,降低單位成本。
無狀態(tài)計算是UCS的創(chuàng)新技術(shù),它實現(xiàn)了以計算節(jié)點為粒度的硬件級虛擬化,使得應(yīng)用部署和物理節(jié)點實現(xiàn)的真正意義上的解耦,大幅提升資源復(fù)用和故障設(shè)備快速修復(fù)能力。在Oracle RAC環(huán)境下,當(dāng)某一節(jié)點出現(xiàn)設(shè)備層面故障,其它節(jié)點會接管該節(jié)點的業(yè)務(wù),但此時會降低原有設(shè)計的高可靠性,并導(dǎo)致部分節(jié)點的性能壓力。而傳統(tǒng)RAC故障節(jié)點的修復(fù)需要服務(wù)器,網(wǎng)絡(luò),存儲,操作系統(tǒng),數(shù)據(jù)庫等多方面的專家參與,導(dǎo)致系統(tǒng)修復(fù)時間長,使系統(tǒng)長期暴露在潛在的風(fēng)險中。而在思科UCS平臺上,故障節(jié)點的修復(fù)僅需要服務(wù)器管理員參與,大大縮短了修復(fù)時間窗口,降低了維護(hù)成本。這種保護(hù)方式,不受傳統(tǒng)HA集群范圍的限制,能夠輕松實現(xiàn)設(shè)備層N:1的高可靠性保護(hù)。對于新設(shè)備替換,無狀態(tài)計算能力也能夠幫助用戶實現(xiàn)RAC環(huán)境下的逐步輪替,降低計劃內(nèi)停機(jī)時間,實現(xiàn)平滑過渡。
可擴(kuò)展性
傳統(tǒng)上,當(dāng)服務(wù)器容量不足時,我們會使用更大的新服務(wù)器來替換它。但服務(wù)器容量越大,其價格也愈加昂貴,同時受操作系統(tǒng)自身協(xié)調(diào)能力影響,性能無法隨CPU增加而線形擴(kuò)展。對于使用 RAC 的數(shù)據(jù)庫而言,還有其他增加容量的方法。原先運行于大型服務(wù)器上的應(yīng)用程序可遷移到小型x86服務(wù)器集群中運行,通過多節(jié)點聚合的方式滿足性能要求, Oracle RAC 可向集群中添加服務(wù)器時并不需要停機(jī),且在啟動新節(jié)點(實例)后,應(yīng)用程序就可立即利用這些增加的計算和內(nèi)存資源,不需要DBA手動調(diào)整。
低網(wǎng)絡(luò)延時和高帶寬是思科UCS的固有優(yōu)勢。Oracle RAC環(huán)境中,所有跨節(jié)點的信息交換均需要通過網(wǎng)絡(luò)來實現(xiàn),因此低延時、高帶寬網(wǎng)絡(luò)是Oracle RAC橫向擴(kuò)展能力的關(guān)鍵因素。思科UCS采用計算和網(wǎng)絡(luò)一體化設(shè)計,其網(wǎng)絡(luò)延時是傳統(tǒng)千兆網(wǎng)絡(luò)的十分之一,而帶寬是其十倍以上,保障了RAC跨節(jié)點的信息交換,更有效地避免節(jié)點間鎖沖突,提升了Oracle RAC的性能擴(kuò)展能力。
一跳網(wǎng)格是UCS的獨特架構(gòu),它使得任意兩節(jié)點間的網(wǎng)絡(luò)消耗均為對等并最低。這個特性使得RAC部署及擴(kuò)展時不需要考慮物理位置帶來的影響,對于具有迭代效應(yīng)的應(yīng)用(一個結(jié)果需要多次查詢)尤其有幫助。
彈性計算服務(wù)
Oracle 真正應(yīng)用集群體系結(jié)構(gòu)可以自動適應(yīng)快速變化的業(yè)務(wù)要求和由此帶來的負(fù)載變化。應(yīng)用可通過客戶端使用服務(wù)名連接到數(shù)據(jù)庫。Oracle 可在集群中的多個節(jié)點中自動進(jìn)行用戶負(fù)載均衡。用戶可以根據(jù)需要訂閱所有或部分節(jié)點的數(shù)據(jù)庫服務(wù)。這樣 DBA 就可以靈活地設(shè)定某應(yīng)用使用多少數(shù)據(jù)庫資源。當(dāng)應(yīng)用需求上升時,管理員可以很方便地增添處理能力。
UCS無狀態(tài)計算帶來的另外一個優(yōu)勢就是提升了硬件資源復(fù)用能力,并能夠很方便的將物理資源加入到不同的應(yīng)用系統(tǒng)集群中,實現(xiàn)了應(yīng)用需求和計算資源供給的無縫對接。當(dāng)企業(yè)用戶在做Oracle RAC規(guī)劃和部署時,通常要考慮到三年的業(yè)務(wù)增長,都會部署較多的冗余計算資源,這會是很大的資源浪費。而在UCS平臺上,我們可以按規(guī)劃部署多個節(jié)點,而冗余的節(jié)點可以只是以邏輯的形式存放在網(wǎng)絡(luò)側(cè),當(dāng)有應(yīng)用壓力時,可以按需加載到任意閑置節(jié)點,在線增加處理能力。這一能力,可以幫助我們非常便捷地實現(xiàn)大型彈性計算平臺,對多個業(yè)務(wù)系統(tǒng)提供計算能力支撐,對需要快速擴(kuò)展的系統(tǒng),可以通過橫向擴(kuò)展方式快速增加資源,對于收縮的系統(tǒng),可以快速回收資源。對有不確定業(yè)務(wù)峰值的系統(tǒng),可通過統(tǒng)一協(xié)調(diào)冗余資源滿足峰值需求。
數(shù)據(jù)庫部署配套軟硬件
優(yōu)勢對比
典型案例分析:
1.某高校學(xué)籍管理系統(tǒng),支持4萬學(xué)生學(xué)籍及相關(guān)信息管理。
后端數(shù)據(jù)庫推薦:兩臺B200M3 2xE2620, 48G內(nèi)存;主備切換學(xué)籍管理并不是很大的數(shù)據(jù)庫,且實時性要求并不高,因此可以采用較低端配置,core:memory為1:4這樣能夠保障大多數(shù)常用數(shù)據(jù)常駐在內(nèi)存里,提升效率–類似系統(tǒng)查詢比例遠(yuǎn)比寫入比例高。
2.某醫(yī)院門診系統(tǒng),支持每天12萬門診量。
后端數(shù)據(jù)庫推薦:兩臺B440 M2 2xE4830, 64G 內(nèi)存; RAC門診系統(tǒng)的可靠性要求非常高,因此推薦采用RAC并行數(shù)據(jù)庫,即使出現(xiàn)一個節(jié)點的連續(xù)故障,也能夠保障系統(tǒng)滿負(fù)荷運行,結(jié)合UCS無狀態(tài)計算能力,能夠?qū)崿F(xiàn)故障節(jié)點快速修復(fù)。門診系統(tǒng)每個處理的關(guān)聯(lián)性并不大,因此橫向擴(kuò)展能力非常好,不會因為節(jié)點過多帶來負(fù)面影響。門診系統(tǒng)寫操作相對密集,因此對存儲的緩存有一定要求。
3.某企業(yè)用戶的人事系統(tǒng),采用Oracle E-Business HRMS模塊,100并發(fā)用戶,2000系統(tǒng)用戶。
SAVBU提供Oracle系統(tǒng)的sizing服務(wù),在SAVBU下載相應(yīng)的調(diào)查問卷,發(fā)送給[email protected]
http://savtg.cisco.com/enterprise-applications/oracle#Sizing Questionairre
第一次填調(diào)查問卷是很麻煩的一件事,但清楚的描述用戶需求是準(zhǔn)確評估的重要保障,因此,請SE務(wù)必花時間填寫清楚??偟膩碚f,100 HR并發(fā)用戶并不是很大的系統(tǒng)。
4.某省級政府綜合業(yè)務(wù)系統(tǒng),業(yè)務(wù)類型包括查詢,新增,修改及部分批處理業(yè)務(wù),12TB實際數(shù)據(jù)量。支持4萬用戶,1.5萬在線用戶,2000并發(fā)用戶。
后端數(shù)據(jù)庫推薦:四臺B440 M2, 4xE7 4870, 128G內(nèi)存; RAC核心系統(tǒng),必須通過RAC多節(jié)點技術(shù)實現(xiàn)高穩(wěn)定性和橫向性能擴(kuò)展,即使出現(xiàn)一半硬件故障,也能夠保障滿負(fù)荷業(yè)務(wù)運行,采用萬兆低延時網(wǎng)絡(luò)保障橫向擴(kuò)展能力。采用高主頻處理器,應(yīng)對部分批處理業(yè)務(wù)–如果沒有很好的數(shù)據(jù)分區(qū)規(guī)劃,批處理易產(chǎn)生較大的跨節(jié)點數(shù)據(jù)沖突,高性能的節(jié)點能夠避免這樣的情況,并保障批處理業(yè)務(wù)的處理速度。