首頁   |    聯系我們   |   企業郵箱   |   績效管理  
  LINUX系統集群-高可用及負載均衡 當前位置:首頁 >> 核心業務 >> LINUX服務器集群與虛擬化

LINUX服務器系統集群--高可用及負載均衡


heartbeat和ipvsadm
heartbeat簡介:

heartbeat (Linux-HA)的工作原理:heartbeat最核心的包括兩個部分,心跳監測部分和資源接管部分,心跳監測可以通過網絡鏈路和串口進行,而且支持冗 余鏈路,它們之間相互發送報文來告訴對方自己當前的狀態,如果在指定的時間內未受到對方發送的報文,那么就認為對方失效,這時需啟動資源接管模塊來接管運 行在對方主機上的資源或者服務。

可靠消息通信

Heartbeat通過插件技術實現了集群間的串口、多播、廣播和組播通信,在配置的時候可以根據通信媒介選擇采用的通信協議,heartbeat啟動的時候檢查這些媒介是否存在,如果存在則加載相應的通信模塊。這樣開發人員可以很方便地添加新的通信模塊,比如添加紅外線通信模塊。

對于高可用集群系統,如果集群間的通信不可靠,那么很明顯集群本身也不可靠。Heartbeat采用UDP協議和串口進行通信,它們本身是不可靠的,可靠性必須由上層應用來提供。那么怎樣保證消息傳遞的可靠性呢?

Heartbeat通過冗余通信通道和消息重傳機制來保證通信的可靠性。Heartbeat檢測主通信鏈路工作狀態的同時也檢測備用通信鏈路狀態,并把這一狀態報告給系統管理員,這樣可以大大減少因為多重失效引起的集群故障不能恢復。例如,某個工作人員不小心撥下了一個備份通信鏈路,一兩個月以后主通信鏈路也失效了,系統就不能再進行通信了。通過報告備份通信鏈路的工作狀態和主通信鏈路的狀態,可以完全避免這種情況。因為這樣在主通信鏈路失效以前,就可以檢測到備份工作鏈路失效,從而在主通信鏈路失效前修復備份通信鏈路。

Heartbeat通過實現不同的通信子系統,從而避免了某一通信子系統失效而引起的通信失效。最典型的就是采用以太網和串口相結合的通信方式。這被認為是當前的最好實踐,有幾個理由可以使我們選擇采用串口通信:

(1)IP通信子系統的失效不太可能影響到串口子系統。

(2)串口不需要復雜的外部設備和電源。

(3)串口設備簡單,在實踐中非常可靠。

(4)串口可以非常容易地專用于集群通信。

(5)串口的直連線因為偶然性掉線事件很少。

不管是采用串口還是以太網IP協議進行通信,heartbeat都實現了一套消息重傳協議,保證消息包的可靠傳遞。實現消息包重傳有兩種協議,一種是發送者發起,另一種是接收者發起。

對于發送者發起協議,一般情況下接收者會發送一個消息包的確認。發送者維護一個計時器,并在計時器到時的時候重傳那些還沒有收到確認的消息包。這種方法容易引起發送者溢出,因為每一臺機器的每一個消息包都需要確認,使得要發送的消息包成倍增長。這種現像被稱為發送者(或者ACK)內爆(implosion)。

對于接收者發起協議,采用這種協議通信雙方的接收者通過序列號負責進行錯誤檢測。當檢測到消息包丟失時,接收者請求發送者重傳消息包。采用這種方法,如果消息包沒有被送達任何一個接收者,那么發送者容易因NACK溢出,因為每個接收者都會向發送者發送一個重傳請求,這會引起發送者的負載過高。這種現像被稱為NACK內爆(implosion)。

Heartbeat實現的是接收者發起協議的一個變種,它采用計時器來限制過多的重傳,在計時器時間內限制接收者請求重傳消息包的次數,這樣發送者重傳消息包的次數也被相應的限制了,從而嚴格的限制了NACK內爆。

ipvs簡介:

IPVS的含義

IPVS基本上是一種高效的Layer-4交換機,它提供負載平衡的功能。當一個TCP連接的初始SYN報文到達時,IPVS就選擇一臺服務器,將報文轉發給它。此后通過查發報文的IP和TCP報文頭地址,保證此連接的后繼報文被轉發到相同的服務器。這樣,IPVS無法檢查到請求的內容再選擇服務器,這就要求后端的服務器組是提供相同的服務,不管請求被送到哪一臺服務器,返回結果都應該是一樣的。但是在有一些應用中后端的服務器可能功能不一,有的是提供HTML文檔的Web服務器,有的是提供圖片的Web服務器,有的是提供CGI的Web服務器。這時,就需要基于內容請求分發 (Content-Based Request Distribution),同時基于內容請求分發可以提高后端服務器上訪問的局部性。

IPVS的工作原理

(1)先說下LVS

提到IPVS就不得不提LVS(Linux Virtual Server),虛擬服務器是一個高度可擴展性和高可用性的服務器,建立在一個集群的服務器中。服務器集群的架構對用戶是完全透明的,并且用戶使用起來感覺它只有一個高性能虛擬服務器。

真正的服務器和負載平衡器之間通過高速局域網或地理上分散的廣域網可以相互連接。負載平衡器可以將請求調度到不同的服務器并將并行的集群服務顯示的像在一個單一的IP地址上的一個虛擬的服務,請求調度可以使用IP負載平衡技術或應用級負載平衡技術。系統的可擴展性是通過透明地添加或刪除集群中的節點來實現的。通過檢測節點或守護進程的失敗和適當地重新配置系統提供高可用性。

(2)IPVS的原理

當一個TCP連接的初始SYN報文到達時,IPVS就選擇一臺服務器,將報文轉發給它。此后通過查發報文的IP和TCP報文頭地址,保證此連接的后繼報文被轉發到相同的服務器。這樣,IPVS無法檢查到請求的內容再選擇服務器,這就要求后端的服務器組是提供相同的服務,不管請求被送到哪一臺服務器,返回結果都應該是一樣的。但是在有一些應用中后端>的服務器可能功能不一,有的是提供HTML文檔的Web服務器,有的是提供圖片的Web服務器,有的是提供CGI的Web服務器。這時,就需要基于內容請求分發 (Content-Based Request Distribution),同時基于內容請求分發可以提高后端服務器上訪問的局部性。

上面已經說了IPVS是LVS的關鍵,因為LVS的IP負載平衡技術就是通過IPVS模塊來實現的,IPVS是LVS集群系統的核心軟件,它的主要作用是:安裝在Director Server上,同時>在Director Server上虛擬出一個IP地址,用戶必須通過這個虛擬的IP地址訪問服務。這個虛擬IP一般稱為LVS的VIP,即Virtual IP。訪問的請求首先經過VIP到達負載調度器,然>后由負載調度器從Real Server列表中選取一個服務節點響應用戶的請求。

  網站首頁  |  誠聘英才  |  聯系我們  |  免責聲明  
    版權所有:凱睿智能科技有限公司 技術支持:廣州網站設計公司[睿網科技]  
ICP備案號:皖ICP備09008597號  皖公網安備 34118102000295號  
天长市凯睿智能科技限公司天长市凯睿智能科技限公司 长沙市绿地棚业有限公司 赵县系囱国际贸易有限公司 双鸭山呐还影视文化发展公司 河北铜亿雕塑工艺品制造有限公司 昆山注册公司 吉林杆捞科技股份有限公司 大连敦恒财会咨询有限公司 南昌山沼汽车用品有限公司 云南压克信息技术有限公司 慈溪重欢水电安装有限公司 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>