擬化IDC的高可用和高可靠性解決方案 |
發(fā)布時間: 2012/9/16 1:05:02 |
為保證整個虛擬數(shù)據(jù)中心系統(tǒng)的安全可靠,本方案針對系統(tǒng)的核心部分,包括VDC運(yùn)營管理平臺、虛擬計(jì)算管理平臺、數(shù)據(jù)庫系統(tǒng)等設(shè)計(jì)了高可靠和高可用方案,主要通過高可用集群和負(fù)載均衡集群來實(shí)現(xiàn)。
一、高可用集群
高可用集群簡稱HA群集,其主要技術(shù)特點(diǎn)是加入HA群集中主機(jī)處于主備工作模式狀態(tài),通過資源監(jiān)視器監(jiān)控資源運(yùn)行情況,致力于通過主備資源切換來實(shí)現(xiàn)主機(jī)系統(tǒng)的高可用性。
在HA群集系統(tǒng)中,所有的應(yīng)用程序、數(shù)據(jù)文件、磁盤、網(wǎng)絡(luò)IP地址等都可被抽象為資源,資源可以組成一個資源組,它是HA群集系統(tǒng)可以進(jìn)行故障切換的最小單元。資源的存在可以分為五種狀態(tài):
l Offline,資源不能被別的資源或者客戶機(jī)使用;
l Offline Pending,資源正處于Offline的過程中;
l Online,資源處于可用的狀態(tài);
l Online Pending,資源正處于Online的過程中;
l Failed,資源出現(xiàn)了無法解決的問題。
HA群集服務(wù)用依賴性來定義不同資源彼此之間的關(guān)系,根據(jù)資源間的相互依賴關(guān)系來決定把這些資源變?yōu)樵诰或者是離線的順序。
HA群集服務(wù)會啟動一個資源監(jiān)視器來監(jiān)視節(jié)點(diǎn)中的全部資源,所有的資源都處于資源監(jiān)視器的監(jiān)視之下,資源監(jiān)視器與資源進(jìn)行通信,偵測對應(yīng)資源的狀態(tài),監(jiān)視器再把信息提供給群集服務(wù)。資源監(jiān)視器會發(fā)送狀態(tài)信息的請求檢查資源是不是可用,一般會有兩種級別的檢查:LooksAlive和IsAlive。LooksAlive級別的檢查相對比較簡單,每隔一段時間(相對比較短的時間,一般是5秒),資源監(jiān)視器會進(jìn)行一次LooksAlive級別的檢查,如果資源沒有響應(yīng),監(jiān)視器會向群集服務(wù)報(bào)告。IsAlive級別的檢查是非常完整的檢查,它會徹底檢查資源是不是工作正常,IsAlive檢查的時間間隔比LooksAlive要長,一般是1分鐘。
故障切換(Failover)是指把出現(xiàn)故障的節(jié)點(diǎn)上的資源重新定位到另一個可用的節(jié)點(diǎn)上。負(fù)責(zé)監(jiān)視資源的資源監(jiān)視器一旦發(fā)現(xiàn)資源出現(xiàn)故障,它就會通知群集服務(wù),群集服務(wù)會根據(jù)事前定義好的策略觸發(fā)對應(yīng)的事件。雖然發(fā)現(xiàn)的是個別資源的故障,但是群集還是會把整個資源組進(jìn)行故障切換。
故障切換會在三種不同的情況下發(fā)生:人工(一般是因?yàn)楣芾韱T的請求)、自動或者在特定的時間(由群集管理軟件設(shè)定)。自動故障切換又包含了三個階段:故障發(fā)現(xiàn)、資源重新定位和重新啟動應(yīng)用程序(一般是故障切換過程中最耗費(fèi)時間的)。當(dāng)達(dá)到資源組的故障切換閥值時,自動的故障切換才會發(fā)生,閥值是可以設(shè)定的,一般由管理員來設(shè)定。
故障恢復(fù)(Failback)是一種故障切換的特例,是指發(fā)生故障切換之后,把部分或者全部資源組移回它們首選的節(jié)點(diǎn)的過程。首選的節(jié)點(diǎn)就是指群集中指定的運(yùn)行資源組的道選的節(jié)點(diǎn),如果是多個節(jié)點(diǎn)的高可用性方案,就會有多個首選的節(jié)點(diǎn)。當(dāng)首選的節(jié)點(diǎn)出現(xiàn)故障后,對應(yīng)的資源組就切換到另外的可用節(jié)點(diǎn)上,當(dāng)出現(xiàn)故障的節(jié)點(diǎn)恢復(fù)正常后,資源組可以自動的切換回首選節(jié)點(diǎn)。如果沒有定義首選節(jié)點(diǎn),資源組就不會自動切換回來。
高可用性實(shí)現(xiàn)過程如下:資源監(jiān)視器根據(jù)設(shè)定的時間間隔對資源進(jìn)行LookAlive和IsAlive兩種級別的檢查,一旦發(fā)現(xiàn)某一個資源不可用,就會試圖重新啟動該資源。根據(jù)閥值的設(shè)定,如果在某一時間段內(nèi),資源不可用的情況達(dá)到了設(shè)定的閥值時,就會發(fā)生故障切換。經(jīng)過故障切換的過程,對應(yīng)的資源組在另外一個節(jié)點(diǎn)上重新啟動了,繼續(xù)為客戶提供服務(wù),對客戶來說工作沒有影響,這就完成了一次故障切換。當(dāng)出現(xiàn)故障的節(jié)點(diǎn)恢復(fù)正常以后,如果事先對該資源組設(shè)定了首選節(jié)點(diǎn),就會把該資源組移回該首選節(jié)點(diǎn)。
二、負(fù)載均衡集群
負(fù)載均衡集群簡稱LB群集,其主要技術(shù)特點(diǎn)是加入負(fù)載均衡集群中的所有節(jié)點(diǎn)都處于活動狀態(tài),使用負(fù)載均衡的軟件或硬件設(shè)備來實(shí)現(xiàn)負(fù)載的動態(tài)調(diào)度和合理分?jǐn),致力于通過來多主機(jī)節(jié)點(diǎn)負(fù)載均衡集群架構(gòu)實(shí)現(xiàn)主機(jī)系統(tǒng)靈活伸縮性和高可靠性。
Web服務(wù)器群集和應(yīng)用服務(wù)器群集推薦主要使用負(fù)載均衡集群來提升其服務(wù)的可靠性和靈活的動態(tài)擴(kuò)展性。
在負(fù)載均衡群集的設(shè)計(jì)中,系統(tǒng)拓?fù)湟话惚辉O(shè)計(jì)為對稱結(jié)構(gòu)。在對稱結(jié)構(gòu)中每臺服務(wù)器都具備等價的地位,都可以單獨(dú)對外提供服務(wù)。通過負(fù)載算法,分配設(shè)備將外部發(fā)送來的請求均勻分配到對稱結(jié)構(gòu)中的每臺服務(wù)器上,接收到連接請求的服務(wù)器都獨(dú)立回應(yīng)客戶的請求。
負(fù)載均衡群集系統(tǒng)使應(yīng)用程序處理負(fù)載或網(wǎng)絡(luò)流量負(fù)載可以在主機(jī)群集中盡可能平均地分?jǐn)偺幚,非常適合于運(yùn)行同一組應(yīng)用程序的大量用戶。每個節(jié)點(diǎn)都可以處理一部分負(fù)載,并且可以在節(jié)點(diǎn)之間動態(tài)分配負(fù)載,以實(shí)現(xiàn)平衡。對于網(wǎng)絡(luò)流量也如此。通常,WEB服務(wù)器或者應(yīng)用服務(wù)器接受了太多的入網(wǎng)流量,以致無法迅速處理,這就需要將流量發(fā)送給在其它節(jié)點(diǎn)上運(yùn)行的服務(wù)器,還可以根據(jù)每個節(jié)點(diǎn)上不同的可用資源或網(wǎng)絡(luò)的特殊環(huán)境來進(jìn)行優(yōu)化。
負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效的方法來擴(kuò)展服務(wù)器帶寬,增加吞吐量,提高數(shù)據(jù)處理能力,同時又可以避免單點(diǎn)故障。負(fù)載均衡的作用就像輪流值日制度,把任務(wù)分給大家來完成,以免讓一個人過度勞累。但是與輪流值日制度不同的是,負(fù)載均衡是一種動態(tài)均衡,它通過一些工具實(shí)時地分析數(shù)據(jù)包,掌握網(wǎng)絡(luò)中的數(shù)據(jù)流量狀況,把任務(wù)分配出去。對于不同的應(yīng)用環(huán)境,使用的均衡策略算法是不同的。均衡策略算法有多種多樣的形式,廣義上的負(fù)載均衡既可以設(shè)置專門的網(wǎng)關(guān)、負(fù)載均衡器,也可以通過一些專用軟件與協(xié)議來實(shí)現(xiàn)。在OSI七層協(xié)議模型中的第二(數(shù)據(jù)鏈路層)、第三(網(wǎng)絡(luò)層)、第四(傳輸層)、第七層(應(yīng)用層)都有相應(yīng)的負(fù)載均衡策略(算法),在數(shù)據(jù)鏈路層上實(shí)現(xiàn)負(fù)載均衡的原理是根據(jù)數(shù)據(jù)包的目的MAC地址選擇不同的路徑;在網(wǎng)絡(luò)層上可利用基于IP地址的分配方式將數(shù)據(jù)流疏通到多個節(jié)點(diǎn);而傳輸層和應(yīng)用層的交換(Switch),本身便是一種基于訪問流量的控制方式,能夠?qū)崿F(xiàn)負(fù)載均衡。
負(fù)載均衡群集是帶均衡策略算法的主機(jī)群集。負(fù)載均衡群集在多節(jié)點(diǎn)之間按照一定的策略分發(fā)網(wǎng)絡(luò)或計(jì)算處理負(fù)載。目前均衡算法主要有三種:輪循(Round-Robin)、最小連接數(shù)(Least Connections First)和快速響應(yīng)優(yōu)先(Faster Response Precedence)。輪循算法就是將來自網(wǎng)絡(luò)的請求依次分配給群集中的服務(wù)器進(jìn)行處理。最小連接數(shù)算法就是為群集中的每臺服務(wù)器設(shè)置一個記數(shù)器,記錄每個服務(wù)器當(dāng)前的連接數(shù),負(fù)載均衡系統(tǒng)總是選擇當(dāng)前連接數(shù)最少的服務(wù)器分配任務(wù)。這要比"輪循算法"好很多,因?yàn)樵谟行﹫龊现,簡單的輪循不能判斷哪個服務(wù)器的負(fù)載更低,也許新的工作又被分配給了一個已經(jīng)很忙的服務(wù)器了。快速響應(yīng)優(yōu)先算法是根據(jù)群集中的服務(wù)器狀態(tài)(CPU、內(nèi)存等主要處理部分)來分配任務(wù)。 這一點(diǎn)很難做到,事實(shí)上到目前為止,采用這個算法的負(fù)載均衡系統(tǒng)還很少。尤其對于硬件負(fù)載均衡設(shè)備來說,只能在TCP/IP協(xié)議方面做工作,幾乎不可能深入到服務(wù)器的處理系統(tǒng)中進(jìn)行監(jiān)測。但是它是未來發(fā)展的方向。
負(fù)載均衡群集有如下特點(diǎn):
l 高性能
一個服務(wù)器群集系統(tǒng)由多臺服務(wù)器組成,對外部而言,整個群集就如同一臺高性能服務(wù)器。以WEB服務(wù)器為例,系統(tǒng)只有一個對外的網(wǎng)絡(luò)地址(主機(jī)名或IP地址),所有的HTTP請求都發(fā)到這個地址上。系統(tǒng)中有專門的機(jī)制能夠?qū)⑦@些請求按照一定原則分發(fā)到群集中的各臺服務(wù)器上,讓它們各自分擔(dān)一部分工作。
l 可擴(kuò)展性
它是采用同樣的方法或技術(shù)高效率地支持較大規(guī)模系統(tǒng)的能力。負(fù)載均衡服務(wù)器群集系統(tǒng)的組成結(jié)構(gòu)和工作原理決定了它能夠比較容易地達(dá)到較好的可擴(kuò)展性,因?yàn)閿U(kuò)大系統(tǒng)規(guī)模非常容易,只要在網(wǎng)絡(luò)中增加新的服務(wù)器計(jì)算機(jī)即可。
l 高可用性
由于負(fù)載均衡服務(wù)器群集系統(tǒng)中各臺服務(wù)器之間相對獨(dú)立,采用一些不太復(fù)雜的技術(shù)就能使服務(wù)器群集系統(tǒng)達(dá)到很高的可用性。
三、數(shù)據(jù)庫集群系統(tǒng)
VDC運(yùn)營管理平臺需要一年365天、每周7天、每天24小時在線開展業(yè)務(wù)。如果重要的應(yīng)用系統(tǒng)、服務(wù)器或數(shù)據(jù)不可用,就有可能導(dǎo)致收入損失、客戶不滿意、罰款以及負(fù)面報(bào)道將對企業(yè)聲譽(yù)產(chǎn)生持久的影響。
為確保整個虛擬數(shù)據(jù)中心業(yè)務(wù)平臺的正常運(yùn)行,本方案里面主要從以下兩個方面來保障數(shù)據(jù)庫系統(tǒng)的高可靠性和高可用性。
首先,在整個系統(tǒng)里面部署兩臺數(shù)據(jù)庫服務(wù)器,每臺數(shù)據(jù)庫服務(wù)器上部署安裝HA軟件,一臺數(shù)據(jù)庫服務(wù)器作為主服務(wù)器,另一臺數(shù)據(jù)庫服務(wù)器作為備服務(wù)器,數(shù)據(jù)庫的數(shù)據(jù)統(tǒng)一存放在共享存儲上。日常運(yùn)營中,兩臺數(shù)據(jù)庫服務(wù)器同時運(yùn)行,但是同時只有一臺數(shù)據(jù)庫服務(wù)器對外提供服務(wù)。當(dāng)一臺服務(wù)器出現(xiàn)故障時,高可用軟件只需2-3秒即可檢測到故障,并將數(shù)據(jù)庫服務(wù)從失效的節(jié)點(diǎn)遷移到備份節(jié)點(diǎn),確保業(yè)務(wù)系統(tǒng)的正常運(yùn)營。
其次,數(shù)據(jù)庫數(shù)據(jù)的備份主要分為三種類型:冷備份、熱備份和邏輯備份。
Cold Backup(冷備份) 主要指在關(guān)閉數(shù)據(jù)庫的狀態(tài)下進(jìn)行的數(shù)據(jù)庫完全備份,備份內(nèi)容包括所有數(shù)據(jù)文件、控制文件、聯(lián)機(jī)日志文件、ini文件。
Hot Backup(熱備份) 指在數(shù)據(jù)庫處于運(yùn)行狀態(tài)下,對數(shù)據(jù)文件和控制文件進(jìn)行備份,要使用熱備份必須將數(shù)據(jù)庫運(yùn)行在(Archive Log)歸檔方式下。
Export(邏輯備份)這是最簡單的備份方法,可按數(shù)據(jù)庫中某個表、某個用戶或整個數(shù)據(jù)庫來導(dǎo)出,并且支持全部、累計(jì)、增量三種方式。使用這種方法,數(shù)據(jù)庫必須處于打開狀態(tài),而且如果數(shù)據(jù)庫不是在restrict狀態(tài)將不能保證導(dǎo)出數(shù)據(jù)的一致性。
數(shù)據(jù)備份首先應(yīng)該制定合理的備份策略方案,本方案數(shù)據(jù)庫備份采用全備份、部分備份和增量備份。備份周期為每天增量備份、每周以及每月一次的全備份等。備份介質(zhì)可以是磁帶庫、光盤或者是其他離線存儲。
四、VDC運(yùn)營管理平臺的高可靠性和高可用性
VDC運(yùn)營管理平臺負(fù)責(zé)對外提供虛擬計(jì)算業(yè)務(wù),管理和調(diào)度四個城市的計(jì)算和存儲資源,是整個虛擬數(shù)據(jù)中心項(xiàng)目的核心系統(tǒng)。VDC運(yùn)營管理平臺主要通過硬件負(fù)載均衡來保證高可靠性和高可用性。
正常運(yùn)營時,同時會有多臺物理服務(wù)器運(yùn)行VDC運(yùn)營管理平臺,硬件負(fù)載均衡設(shè)備放置在VDC運(yùn)營管理平臺服務(wù)器前面。負(fù)載均衡設(shè)備會按照后臺服務(wù)器的實(shí)際負(fù)載情況,將客戶請求均勻分發(fā)到不同的運(yùn)營管理平臺服務(wù)器。如果客戶訪問量增加,運(yùn)營管理平臺負(fù)載較大時,可以隨時通過添加新的運(yùn)營平臺服務(wù)器來分擔(dān)系統(tǒng)負(fù)載。
通過硬件負(fù)載均衡設(shè)備不僅可以大大提升整個VDC運(yùn)營管理平臺的可靠性和可用性,同時也讓整個系統(tǒng)具有良好的可擴(kuò)展性和靈活性。
五、虛擬計(jì)算管理平臺的高可靠性和高可用性
虛擬計(jì)算管理平臺部署在各個省份公司,負(fù)責(zé)物理資源的虛擬化管理和調(diào)度。虛擬計(jì)算管理平臺主要包含了節(jié)點(diǎn)控制器、集群控制器和運(yùn)行虛擬機(jī)的物理節(jié)點(diǎn)。為保證整個虛擬計(jì)算管理平臺的正常運(yùn)營,本方案針對上述三個部分制定了相應(yīng)的高可靠性和可用性方案。
虛擬計(jì)算管理平臺對內(nèi)負(fù)責(zé)每個數(shù)據(jù)中心集群的管理和調(diào)度,對外負(fù)責(zé)和上層VDC運(yùn)營管理平臺對接,具有承上啟下的重要作用。每個數(shù)據(jù)中心采用兩臺云控制節(jié)點(diǎn),應(yīng)用數(shù)據(jù)存放在共享存儲。云控制服務(wù)通過HA軟件來實(shí)現(xiàn)高可用性。當(dāng)一臺云控制節(jié)點(diǎn)出現(xiàn)故障時,HA軟件能在1-2秒內(nèi)檢測到故障,并切換節(jié)點(diǎn)控制器服務(wù)到另一個正常物理節(jié)點(diǎn)。云控制節(jié)點(diǎn)和集群節(jié)點(diǎn)的交互是通過異步加密WebService服務(wù)來實(shí)現(xiàn)的,當(dāng)云控制節(jié)點(diǎn)出現(xiàn)故障切換時,不會影響到集群節(jié)點(diǎn)和其它物理節(jié)點(diǎn)的正常運(yùn)行。故障切換完畢后,集群控制節(jié)點(diǎn)會將最新的信息反饋到云控制節(jié)點(diǎn)。
集群控制節(jié)點(diǎn)主要負(fù)責(zé)對運(yùn)行虛擬機(jī)的物理服務(wù)器進(jìn)行管理和調(diào)度,同時反饋相關(guān)信息給上層云控制節(jié)點(diǎn),所有信息的交換都是通過異步加密WebService方式來實(shí)現(xiàn)。每個集群可以采用兩臺集群控制節(jié)點(diǎn),集群數(shù)據(jù)存放在共享存儲。集群服務(wù)通過HA軟件來實(shí)現(xiàn)高可用性。當(dāng)一臺集群控制節(jié)點(diǎn)出現(xiàn)故障時,HA軟件能在1-2秒內(nèi)檢測到故障,并切換集群服務(wù)到另一個正常物理節(jié)點(diǎn)。集群控制節(jié)點(diǎn)管理的信息主要來自各個物理服務(wù)器節(jié)點(diǎn),并通過定期詢查的模式獲取。當(dāng)集群控制節(jié)點(diǎn)出現(xiàn)故障時,上層云控制節(jié)點(diǎn)會短暫無法獲取此集群信息,但是當(dāng)集群服務(wù)切換完畢后,集群服務(wù)會自動更新最新信息給上層云控制節(jié)點(diǎn),不會影響到上層云控制節(jié)點(diǎn)的正常運(yùn)行。當(dāng)集群服務(wù)出現(xiàn)故障時,會暫時失去和運(yùn)行虛擬機(jī)的物理服務(wù)器的聯(lián)系,但是不會影響虛擬機(jī)和運(yùn)行虛擬機(jī)的服務(wù)器,客戶依然可以通過虛擬機(jī)的IP地址連接到具體的虛擬機(jī),當(dāng)集群服務(wù)切換完畢后,物理服務(wù)器會自動更新最新的信息給集群控制節(jié)點(diǎn)。
物理控制節(jié)點(diǎn)主要用來運(yùn)行虛擬機(jī),并反饋每臺物理服務(wù)器的信息給上層集群控制節(jié)點(diǎn)。如果物理控制節(jié)點(diǎn)出現(xiàn)故障,會直接影響到客戶虛擬機(jī)的運(yùn)行。為了避免物理服務(wù)器的單點(diǎn)故障,在所有集群內(nèi)的物理服務(wù)器上需要安裝高可用性軟件,所有物理服務(wù)器連接到共享存儲,虛擬機(jī)的鏡像文件統(tǒng)一存放在共享存儲上。當(dāng)物理服務(wù)器出現(xiàn)故障時,HA軟件可以將故障服務(wù)器上的虛擬機(jī)切換到在其他物理服務(wù)器上,并自動啟動,為所有虛擬機(jī)提供高可用性功能。
云控制節(jié)點(diǎn)、集群控制節(jié)點(diǎn)、物理控制節(jié)點(diǎn)和虛擬機(jī)鏡像文件都存放在共享存儲上。為了保證這些系統(tǒng)的高可靠性,云控制節(jié)點(diǎn)、集群控制節(jié)點(diǎn)和物理控制節(jié)點(diǎn)的數(shù)據(jù)需要每周全面?zhèn)浞菀淮,每天增量備份一次,確保數(shù)據(jù)的可靠性。虛擬機(jī)鏡像文件通常都在10G以上,文件較大,需要每月全面?zhèn)浞菀淮,每天增量備份一次,確保用戶數(shù)據(jù)的可靠性。
通過采用高可用性軟件和重要數(shù)據(jù)的定期備份,可以確保整個虛擬計(jì)算管理平臺的高可靠性和高可用性。不管是出現(xiàn)極端硬件損壞情況,或者是軟件故障,整個系統(tǒng)都能以最快的速度恢復(fù),并保證用戶數(shù)據(jù)的安全性和完整性。
億恩-天使(QQ:530997) 電話 037160135991 服務(wù)器租用,托管歡迎咨詢。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |