一、群集的簡介

龍天道酬發表於2020-10-24

一、群集

1.概述

Cluster,群集,叢集
由多臺主機構成,但對外只表現為一個整體

表示一群,一串的意思,用在伺服器領域則表示大量伺服器的集合體,以區分於單個伺服器。

2.群集分類
負載均衡群集
高可用群集
高效能運算群集

2.1:負載均衡群集(Load Balance Cluster)

以提高應用系統的響應能力、儘可能處理更多的訪問請求、減少延遲為目標,獲得高併發、高負載(LB)的整體效能
LB的負載分配依賴於主節點的分流演算法,分流演算法即排程

2.2:高可用群集(High Availability Cluster)

以提高應用系統的可靠性、儘可能地減少中斷時間為目標,確保服務的連續性,達到高可用(HA)的容錯效果
HA的工作方式包括雙工和主從兩種模式
雙工,兩個平級狀態的協同工作,隨時頂替對方
帶有主從模式的,一臺主,多臺從,稱為中心化群集
去中心化機制:沒有真正的主,如果有,也是象徵意義的,所有節點都幹活(Redis的群集就是典型去中心化機制)

2.3:高效能運算群集(High Performance Computer Cluster)

以提高應用系統的CPU運算速度、擴充套件硬體資源和分析能力為目標,獲得相當於大型、超級計算機的高效能運算(HPC)能力
高效能運算群集的髙效能依賴於“分散式運算″、“平行計算”,通過專用硬體和軟體將多個伺服器的CPU、記憶體等資源整合在一起,實現只有大型、超級計算機才具備的計算能力

二、負載均衡群集(Load Balance Cluster)**

1、特點
以提高應用系統的響應能力、儘可能處理更多的訪問請求、減少延遲為目標,獲得高併發、高負載(LB)的整體效能。
LB的負載分配依賴於主節點的分流演算法

2、負載均衡的架構
前端至少有一個負載排程器負責響應併發來自客戶機的訪問請求;
後端由大量真實伺服器構成伺服器池,提供實際的應用服務,整個群集的伸縮性通過增加、刪除伺服器節點來完成,而這些過程對客戶機是透明的;為了保持服務的一致性,所以節點使用共享儲存裝置。

第一層:負載排程器
第二層:伺服器池
第三層:共享儲存

3.負載均衡的工作模式
3.1、地址轉換(Network Address Translation),簡稱 NAT模式;
類似於防火牆的私有網路結構,負責排程器作為所有伺服器節點的閘道器,即作為客戶機的訪問入口,也是各節點回應客戶機的訪問出口。
伺服器節點使用私有IP地址,與負載排程器位於同一物理網路,安全性要優於其他兩種方式

3.2、IP隧道(IP Tunnel)簡稱 TUN模式;採用開放式的網路結構,負載排程器僅作為客戶機的訪問入口,各節點通過各自的Internet連線直接回應客戶機,而不再經過負載排程器;伺服器節點分散在網際網路中的不同位置,具有獨立的公網IP地址,通過專用ip隧道與負載排程器相互通訊

3.3、直接路由(Direct Routing)簡稱 DR模式;採用半開放式的網路結構,與TUN模式的結構類似,但各節點並不是分散在各地,而是與排程器位於同一物理網路;負載排程器與各節點伺服器通過本地網路連線,不需要建立專用的IP隧道。

三、LVS虛擬伺服器

LVS是針對 Linux 核心開發的一個負載均衡專案,它實際上相當於基於IP地址的虛擬化應用,為基於IP地址和內容請求分發的負載均衡提出了一種高效的解決方法;LVS現在已成為 Linux核心的一部分,預設編譯為 ip_vs 模組,必要時能夠自動呼叫。**

1.針對不同的網路服務和配置需求,LVS排程器提供多種不同的負載排程演算法,分類
1.1、輪詢(Round Robin):將收到的請求按照順序輪流分配給群集中的各節點(真實伺服器),均等地對待每一臺伺服器,而不管伺服器實際的連線數和系統負載。

1.2、加權輪詢(Weighted Round Robin):根據排程器設定的權重值來分發請求,權重值高的節點優先獲得任務,分配的請求數越多;保證效能強的伺服器承擔更多的訪問流量。

1.3、最少連線(Least Connections):根據真實伺服器已建立的連線數進行分配,將收到的訪問請求優先分配給連線數最少的節點。

1.4、加權最少連線(Weighted Least Connections):在伺服器節點的效能差異較大時,可以為真實伺服器自動調整權重;效能較高的節點將承擔更大比例的活動連線負載。

2.使用 ipvsadm 工具
ipvsadm 是在負載排程器上使用的 LVS 群集管理工具,通過呼叫 ip_vs 模組來新增、刪除伺服器節點,以及檢視群集的執行狀態

3.關於 ipvsadm 工具命令的用法
3.1、建立虛擬伺服器
例:ipvsadm -A -t 172.16.16.172:80 -s rr
(群集的VIP地址為 172.16.16.172 ,針對 TCP 80埠提供負載分流服務,使用排程演算法為輪詢;選項 -A 表示新增虛擬伺服器,-t 用來指定VIP地址及TCP埠,-s 用來指定負載排程演算法(輪詢 rr ;加權輪詢 wrr ;最少連線 lc ;加權最少連線 wlc)

3.2、新增伺服器節點
例:ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m -w 1
(虛擬伺服器 172.16.16.172 新增節點;選項 -a 新增真實伺服器, -t 用來指定VIP地址及TCP埠, -r 用來指定RIP地址及TCP埠, -m 表示使用 NAT模式(-g DR模式、 -i TUN模式), -w 用來設定權重(權重為0時表示暫停節點))

3.3、檢視群集節點狀態
例:ipvsadm -ln
(選項 -l 可以列表檢視LVS虛擬伺服器,可以指定只檢視某一個VIP地址(預設檢視所有),結合選項 -n 將以數字形式顯示地址、埠等資訊)

3.4、刪除伺服器節點
例:ipvsadm -d -r 192.168.7.24:80 -t 172.16.16.172:80
(刪除LVS群集 172.16.16.172中的節點 192.168.7.24 ; 需要從伺服器池中刪除某一個節點時,使用選項 -d 。執行刪除操作必須指定目標物件,包括節點地址、虛擬IP地址。需要刪除整個虛擬伺服器時,使用選項 -D 並指定 虛擬IP地址,無需指定節點。)

例:ipvsadm -D -t 172.16.16.172:80
(刪除此虛擬伺服器)

3.5、儲存負載分配策略
例:ipvsadm-save > /etc/sysconfig/ipvsadm :儲存策略
(ipvsadm-restore 表示恢復策略)

例:service ipvsadm save :儲存策略

例:service ipvsadm stop :停止服務(清除策略)
[確定]
[確定]

例:service ipvsadm start :啟動服務(重建規則)
[確定]
[確定]

例: cat /etc/sysconfig/ipvsadm :確認儲存結果

相關文章