淺談Linux集群


 

集群聽起來好像就是一個很高端很的技術,其實不是的,那么集群其實就是一堆計算機的集合,給用戶提供同一個服務的一組計算機,就稱之為集群,對於用戶而言好像就是一台計算機提供的服務,集群主要分為三大類,


 

LB 負載均衡集群

負載均衡集群主要是提高服務的響應能力的,比如說某服務器的並發響應能力是100個,這個時候經常有人反映說連不上服務器,這個時候解決方案一般有 兩種,一,升級硬件,升級硬件顯然不是很好的解決方案,假如說升級硬件之后過了一段時間由於業務量的加大,服務器又負載不起了怎么辦呢, 二,將現有空閑低配的設備組合起來做成一個具有高並發的負載均衡集群,多台計算機同時分攤負載用戶的請求,這樣一來服務器的壓力也沒有那么大了,那么這一 類的集群具有很好的可伸縮性,可靠性,和成本低廉等好處,


 

HA 高可用性集群

高可用性集群主要是提供7*24小時不間斷服務的,不能說因為一台或幾台服務器的down機而導致無法提供服務的,如果某台down機了,會自動的切換到其他計算機上面工作,從而達到高可用的效果,


 

HP 高性能集群

高性能集群主要是用於需要大量CPU運算的場景中,比如說天氣預報,國外3D大片的特效制作,等等一系列需要做大量運算的應用,

上面介紹了集群應用的三大類,下面來介紹下三大應用中各種實現的機制,

LB 負載均衡集群又分為硬件級與軟件級的

硬件類的價格比較貴,F5,等

軟件級的比較常見的有如下兩種:LVS、Haproxy


 

HA 高可用集群的解決方案常見的有以下幾種

heartbeat、corosync+openais  RHCS、ultramokey、keepalived

HP 高性能集群的解決方案常見的有以下

bowerful

上面說了各種集群的解決方案,一般情況下負載均衡集群和高可用集群是結合起來使用的,下面來說說負載均衡集群中比較常用的LVS


 

LVS (linux virtual server) linux 虛擬服務器

lvs是由國人章文嵩開發的一款自由軟件,lvs具有很好的可伸縮性,可靠性,和可管理性,通過linux系統和lvs可以實現一個高可用,高性能,低成本的服務器集群,

lvs是三層架構的,也就是說lvs有三個部分組成的,:最前端的負載均衡器LB,中間的是應用服務器群組,后端的是共享存儲,見下圖

lvs的三種工作模型

NAT模型

NAT模型顯然根據名字都可以看出來,是通過網絡地址轉換來實現的,他的工作方式是,首先用戶請求到達前端的負載均衡器(即Director Server),然后負載均衡器根據事先定義好的調度算法將用戶請求的目標地址修改為后端的應用服務器(即Real Server) , 應用程序服務器處理好請求之后將結果返回給用戶,期間必須要經過負載均衡器,負載均衡器將報文的源地址 改為用戶請求的目標地址,再轉發給用戶,從而完成整個負載均衡的過程,

NAT模型的特點如下,

所有的節點必須在一個IP網絡中

只需有一個公有地址即可

支持端口映射

后端的應用服務器不區分平台

進出數據包都需要經過負載均衡器,當負載過大的時候,負載均衡器將是整個集群的瓶頸

最多支持8個節點,

DR模型

DR模型是通過路由技術實現的負載均衡技術,而這種模型與NAT模型不同的地方是,負載均衡器通過改寫用戶請求報文中的MAC地址,將請求發送到 Real Server, 而Real Server直接響應用戶,這樣就大大的減少負載均衡器的壓力,DR模型也是用的最多的一種,

DR模型的特點如下,

所有的集群節點都必須同一個物理網絡中

RIP可以是公有IP也可以是私有IP

負載均衡器只響應進站請求,

不支持端口映射

TUN模型

TUN模型是通過IP隧道技術實現的,TUN模型跟DR模型有點類似,不同的地方是負載均衡器(Director Server)跟應用服務器(Real Server)通信的機制是通過IP隧道技術將用戶的請求轉發到某個Real Server,而Real Server 也是直接響應用戶的,

TUN模型的特點,

所有的集群節點可以在任意地方

RIP必須是公網IP

負載均衡器只響應進站請求

不支持端口映射

上面介紹了LVS的工作模型,下面來說說LVS支持的調度算法

調度算法也可以稱為負載均衡的方法,上面說過前端的負載均衡器(Director Server)會將用戶的請求分攤給后端的應用服務器(Real Server),那么負載均衡器(Director Server)怎么會知道將用戶請求分攤到哪台應用服務器(Real Server)呢?  就是根據調度算法來實現將用戶請求具體分攤到哪台應用服務器(Real Server)的,在LVS中支持多達10種調度算法,下面來說說幾個常用的調度算法,

輪詢,                  輪詢調度是將用戶請求平均分攤到Real Server 上去,

加權輪詢,          加權輪詢可以為Real Server 設置不同的權值,對於性能好的Real Server可以較高的權值,而性能比較差的Real Server 的權值可以設置較低點,這樣的話就充分利用了服務器的資源,

最少連接,          最少連接調度會動態的將用戶請求分攤到已建立的連接最少的Real Server上去,

加權最少連接,  加權最少連接可以將性能好的服務器的全值設置高點,性能差的服務器權值設置低一些,

除了上面四個外還有目標地址hash算法調度, 源地址hash算法, 最少期望延遲調度, 基本地的最少連接調度, 帶復制的最少連接調度,等,

上面說了負載均衡集群LVS,其實LVS有一個致命的缺點,當有台負載均衡器(Director Server) 掛掉的時候,那么整個集群將癱瘓了,上面說過負載均衡集群一般要和高可用集群結合起來使用的,這樣就可以避免某個Director Server 出現故障而導致整個集群系統癱瘓,

 

 

來源:http://www.codesky.net/article/201208/171298.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM