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