服務器集群結(jié)構(gòu)中,又分為“不對稱集群”和“對稱集群”兩大類。“不對稱集群”結(jié)構(gòu)中有一些服務器專門用于當工作服務器出現(xiàn)故障時接替它們的工作。在“對稱集群”結(jié)構(gòu)中,每個服務器都承擔有工作,每臺服務器都相互平等,沒有專門用于備用的服務器。如果一個服務器出現(xiàn)故障,其余服務器則會繼續(xù)處理其自身所分配的應用程序組,同時處理發(fā)生故障的服務器上的應用程序,具體由哪臺或哪幾臺服務器接管,要看集群服務配置了。

圖一 不對稱服務器集群結(jié)構(gòu)

圖二 對稱服務器集群結(jié)構(gòu)

  集群技術(shù)和雙機熱備份技術(shù)的本質(zhì)區(qū)別體現(xiàn)在能否實現(xiàn)并行處理和節(jié)點失效后的任務平滑接管。雙機或多機備份技術(shù)的原理是一臺服務器作主機,其他服務器作備份機(也可以同時工作),當主機失效時,備份機接管。集群系統(tǒng)使用的它的高可用性而不是容錯。
  服務器集群技術(shù)的優(yōu)勢:①擴展能力強;②實現(xiàn)方面容易;③高可用性;④易管理性
  對集群技術(shù)需求最迫切,發(fā)展也最快的領(lǐng)域主要有Web應用、VOD應用,科學計算、數(shù)據(jù)庫應用等領(lǐng)域。集群服務不保證不停頓的操作,但它為大多數(shù)執(zhí)行關(guān)鍵任務的應用程序提供了足夠的可靠性。

  一、服務器集群:故障遷移解決方案

  集群服務器設計的目的就是提高服務器性能,同時在出現(xiàn)故障時能及時進行故障遷移(將應用程序或服務安裝在發(fā)生故障時彼此能接管對方工作的多臺服務器上,一臺服務器接管發(fā)生故障服務器工作的過程就稱為“故障轉(zhuǎn)移”),提高服務器的可用性。所以在集服務器設計之初,必須充分考慮故障遷移方案。
  故障遷移的原理
 ?、贆z測故障
  要讓備用服務器變成活動服務器,必須設法確定活動服務器是否不再正常工作。系統(tǒng)使用下列某個常規(guī)類型的心跳機制來做到這一點。◎發(fā)送信號。活動服務器以定義好的時間間隔將指定信號發(fā)送到備用服務器。如果備用服務器在某個時間間隔內(nèi)未收到信號,則確定活動服務器發(fā)生故障并擔任活動角色。◎接收信號。備用服務器向活動服務器發(fā)送請求。如果活動服務器沒有響應,則備用服務器按特定次數(shù)重復發(fā)送此請求。如果活動服務器仍然沒有響應,則備份服務器接管活動服務器的工作。以上發(fā)送和接收信號是通過專用通信通道發(fā)送的,以使網(wǎng)絡擁塞和一般網(wǎng)絡問題不會導致假的故障轉(zhuǎn)移,這個專用通信通道通常被稱為“心跳線”。
 ?、谕綘顟B(tài)
  的集群服務器系統(tǒng)中,在正式接管活動服務器的工件前,首先要將備用服務器的狀態(tài)與發(fā)生故障的服務器的狀態(tài)進行同步,然后才能開始處理事務。主要有三種不同的同步方法。◎事務日志。在事務日志方法中,活動服務器將對其狀態(tài)的所有更改記錄到日志中。同步實用工具定期處理此日志,以更新備用服務器的狀態(tài),使其與活動服務器的一致。當活動服務器發(fā)生故障時,備用服務器必須使用此同步實用工具處理自上次更新以來事務日志中的任何添加內(nèi)容?!驘醾溆?。在熱備用法中,將把活動服務器內(nèi)部狀態(tài)的更新立即復制到備用服務器。因為備用服務器的狀態(tài)是活動服務器狀態(tài)的克隆,所以備份服務器可以立即成為活動服務器,并開始處理事務?!蚬蚕泶鎯ΑT诠蚕泶鎯Ψ椒ㄖ?,兩臺服務器都在共享存儲設備(如存儲區(qū)域網(wǎng)絡或磁盤陣列)上記錄其狀態(tài)。這樣,因為不需要進行狀態(tài)共,故障轉(zhuǎn)移可以立即發(fā)生。這種同步方式所需的切換時間也較短,可用性也較高。
 ?、鄞_定活動服務器
  對于指定的一組應用程序,只存在一臺活動服務器,這是極其重要的。
    ④擴展故障遷移集群服務器

  故障遷移解決方案示例

  在下圖中,網(wǎng)絡中只有一臺服務器為網(wǎng)絡客戶端提供服務,當這臺服務器出現(xiàn)故障時,就無法向用戶提供服務:

圖三 有故障單點的服務器

  為了提高上圖網(wǎng)絡中服務器的高可用性,可以采用服務器集群故障轉(zhuǎn)移技術(shù),如下圖:

圖四 具有故障轉(zhuǎn)移的服務器集群方案

  在上圖方案中,第一臺數(shù)據(jù)庫服務器是處理所有事務的活動服務器。僅當?shù)谝慌_數(shù)據(jù)庫服務器發(fā)生故障時,處于空閑狀態(tài)的第二臺數(shù)據(jù)庫服務器才會處理事務。集群將一個虛擬IP地址和主機名在客戶端和應用程序所使用的網(wǎng)絡上公開。

  二、服務器集群:負載均衡解決方案

  將服務或應用程序安裝到多臺服務器上,并將這些服務器配置為共享工作負荷,這種類型的配置就是Load-Balanced Cluster(負載均衡集群)。負載均衡技術(shù)通過將客戶端請求分散到多始服務器上,從而提高了基于服務器的程序的性能。
  負載均衡器使用不同的算法控制通信流量,這些算法用于以智能方式分散負載,或最大限度地利用集群內(nèi)的所有服務器。其中一些典型的算法如下:◎循環(huán)法。循環(huán)算法將負載均衡地分配每臺服務器,而不考慮當前的連接數(shù)或響應時間。循環(huán)法適合于集群中的服務器具有相同處理能力的情況?!蚣訖?quán)循環(huán)法。加權(quán)循環(huán)算法適合于每臺服務器具有同處理能力的情況。管理員將性能權(quán)值手動分配給每臺服務器,而且按照服務器權(quán)值自動生成調(diào)度序列?!蜃钌龠B接。最少連接算法確定集群中哪臺服務器當前正在處理連接數(shù)最,從而將請求發(fā)送給服務器?!蚧谪撦d?;谪撦d算法先判斷集群中哪臺服務器當前的負載最低,然后將請求發(fā)送給該服務器。

  負載均衡解決方案示例

  負載均衡的兩種主要類別如下:◎基于軟件的負載均衡?;谲浖呢撦d均衡是在負載均衡集中安裝特殊的均衡管理軟件。均衡管理軟件根據(jù)不同的算法發(fā)送或接收客戶端向服務器發(fā)出的請求?!蚧谟布呢撦d均衡。

圖五 負載均衡集群方案

分享到

tangrong

相關(guān)推薦