集羣的相關概念知識介紹
集羣(Cluster):計算機集羣簡稱集羣是一種計算機系統,它通過一組鬆散集成的計算機軟件和/或硬件連接起來高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一臺計算機。集羣系統中的單個計算機通常稱爲節點,通常通過局域網連接,但也有其它的可能連接方式。集羣計算機通常用來改進單個計算機的計算速度和/或可靠性。一般情況下集羣計算機比單個計算機,比如工作站或超級計算機性能價格比要高得多。一句話概括就是:集羣,爲解決某個特定問題將多臺計算機組合起來形成的單個系統。
系統擴展方式
Scale UP:向上擴展,增強
Scale Out:向外擴展,增加設備,調度分配問題,Cluster
Linux Cluster類型:
LB:Load Balancing,負載均衡
HA:High Availiblity,高可用 SPOF(Single Point Of Failure)
MTBF:Mean Time Between Failure 平均無故障時間
MTTR:Mean Time To Restoration(repari)平均恢復前時間
A=MTBF/(MTBF+MTTR) (0,1):99%,99.5%,99.9%,...
HPC:High-performance computing,高性能計算
分佈式系統:
分佈式存儲:雲盤
分佈式計算:Hadoop,Spark
LB Cluster實現
硬件
F5 Big-IP
Citrix Netscaler
軟件
四層:
lvs, nginx(stream),haproxy(mode tcp)
七層:
http: nginx(http, ngx_http_upstream_module), haproxy(mode http), httpd, ats, perlbal, pound...
Cluster相關
會話保持:負載均衡
1、session sticky:同一用戶調度固定服務器
Source IP:LVS sh算法(對某一特定服務而言)
Cookie
2、session replication:每臺服務器擁有使用session
session multicast cluster
3、session server:專門的session服務器
Memcached,Redis
HA集羣實現方案
Keepalived:基於VRRP協議實現
AIS:應用接口規範
heartbeat,cman+rgmanager(RHCS),coresync_pacemaker,...
LVS介紹
LVS:Linux Virtual Server Linux虛擬服務器,負載調度器;集成於內核中,國人:章文嵩製作
官方站點:http://www.linuxvirtualserver.org/
VS:Virtual Server,負責調度
RS:Real Server,負責真正提供服務
L4:四層路由器或交換機
工作原理:VS根據請求報文的目標IP和目標協議及端口將其調度轉發至某RS,根據調度算法來挑選RS
iptables/netfilter:
iptables:用戶空間的管理工具
netfilter:內核空間上的框架
流入:PREROUTING --> INPUT
流出:OUTPUT --> POSTROUTING
轉發:PREROUTING --> FORWARD --> POSTROUTING
DNAT:目標地址轉換;PREROUTING
LVS工作原理
LVS集羣體系結構(官方站點)
LVS配置實現
Ldirectord