羣集的含義
Cluster,集羣,羣集
由多臺主機構成,但對外只表現爲一個整體
在互聯網應用中,隨着站點對硬件性能,相應速度,服務穩定性,數據可靠性等要求越來越高,單臺服務器力不從心
解決方法:
使用價格昂貴的小型機,大型機
使用普通服務器構建服務羣集
企業羣集分類
根據羣集所針對的目標差異,可分爲三種類型
負載均衡羣集
高可用羣集
高性能運算羣集
負載均衡羣集
以提高應用系統的響應能力,儘可能處理更多的訪問請求,減少延遲爲目標,獲得高併發,高負載LB)的整體性能
LB的負載分配依賴於主節點的分流算法
高可用羣集
以提高應用系統的可靠性,儘可能的減少中斷時間爲目標,確保服務的連續性,達到高可用(HA)的容錯效果
HA的工作方式包括雙工和主從兩種模式
高性能運算羣集
以提高應用系統的CPU運算速度,擴展資源和分析能力爲目標,獲得相當於大型,超級計算機的高性能運算(HPC)能力
高性能運算羣集的高性能依賴於“分佈式運算”,“並行計算”,通過專用硬件和軟件將多個服務器的CPU,內存等資源整合在一起,實現只有大型,超級計算機才具備的計算能力
負載均衡羣集工作模式分析
負載均衡羣集是目前企業用的最多的羣集類型
羣集的負載調度技術有三種工作模式:
地址轉換
IP隧道
直接路由
NAT模式
地址轉換:
簡稱NAT模式,類似於防火牆的私有網絡結構,負載調度器作爲所有服務器節點的網關,即作爲客戶機的訪問入口,也是各節點回應客戶機的訪問出口
服務器節點使用私有IP地址,與負載調度器位於同一個物理網絡,安全性要優於其他兩種方式
TUN模式
DR模式
負載均衡羣集結構
負載均衡的結構:
第一層,負載調度器
第二層,服務器池
第三層,共享服務
關於LVS虛擬服務器
確認內核對LVS的支持:
modprobe ip_vs
cat /proc/net/ip_vs
LVS的負載調度算法
輪詢:
將受到的訪問請求按照順序輪流分配給羣集中的各節點(真實服務器),均等的對待每一臺服務器,而不管服務器實際的連接數和系統負載
加權輪詢:
根據真實服務器的處理能力輪流分配收到的訪問請求,調度器可以自動查詢各節點的負載情況,並動態調整其權重
保證處理能力強的服務器承擔更多的訪問流量
最少連接:
根據真實服務器已建立的連接數進行分配,將收到的請求優先分配給連接數最少的節點
加權最少連接:
在服務器節點的性能差異較大的情況下,可以爲真實服務器自動調整權重
權重較高的節點將承擔更大比例的活動連接負載
使用ipvsadm工具
LVS羣集創建與管理
1,創建虛擬服務器
2,添加,刪除服務器節點
3,查看羣集及節點情況
4,保存負載分配策略
LVS-DR中的ARP問題
在LVS-DR負載均衡集羣中,負載均衡器與節點服務器都要配置相同的VIP地址
在局域網中具有相同的IP地址,勢必會造成各服務器ARP通信的紊亂
當一個ARP廣播發送到LVS-DR羣集時,因爲負載均衡器和節點服務器都是連接到相同的網絡上的,他們都會接受到ARP廣播
此時只有前端的負載均衡器進行響應,其他節點服務器不應該響應ARP廣播
對節點服務器進行處理,使其不響應針對VIP的ARP請求
使用虛接口lo:0承載VIP地址
設置內核參數arp_ignore=1:系統只響應目的IP爲本地IP的ARP請求
路由器收到ARP請求後,將更新ARP表項
原有的VIP對應的Director的MAC地址會被更新爲VIP對應RealServer的MAC地址
keepalived實現原理
keepalived採用vrrp熱備份協議,實現Linux服務器的多機熱備功能
vrrp,虛擬路由冗餘協議,是針對路由器的一種備份解決方案
keepalivd案列講解
keepalived可實現多機熱備,每個熱備組有多臺服務器,最常用的就是雙機熱備
雙機熱備的故障切換是由虛擬IP地址的漂移來實現,適用於各種應用服務器