10月19日 Linux Virtual Server 1

1、Cluster概念

Cluster:集群,為解決某個特定問題將多臺計算機(jī)組合起來形成的單個系統(tǒng)
Linux Cluster類型:
LB:Load Balancing,負(fù)載均衡
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):
分布式存儲:如云盤,文件切成不同的塊,存儲在不同的機(jī)器上,并且互為備份
分布式計算:hadoop,Spark

2、LVS介紹

LVS:Linux Virtual Server,負(fù)載調(diào)度器,集成于內(nèi)核當(dāng)中的ipvs,ipvs工作在prerouting和input之間的一個關(guān)卡,進(jìn)行檢查設(shè)置策略,設(shè)置ipvs時要關(guān)閉iptables策略,不然會有干擾和影響.

cat /boot/config-2.6.32-696.el6.x86_64 |grep -i ipvs

VS: Virtual Server,負(fù)責(zé)調(diào)度
RS: Real Server,負(fù)責(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)
Paste_Image.png

客戶通過Virtual IP Address(虛擬服務(wù)的IP地址)訪問網(wǎng)絡(luò)服務(wù)時,請求報文到達(dá)調(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)這個連接的下一個報文到達(dá)時,從Hash表中可以得到原選定服務(wù)器的地址和端口,進(jìn)行同樣的改寫操作,并將報文傳給原選定的服務(wù)器。當(dāng)來自真實服務(wù)器的響應(yīng)報文經(jīng)過調(diào)度器時,調(diào)度器將報文的源地址和源端口改為Virtual IP Address和相應(yīng)的端口,再把報文發(fā)給用戶。
NAT模式IP包調(diào)度過程

無標(biāo)題.png

圖上的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默認(rèn)模式,應(yīng)用最廣泛,通過為請求報文重新封裝一個MAC首部進(jìn)行轉(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地址,這樣請求只會到達(dá)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)
Paste_Image.png

在VS/DR 中,調(diào)度器根據(jù)各個服務(wù)器的負(fù)載情況,動態(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)度過程

無標(biāo)題1.png

注意:每個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。

無標(biāo)題.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容