什么是雙機(jī)熱備?
所謂雙機(jī)熱備,就是將中心服務(wù)器安裝成互為備份的兩臺(tái)服務(wù)器,并且在同一時(shí)間內(nèi)只有一臺(tái)服務(wù)器運(yùn)行。當(dāng)其中運(yùn)行著的一臺(tái)服務(wù)器出現(xiàn)故障無法啟動(dòng)時(shí),另一臺(tái)備份服務(wù)器會(huì)迅速的自動(dòng)啟動(dòng)并運(yùn)行(一般為2分鐘左右),從而保證整個(gè)網(wǎng)絡(luò)系統(tǒng)的正常運(yùn)行!雙機(jī)熱備的工作機(jī)制實(shí)際上是為整個(gè)網(wǎng)絡(luò)系統(tǒng)的中心服務(wù)器提供了一種故障自動(dòng)恢復(fù)能力。
什么時(shí)候需要雙機(jī)熱備?
這個(gè)問題其實(shí)比較簡(jiǎn)單,一般服務(wù)器要長(zhǎng)年累月的工作,其備份工作就絕對(duì)少不了。所以,決定是否使用雙機(jī)熱備,筆者覺得應(yīng)首先對(duì)系統(tǒng)的重要性,以及終端用戶對(duì)服務(wù)中斷的容忍程度進(jìn)行考慮,然后再來決定是否使用雙機(jī)熱備。比如網(wǎng)絡(luò)中的用戶最多能容忍多長(zhǎng)時(shí)間恢復(fù)服務(wù)?如果服務(wù)不能很快恢復(fù)會(huì)造成什么樣的后果等等。
什么是集群系統(tǒng)?
現(xiàn)在的計(jì)算機(jī)社會(huì)中,持續(xù)的提供不停止的服務(wù)已經(jīng)成為通往成功的關(guān)鍵。例如僅由于 1臺(tái)機(jī)器故障或超負(fù)荷而宕機(jī)就導(dǎo)致對(duì)客戶的服務(wù)全面停止。這樣的話,不但會(huì)帶來莫大的損失,還會(huì)失去客戶的信任。
存儲(chǔ)軟件:一是有超過兩個(gè)應(yīng)用,本身就需要部署三臺(tái)或更多的服務(wù)器。二是只有兩個(gè)應(yīng)用,但每個(gè)應(yīng)用的負(fù)載均較大,不宜采用雙機(jī)互備的方式,而是需要由第三臺(tái)服務(wù)器來作為這兩個(gè)應(yīng)用的備機(jī)。
一般地講,集群存儲(chǔ)軟件具有更多的技術(shù)含量,具備更高的可靠性。同時(shí),往往價(jià)格(平均到每臺(tái)服務(wù)器)也高于雙機(jī)軟件。
在選擇產(chǎn)品時(shí),應(yīng)根據(jù)應(yīng)用的實(shí)際情況來確定。最理想的方式,則是在應(yīng)用數(shù)量少、負(fù)載不是很大時(shí)先使用雙機(jī)軟件,然后在應(yīng)用數(shù)量增多、負(fù)載增大時(shí)平滑過渡到集群存儲(chǔ)軟件。
雙機(jī)備份和集群的原理與比較
雙機(jī)熱備原理
雙機(jī)熱備用戶可以根據(jù)系統(tǒng)的重要性以及終端用戶對(duì)服務(wù)中斷的容忍程度決定是否使用雙機(jī)熱備。比如網(wǎng)絡(luò)中的用戶最多能容忍多長(zhǎng)時(shí)間恢復(fù)服務(wù)?如果服務(wù)不能很快恢復(fù)會(huì)造成什么樣的后果等。對(duì)于承擔(dān)企業(yè)關(guān)鍵業(yè)務(wù)應(yīng)用的服務(wù)器需要極高的穩(wěn)定性和可用性,需要7×24不間斷服務(wù),推薦使用雙機(jī)熱備。
我已經(jīng)有了RAID,以及磁帶備份,還有必要做雙機(jī)嗎?或者,如果我做了雙機(jī)備份,還有必要做磁帶備份嗎?
RAID和數(shù)據(jù)備份都是很重要的。但RAID技術(shù)只能解決硬盤的問題,備份只能解決系統(tǒng)出現(xiàn)問題后的恢復(fù)。而一旦服務(wù)器本身出現(xiàn)問題,不論是設(shè)備的硬件問題還是軟件系統(tǒng)的問題,都會(huì)造成服務(wù)的中斷。因此,RAID及數(shù)據(jù)備份技術(shù)不能避免服務(wù)中斷出現(xiàn),對(duì)于需要持續(xù)可靠地提供應(yīng)用服務(wù)的系統(tǒng),雙機(jī)還是非常必要的。數(shù)據(jù)備份是保障數(shù)據(jù)安全性的必不可少的措施。因?yàn)椴徽揜AID還是雙機(jī),都是一種實(shí)時(shí)的備份。任何軟件錯(cuò)誤、病毒影響、誤操作等等,都會(huì)同步地在多份數(shù)據(jù)中發(fā)生影響。因此,對(duì)于關(guān)鍵業(yè)務(wù)即使采用了雙機(jī)方案也還是一定要進(jìn)行數(shù)據(jù)的備份,以便能在數(shù)據(jù)損壞、丟失時(shí)進(jìn)行恢復(fù)。 如何選擇與實(shí)施雙機(jī)熱備的配置方案?
以應(yīng)用為主導(dǎo),以高可用性為宗旨,分析需求的必要性; 2. 選擇確定具體的設(shè)備、軟件的型號(hào)等。需要注意的是: 不同的軟件或是硬盤等存儲(chǔ)設(shè)備,他們之間存在兼容性的問題,因此在購買之前應(yīng)咨詢專業(yè)人員,避免出現(xiàn)采購了雙機(jī)軟件后對(duì)相關(guān)的存儲(chǔ)設(shè)備存在不兼容等現(xiàn)象。 3.在實(shí)施完成后,一定要進(jìn)行測(cè)試,以確保工作正常,而且應(yīng)注意在運(yùn)行過程中定期的對(duì)系統(tǒng)是否能夠正常切換進(jìn)行測(cè)試。 集群的概念
集群是oracle高可用性產(chǎn)品設(shè)計(jì)的核心,使得oracle在出現(xiàn)問題時(shí)可以從一個(gè)節(jié)點(diǎn)切換到另外一個(gè)節(jié)點(diǎn)。RAC采用了共享磁盤類型的集群,允許所有群集中節(jié)點(diǎn)同時(shí)訪問數(shù)據(jù)。任何時(shí)刻都有一組數(shù)據(jù)文件可以供所有節(jié)點(diǎn)訪問。RAC的最終目標(biāo)是提供高度的可管理性,和同單個(gè)計(jì)算機(jī)上運(yùn)行單個(gè)oracle數(shù)據(jù)庫實(shí)例。Oracle能自動(dòng)在集群的多個(gè)節(jié)點(diǎn)之間平衡負(fù)載。
雙機(jī)熱備方案與集群的區(qū)別?
答:從概念上來講,雙機(jī)熱備屬于集群中的一種。集群一般包括兩類:一類是純應(yīng)用服務(wù)器的集群,即各個(gè)應(yīng)用服務(wù)器都訪問統(tǒng)一的數(shù)據(jù)庫服務(wù)器,但彼些并不需要文件共享存儲(chǔ)等,這種集群是比較簡(jiǎn)單的。另一類是數(shù)據(jù)庫服務(wù)器的雙機(jī)熱備,這種雙機(jī)熱備實(shí)現(xiàn),一般是兩臺(tái)服務(wù)器同時(shí)使用共享的存儲(chǔ)設(shè)備,并且在普遍的情況下,均采取主、備的方式(也有高端的系統(tǒng)采用并行的方式,即兩臺(tái)服務(wù)器同時(shí)提供服務(wù))。 常見問題與方案選擇
對(duì)于企業(yè)重要的應(yīng)用系統(tǒng)而言,保證系統(tǒng)能持續(xù)、可靠地提供服務(wù)是非常重要的,因此就出現(xiàn)了對(duì)高可用性的需求和高可用性的解決方案。
雙機(jī)熱備與數(shù)據(jù)備份的關(guān)系
一些用戶在規(guī)劃雙機(jī)熱備或雙機(jī)備份時(shí),會(huì)有這樣的問題:我已經(jīng)有了RAID,以及磁帶備份,還有必須做雙機(jī)嗎?或者,如果我做了雙機(jī)備份,還有必要做磁帶備份嗎?
應(yīng)該說RAID和數(shù)據(jù)備份都是很重要的。但是,RAID技術(shù)只能解決硬盤的問題,備份只能解決系統(tǒng)出現(xiàn)問題后的恢復(fù)。而一旦服務(wù)器本身出現(xiàn)問題,不論是設(shè)備的硬件問題還是軟件系統(tǒng)的問題,都會(huì)造成服務(wù)的中斷。因此,RAID及數(shù)據(jù)備份技術(shù)不能解決避免服務(wù)中斷的問題。對(duì)于需要持續(xù)可靠地提供應(yīng)用服務(wù)的系統(tǒng),雙機(jī)還是非常重要的。只要想一想,如果你的服務(wù)器壞了,你要用多少時(shí)間將其恢復(fù)到能正常工作,你的用戶能容忍多長(zhǎng)的恢復(fù)時(shí)間就能理解雙機(jī)的重要性了。
從另外一個(gè)方面,RAID以及磁帶備份也是非常需要的。對(duì)于RAID而言,可以以很低的成本大大提高系統(tǒng)的可靠性,而且其復(fù)雜程度遠(yuǎn)遠(yuǎn)低于雙機(jī)。因?yàn)楫吘褂脖P是系統(tǒng)中機(jī)械操作最頻繁、易損率最高的部件,如果采用RAID,就可以使出現(xiàn)故障的系統(tǒng)很容易修復(fù),也減少服務(wù)器停機(jī)進(jìn)行切換的次數(shù)。
數(shù)據(jù)備份更是必不可少的措施。因?yàn)椴徽揜AID還是雙機(jī),都是一種實(shí)時(shí)的備份。任何軟件錯(cuò)誤、病毒影響、誤操作等等,都會(huì)同步地在多份數(shù)據(jù)中發(fā)生影響。因此,一定要進(jìn)行數(shù)據(jù)的備份(不論采取什么介質(zhì),都建議用戶至少要有一份脫機(jī)的備份),以便能在數(shù)據(jù)損壞、丟失時(shí)進(jìn)行恢復(fù)。
雙機(jī)熱備、雙機(jī)互備與雙機(jī)雙工的區(qū)別
雙機(jī)熱備即是目前通常所說的active/standby方式,服務(wù)器數(shù)據(jù)包括數(shù)據(jù)庫數(shù)據(jù)同時(shí)往兩臺(tái)或多臺(tái)服務(wù)器寫,或者使用一個(gè)共享的存儲(chǔ)設(shè)備。當(dāng) active服務(wù)器出現(xiàn)故障的時(shí)候,通過軟件診測(cè)(一般是通過心跳診斷)將standby機(jī)器激活,保證應(yīng)用在短時(shí)間內(nèi)完全恢復(fù)正常使用。 雙機(jī)互備,在雙機(jī)熱備的基礎(chǔ)上,兩個(gè)相對(duì)獨(dú)立的應(yīng)用在兩臺(tái)機(jī)器同時(shí)運(yùn)行,但彼此均設(shè)為備機(jī),當(dāng)某一臺(tái)服務(wù)器出現(xiàn)故障時(shí),另一臺(tái)服務(wù)器可以在短時(shí)間內(nèi)將故障服務(wù)器的應(yīng)用接管過來,從而保證了應(yīng)用的持續(xù)性。這種方式實(shí)際上是雙機(jī)熱備的一種應(yīng)用。它避免了兩個(gè)應(yīng)用使用四臺(tái)服務(wù)器分別實(shí)現(xiàn)雙機(jī)熱備。
雙機(jī)雙工,兩臺(tái)或多臺(tái)服務(wù)器均為活動(dòng),同時(shí)運(yùn)行相同的應(yīng)用,保證整體的性能,也實(shí)現(xiàn)了負(fù)載均衡和互為備份。需要利用磁盤柜存儲(chǔ)技術(shù)(最好采用san)。對(duì)于數(shù)據(jù)庫服務(wù)而言,它同時(shí)需要數(shù)據(jù)庫軟件的支持,是比較復(fù)雜的。而WEB服務(wù)器或應(yīng)用服務(wù)器就比較簡(jiǎn)單了,可參見:談Web服務(wù)器和應(yīng)用服務(wù)器的負(fù)載均衡。 雙機(jī)軟件與集群軟件的異同
在雙機(jī)熱備應(yīng)用方面,有兩大類軟件產(chǎn)品。一類是雙機(jī)軟件(HA),另一類則稱作集群軟件(Cluster)。這兩類軟件的異同在什么地方呢?
它們都是為實(shí)現(xiàn)系統(tǒng)的高可用性服務(wù)的,都解決了一臺(tái)服務(wù)器出現(xiàn)故障時(shí),由其他服務(wù)器接管應(yīng)用,從而持續(xù)可靠地提供服務(wù)的問題。 它們都是通過心跳技術(shù)在進(jìn)行系統(tǒng)檢測(cè)
但是,雙機(jī)軟件只能支持兩臺(tái)服務(wù)器以主從方式或互備方式工作。而集群軟件除了支持雙機(jī)工作外,還可以支持多臺(tái)服務(wù)器(Multi Node)工作,同時(shí)部署多個(gè)應(yīng)用,并在多個(gè)服務(wù)器間靈活地設(shè)置接管策略。
在兩種情況下需要使用集群軟件:一是有超過兩個(gè)應(yīng)用,本身就需要部署三臺(tái)或更多的服務(wù)器。二是只有兩個(gè)應(yīng)用,但每個(gè)應(yīng)用的負(fù)載均較大,不宜采用雙機(jī)互備的方式,而是需要由第三臺(tái)服務(wù)器來作為這兩個(gè)應(yīng)用的備機(jī)。
一般地講,集群軟件具有更多的技術(shù)含量,具備更高的可靠性。同時(shí),往往價(jià)格(平均到每臺(tái)服務(wù)器)也高于雙機(jī)軟件。
在選擇產(chǎn)品時(shí),應(yīng)根據(jù)應(yīng)用的實(shí)際情況來確定。最理想的方式,則是在應(yīng)用數(shù)量少、負(fù)載不是很大時(shí)先使用雙機(jī)軟件,然后在應(yīng)用數(shù)量增多、負(fù)載增大時(shí)平滑過渡到集群軟件。
討論關(guān)于雙機(jī)熱備、集群軟件選擇的基本方法
一、雙機(jī)、集群軟件選擇的基本方法
先處理可選項(xiàng)少的情況,再處理可選項(xiàng)多的情況,這樣便于快速對(duì)號(hào)入座。 1、SCO UNIX:只有LanderCluster支持
2、Windows + SQL Server:需要考慮并行、負(fù)載均衡、實(shí)時(shí)切換等問題:只有ICX支持。 3、無磁盤陣列柜的情況:從性價(jià)比、可靠性等方面考慮,LanderCluster具有明顯優(yōu)勢(shì)。 4、已經(jīng)購買磁盤陣列柜:采取主/備方式(一臺(tái)工作另一臺(tái)不工作)。 5、Windows/Linux,已經(jīng)購買了磁盤陣列柜: IBM EXP系列磁盤陣列,
- Windows 目前能可靠支持的是LanderCluster,- Linux目前能可靠支持的是NEC Express Cluster。 6、 Windows/Linux,無磁盤陣列柜(即純軟件方式):Windows + SQL Server:從性價(jià)比、可靠性等方面考慮,ICX具有明顯優(yōu)勢(shì)。 7、其他磁盤陣列柜:
1)多臺(tái)服務(wù)器 可供選擇的包括:LanderCluster, NEC ExpressCluster, LifeKeeper其中LanderCluster和NEC ExpressCluster支持遠(yuǎn)程監(jiān)控,具有良好的本地支持,LanderCluster的性價(jià)比有明顯優(yōu)勢(shì),NEC則因與純軟件方式價(jià)格無差別;
2)當(dāng)前兩臺(tái),以后可能升到多服務(wù)器,多數(shù)據(jù)庫,多平臺(tái)集群,SAN及Iscsi環(huán)境:LanderCluster具有明顯優(yōu)勢(shì);
3)僅兩臺(tái)服務(wù)器:幾乎所有產(chǎn)品均可支持;
4)數(shù)據(jù)庫小于50G:從無柜純軟方面考慮,NEC ExpressCluster是主要的選擇;
二、數(shù)據(jù)庫雙機(jī)熱備方式
數(shù)據(jù)庫雙機(jī)熱備有兩種典型的方式,一種是比較標(biāo)準(zhǔn)的,兩臺(tái)服務(wù)器通過一個(gè)共享的存儲(chǔ)設(shè)備(一般是共享的磁盤陣列或存儲(chǔ)區(qū)域網(wǎng)SAN),并且安裝雙機(jī)軟件,實(shí)現(xiàn)雙機(jī)熱備,稱為共享方式。另一種方式是通過純軟件的方式,一般稱為純軟件方式或鏡像方式(Mirror)。
對(duì)于共享方式,數(shù)據(jù)庫放在共享的存儲(chǔ)設(shè)備上。當(dāng)一臺(tái)服務(wù)器提供服務(wù)時(shí),直接在存儲(chǔ)設(shè)備上進(jìn)行讀寫。而當(dāng)系統(tǒng)切換后,另一臺(tái)服務(wù)器也同樣讀取該存儲(chǔ)設(shè)備上的數(shù)據(jù)。
對(duì)于純軟件的方式,通過鏡像軟件,將數(shù)據(jù)可以實(shí)時(shí)復(fù)制到另一臺(tái)服務(wù)器上,這樣同樣的數(shù)據(jù)就在兩臺(tái)服務(wù)器上各存在一份,如果一臺(tái)服務(wù)器出現(xiàn)故障,可以及時(shí)切換到另一臺(tái)服務(wù)器。
三、純軟件方式優(yōu)點(diǎn)
1、避免了磁盤陣列的單點(diǎn)故障:對(duì)于雙機(jī)熱備,本身即是防范由于單個(gè)設(shè)備的故障導(dǎo)致服務(wù)中斷,但磁盤陣列恰恰又形成了一個(gè)新的單點(diǎn)。(比如,服務(wù)器的可靠系數(shù)是99.9%, 磁盤陣列的可靠系數(shù)是99.95%,則純軟雙機(jī)的可靠系數(shù)是1-99.9%x99.9%=99.99%,而基于磁盤陣列的雙機(jī)熱備系統(tǒng)的可靠系數(shù)則會(huì)是略低于99.95%
2、節(jié)約投資:不需購買昂貴的磁盤陣列。
3、不受距離的限制:兩臺(tái)服務(wù)器不需受SCSI電纜的長(zhǎng)度限制(光纖通道的磁盤陣列也不受距離限制,但投資會(huì)大得多)。這樣,可以更靈活地部署服務(wù)器,包括通過物理位置的距離來提高安全性。
純軟件方式以前應(yīng)用得較少,一方面是由于當(dāng)時(shí)市場(chǎng)上比較流行的雙機(jī)軟件不支持純軟件方式,另一方面是由于少數(shù)支持純軟件方式的產(chǎn)品其可靠性不太令人放心。但隨著NEC,LanderSoft這樣的大牌廠商的產(chǎn)品進(jìn)入市場(chǎng),應(yīng)該說純軟件方式將逐漸成為一種方向。
從方案選擇的角度,建議在進(jìn)行雙機(jī)熱備時(shí),如果投資充裕、數(shù)據(jù)量大(1T以上),可以采用共享的存儲(chǔ)設(shè)備(如磁盤陣列)的方式,但應(yīng)盡量選擇高可靠性(如著名品牌的)設(shè)備,并且考慮選擇雙控制器的方案。否則,則更好的選擇是純軟件方式。當(dāng)然,這時(shí)就一定要選擇成熟的、大廠商的經(jīng)過考驗(yàn)的產(chǎn)品。 四、雙機(jī)熱備、集群軟件產(chǎn)品選擇
1、明確應(yīng)用的方式與要求:
是雙機(jī)方式還是多點(diǎn)集群?或者是目前使用雙機(jī)、以后可能升級(jí)到集群? 如果是雙機(jī),是采用共享的存儲(chǔ)設(shè)備,還是采用基于鏡像的純軟件方式?
2、了解清楚應(yīng)用環(huán)境: 使用什么操作系統(tǒng)?
運(yùn)行什么應(yīng)用(比如,數(shù)據(jù)庫的版本)? 使用什么服務(wù)器? 使用什么存儲(chǔ)設(shè)備?
如果考慮純軟件方式,則還有了解清楚。數(shù)據(jù)量的大小、數(shù)據(jù)寫入的頻率、應(yīng)用的關(guān)鍵性與重要性(相關(guān)內(nèi)容:純軟件方式的雙機(jī)熱備方案深入分析 ) 。
3、在此基礎(chǔ)上,考慮以下因素,選擇相應(yīng)的軟件產(chǎn)品:
產(chǎn)品是否能支持所要求的應(yīng)用方式? 產(chǎn)品是否能支持所使用的應(yīng)用環(huán)境?
產(chǎn)品的其他特性:是否支持遠(yuǎn)程監(jiān)控(可以使你不用非要經(jīng)常跑到機(jī)房,才知道是否一臺(tái)服務(wù)器宕機(jī)了)?界面語言(對(duì)雙機(jī)軟件,中文界面并不是非常重要,但也是一個(gè)因素。同時(shí),是否有中文手冊(cè)等則可能非常重要)。安裝的難易程度。
4、常見產(chǎn)品:
1)LanderCluster集群軟件:支持多點(diǎn)集群及雙機(jī),遠(yuǎn)程監(jiān)控,支持Unix,支持ISCSI,支持多數(shù)據(jù)庫;
2)NEC ExpressCluster集群軟件:支持純軟件方式(鏡像),多點(diǎn)集群及雙機(jī),遠(yuǎn)程監(jiān)控;
3)LifeKeeper集群軟件:支持多點(diǎn)集群及雙機(jī);
4)RoseHA雙機(jī)軟件:雙機(jī)熱備、互備;
五、雙機(jī)、集群軟件差別
在雙機(jī)熱備應(yīng)用方面,有兩大類軟件產(chǎn)品。一類是雙機(jī)軟件(HA),另一類則稱作集群軟件(Cluster),這兩類軟件是有差異的。
它們都是為實(shí)現(xiàn)系統(tǒng)的高可用性服務(wù)的,都解決了一臺(tái)服務(wù)器出現(xiàn)故障時(shí),由其他服務(wù)器接管應(yīng)用,從而持續(xù)可靠地提供服務(wù)的問題
它們都是通過心跳技術(shù)在進(jìn)行系統(tǒng)檢測(cè)。
但是,雙機(jī)軟件只能支持兩臺(tái)服務(wù)器以主從方式或互備方式工作。而集群軟件除了支持雙機(jī)工作外,還可以支持多臺(tái)服務(wù)器(Multi Node)工作,同時(shí)部署多個(gè)應(yīng)用,并在多個(gè)服務(wù)器間靈活地設(shè)置接管策略。 在兩種情況下需要使用集群軟件:一是有超過兩個(gè)應(yīng)用,本身就需要部署三臺(tái)或更多的服務(wù)器。二是只有兩個(gè)應(yīng)用,但每個(gè)應(yīng)用的負(fù)載均較大,不宜采用雙機(jī)互備的方式,而是需要由第三臺(tái)服務(wù)器來作為這兩個(gè)應(yīng)用的備機(jī)。
一般地講,集群軟件具有更多的技術(shù)含量,具備更高的可靠性。同時(shí),往往價(jià)格(平均到每臺(tái)服務(wù)器)也高于雙機(jī)軟件。
在選擇產(chǎn)品時(shí),應(yīng)根據(jù)應(yīng)用的實(shí)際情況來確定。最理想的方式,則是在應(yīng)用數(shù)量少、負(fù)載不是很大時(shí)先使用雙機(jī)軟件,然后在應(yīng)用數(shù)量增多、負(fù)載增大時(shí)平滑過渡到集群軟件。
評(píng)論