1蓬戚、Cluster概念
Cluster:集群,為解決某個特定問題將多臺計算機組合起來形成的單個系統(tǒng)
Linux Cluster類型:
LB:Load Balancing皮钠,負載均衡
HA:High Availiablity父款,高可用,SPOF(single Point Of failure)
MTBF:MeanTime Between Failure平均無故障時間
MTTR:MeanTime To Restoration(repair)平均恢復(fù)前時間
A=MTBF/(MTBF+MTTR)
(0,1):99%, 99.5%, 99.9%, 99.99%, 99.999%, 99.9999%
分布式系統(tǒng):
分布式存儲:如云盤芥颈,文件切成不同的塊歪玲,存儲在不同的機器上,并且互為備份
分布式計算:hadoop蠢甲,Spark
2僵刮、LVS介紹
LVS:Linux Virtual Server,負載調(diào)度器峡钓,集成于內(nèi)核當(dāng)中的ipvs妓笙,ipvs工作在prerouting和input之間的一個關(guān)卡,進行檢查設(shè)置策略能岩,設(shè)置ipvs時要關(guān)閉iptables策略寞宫,不然會有干擾和影響.
cat /boot/config-2.6.32-696.el6.x86_64 |grep -i ipvs
VS: Virtual Server,負責(zé)調(diào)度
RS: Real Server拉鹃,負責(zé)真正提供服務(wù)
L4:支持四層調(diào)度辈赋,不支持應(yīng)用層,只能根據(jù)傳輸層以下的協(xié)議調(diào)度
工作原理:VS根據(jù)請求報文的目標(biāo)IP和目標(biāo)協(xié)議及端口將其調(diào)度轉(zhuǎn)發(fā)至某RS膏燕,根據(jù)調(diào)度算法來挑選RS
3钥屈、lvs集群類型中的術(shù)語
VS:Virtual Server, Director, Dispatcher(調(diào)度器)
Load Balancer
RS:Real Server(lvs), upstream server(nginx)
backend server(haproxy)
CIP:Client IP
VIP: Virtual server IP VS外網(wǎng)的IP
DIP: Director IP VS內(nèi)網(wǎng)的IP
在director的網(wǎng)卡上有兩個ip,一個是公網(wǎng)的ip坝辫,一個是私網(wǎng)的ip篷就,公網(wǎng)的ip就是VIP,私網(wǎng)的ip是DIP近忙,一般只有一個網(wǎng)卡竭业,VIP是DIP的別名。
RIP: Real server IP
訪問流程:CIP <--> VIP == DIP <--> RIP
4及舍、lvs集群的類型
lvs: ipvsadm/ipvs
ipvsadm:用戶空間的命令行工具未辆,規(guī)則管理器,用于管理集群服務(wù)及RealServer
ipvs:工作于內(nèi)核空間netfilter的INPUT鉤子上的框架
lvs集群的類型:
lvs-nat:修改請求報文的目標(biāo)IP,多目標(biāo)IP的DNAT
lvs-dr:操縱封裝新的MAC地址
lvs-tun:在原請求IP報文之外新加一個IP首部
lvs-fullnat:修改請求報文的源和目標(biāo)IP
5锯玛、lvs-nat模式
- 本質(zhì)是多目標(biāo)IP的DNAT咐柜,通過將請求報文中的目標(biāo)地址和目標(biāo)端口修改為某挑出的RS的RIP和PORT實現(xiàn)轉(zhuǎn)發(fā)
(1)RIP和DIP可以在同一個IP網(wǎng)絡(luò)兼蜈,且應(yīng)該使用私網(wǎng)地址,RS的網(wǎng)關(guān)要指向DIP拙友,RIP和DIP一般在一個網(wǎng)絡(luò)里为狸,也可以不在,中間也可以加路由器遗契,只要設(shè)置好路由就可以了钥平,如果有路由器,RS就指向路由器的網(wǎng)關(guān)
(2)請求報文和響應(yīng)報文都必須經(jīng)由Director轉(zhuǎn)發(fā)姊途,Director易于成為系統(tǒng)瓶頸
(3)支持端口映射,可修改請求報文的目標(biāo)PORT
(4)VS必須是Linux系統(tǒng)知态,RS可以是任意OS系統(tǒng) - VS/NAT的體系結(jié)構(gòu)
客戶通過Virtual IP Address(虛擬服務(wù)的IP地址)訪問網(wǎng)絡(luò)服務(wù)時捷兰,請求報文到達調(diào)度器,調(diào)度器根據(jù)連接調(diào)度算法從一組真實服務(wù)器中選出一臺服務(wù)器负敏,將報文的目標(biāo)地址 Virtual IP Address改寫成選定服務(wù)器的地址贡茅,報文的目標(biāo)端口改寫成選定服務(wù)器的相應(yīng)端口,最后將修改后的報文發(fā)送給選出的服務(wù)器其做。同時顶考,調(diào)度器在Hash 表中記錄這個連接,當(dāng)這個連接的下一個報文到達時妖泄,從Hash表中可以得到原選定服務(wù)器的地址和端口驹沿,進行同樣的改寫操作,并將報文傳給原選定的服務(wù)器蹈胡。當(dāng)來自真實服務(wù)器的響應(yīng)報文經(jīng)過調(diào)度器時渊季,調(diào)度器將報文的源地址和源端口改為Virtual IP Address和相應(yīng)的端口,再把報文發(fā)給用戶罚渐。
NAT模式IP包調(diào)度過程
圖上的VIP和DIP的網(wǎng)卡是分開的却汉,實際上可能只有一塊網(wǎng)卡,配置兩個IP荷并。外網(wǎng)的IP為VIP合砂,內(nèi)網(wǎng)的IP為DIP
6、LVS-DR模式
- LVS-DR:Direct Routing源织,直接路由翩伪,LVS默認模式,應(yīng)用最廣泛,通過為請求報文重新封裝一個MAC首部進行轉(zhuǎn)發(fā),源MAC是DIP所在接口的MAC雀鹃,目標(biāo)MAC是某挑選出的RS的RIP所在接口的MAC地址幻工;源IP/PORT,以及目標(biāo)IP/PORT均保持不變
- Director和各RS都配置有VIP
(1) 確保前端路由器將目標(biāo)IP為VIP的請求報文發(fā)往Director黎茎,有三種方式
①在前端網(wǎng)關(guān)做靜態(tài)綁定VIP和Director的MAC地址囊颅,也就是在路由器的路由表里設(shè)置好,VIP的MAC地址為Director的MAC地址,這樣請求只會到達Director踢代,但這種方法有局限性盲憎,如果前端路由器是小區(qū)電信的路由器,你根本沒有權(quán)限去修改胳挎,Director一般只有一塊網(wǎng)卡饼疙,也就是只有一個MAC地址,但有兩個ip慕爬,VIP和DIP窑眯,一般VIP是DIP的別名。
②在RS上使用arptables工具
arptables-A IN -d $VIP -j DROP
arptables-A OUT -s $VIP -j mangle --mangle-ip-s $RIP
③在RS上修改內(nèi)核參數(shù)以限制arp通告及應(yīng)答級別医窿,這種方法最實用
arp_announce
arp_ignore
(2) RS的RIP可以使用私網(wǎng)地址磅甩,也可以是公網(wǎng)地址;RIP與DIP在同一IP網(wǎng)絡(luò)姥卢;RIP的網(wǎng)關(guān)不能指向DIP卷要,以確保響應(yīng)報文不會經(jīng)由Director,Director有兩個ip
(3) RS和Director要在同一個物理網(wǎng)絡(luò)
(4) 請求報文要經(jīng)由Director独榴,但響應(yīng)報文不經(jīng)由Director僧叉,而由RS直接發(fā)往Client
(5) 不支持端口映射(端口不能修敗)
(6) RS可使用大多數(shù)OS系統(tǒng) - VS/DR體系結(jié)構(gòu)
在VS/DR 中棺榔,調(diào)度器根據(jù)各個服務(wù)器的負載情況瓶堕,動態(tài)地選擇一臺服務(wù)器,不修改也不封裝IP報文掷豺,而是將數(shù)據(jù)幀的MAC地址改為選出服務(wù)器的MAC地址捞烟,再將修改后的數(shù)據(jù)幀在與服務(wù)器組的局域網(wǎng)上發(fā)送。因為數(shù)據(jù)幀的MAC地址是選出的服務(wù)器当船,所以服務(wù)器肯定可以收到這個數(shù)據(jù)幀题画,從中可以獲得該IP報文。當(dāng)服務(wù)器發(fā)現(xiàn)報文的目標(biāo)地址VIP是在本地的網(wǎng)絡(luò)設(shè)備上德频,服務(wù)器處理這個報文苍息,然后根據(jù)路由表將響應(yīng)報文直接返回給客戶。
DR模式IP包調(diào)度過程
注意:每個RS上都有同樣的ip地址VIP,但因為MAC地址不同,LVS調(diào)度器通過將目標(biāo)的MAC地址轉(zhuǎn)化為不同的MAC地址娘荡,從而調(diào)度到不同的VS真實服務(wù)器上,因為客戶端訪問時源地址是CIP目標(biāo)地址是VIP盖喷,VS服務(wù)器回應(yīng)時源地址是VIP目標(biāo)地址是CIP,就可以不經(jīng)過LVS 調(diào)度器难咕,而直接返回給客戶端课梳,從而減輕LVS調(diào)度器的壓力距辆。LVS調(diào)度器在這里稱為director。