LVS: lvs是一個負載調度器,由內核集成,性能強大,支持百萬計併發。 LVS集群的相關概念: VS:虛擬伺服器,指LVS伺服器自身 RS:提供服務的伺服器 CIP:客戶端ip地址 VIP:lvs伺服器對外發佈的ip地址,用戶通過vip訪問集群 DIP:LVS連內網的ip地址叫DIP,用於接收用戶 ...
LVS:
lvs是一個負載調度器,由內核集成,性能強大,支持百萬計併發。
LVS集群的相關概念:
-
VS:虛擬伺服器,指LVS伺服器自身
-
RS:提供服務的伺服器
-
CIP:客戶端ip地址
-
VIP:lvs伺服器對外發佈的ip地址,用戶通過vip訪問集群
-
DIP:LVS連內網的ip地址叫DIP,用於接收用戶請求的ip叫做VIP
用戶訪問流程:
客戶端通過 CIP--->VIP--->DIP---->RIP
LVS的四種工作模式:
-
lvs-nat:修改請求報文的目標IP,多目標IP的DNAT
-
lvs-dr:操縱封裝新的MAC地址
-
lvs-tun:在原請求IP報文之外新加一個IP首部
-
lvs-fullnat:修改請求報文的源和目標IP
LVS的NAT工作模式:
NAT:
NAT:網路地址轉發,NAT分為SNAT和DNAT
-
SNAT:內部網路的報文發送出去時,報文的源IP會被修改,也就是源地址轉換
-
DNAT:外部網路的報文響應時,響應報文的目標IP會再次被修改,也就是目標地址轉換
區別:外網向內網發起請求就是DNAT,內網向外網發送請求就是SNAT
LVS-NAT:
lvs-nat:本質是多目標IP的DNAT,轉發的ip和埠可以映射到不同的機器上。
工作流程:
發送報文請求時:CIP發送請求報文到VIP,通過lvs的DIP發送請求出去的時候將目標ip和port更改為內部網路的某一個rs的RIP。
回應報文請求時:RIP發送響應報文的時候,源地址和埠是自身的信息,經過lvs的時候,lvs的VIP將源ip和埠替換為自己的,最後發送給CIP
說明:
-
RIP和DIP要位於同一網路
-
響應報文需要原路返回會造成lvs負載加大
-
VS必須是linux系統,RS可以是任意系統
LVS的DR工作模式
DR:Direct Routing,直接路由,LVS的預設模式,不更改報文的埠和ip信息,而是通過為請求報文重新封裝一個MAC地址進行轉發。
工作流程:
CIP通過VIP發送請求給lvs的時候,請求報文的源MAC改為lsv的DIP網卡的MAC地址,目標MAC是區域網中選擇的一RS的RIP地址,因為每個RS上都有一個VIP,所有VIP都一樣,所以RS就可以直接通過VIP將響應報文發送給CIP
說明:
-
RS都有一個和lvs相同的VIP
-
需要確保CIP向VIP發送請求的時候是發送給lvs(因為每個rs都有和lvs一樣的vip)
-
RS的RIP可以使用私網地址,也可以是公網地址;RIP與DIP在同一IP網路;RIP的網關不能指向DIP,以確保響應報文不會經由Director
-
lvs和rs需要處於同一個物理網路
確保CIP向VIP發送請求報文的時候發送給lvs的方法:
方法一:在路由器上配置arp綁定。設置ip和mac得靜態綁定,查詢到對應得mac,就把對應得mac解析為ip。
方法二:關閉RS得arp應答功能,請求報文要經由Director(lvs伺服器),但響應報文不經由Director,而由RS直接發往Client
arp特殊報文:免費arp,用來探測網路中是否存在地址衝突。
arp響應和主動訊問:
響應:當接收到arp報文的時候,主機會進行回應,通過ip地址得到mac地址
主動訊問:主機會主動向外告訴別人自己的ip對應的mac地址
通過更改RS的內核參數實現:
#將VIP綁定在迴環網卡上,通過設置內核的參數實現不響應arp報文和靜默模式。
#不響應arp的免費報文
[root@data_server ~]# cat /proc/sys/net/ipv4/conf/lo/arp_ignore
0
#是否開啟靜默
[root@data_server ~]# cat /proc/sys/net/ipv4/conf/lo/arp_announce
0
LVS的TUN模式
相當於可以不處於同一物理網路的DR模式
工作流程:
不修改報文的原ip信息,而是在加一個IP首部(源:DIP,目標:RIP),RS處理完請求以後直接發送給CIP。因為TUN的RS上也是有VIP。
特點:
-
RIP和DIP可以不處於同一物理網路中,RS的網關一般不能指向DIP,且RIP可以和公網通信。也就是說集群節點可以跨互聯網實現。DIP, VIP, RIP可以是公網地址
-
RS的操作系統需要支持隧道功能
LVS的FULLNAT模式:
工作流程:
通過同時修改請求報文的源IP地址和目標IP地址進行轉發,請求報文通過CIP訪問lvs的時候,將源地址由CIP替換為DIP,目標地址替換為RIP,RS的響應報文園路返回。
NAT模式只會修改目標地址
特點:
-
VIP是公網地址,RIP和DIP是私網地址,且通常不在同一IP網路;因此,RIP的網關一般不會指向DIP
-
RS收到的請求報文源地址是DIP,因此,只需響應給DIP;但Director(lvs伺服器)還要將其發往Client
-
請求和響應報文都經由Director(lvs伺服器),支持埠映射
註意:此類型kernel預設不支持,需要修改內核代碼才可以實現。
LVS四種工作模式的比較:
-
NAT:DIP與RIP在同一IP網路;RIP的網關要指向DIP,以確保響應報文經Director(lvs伺服器)
-
DR:DIP與RIP在同一IP網路;RIP的網關不能指向DIP,以確保響應報文不會經Director(速度最快、效率最高。)
-
TUN:RIP和DIP可以不處於同一物理網路中,RS的網關一般不能指向DIP,且RIP可以和公網通信。
-
FULLNAT:RIP和DIP未必在同一IP網路,但要能通信