日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LVS+Keepalive 实现负载均衡高可用集群

發布時間:2024/9/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LVS+Keepalive 实现负载均衡高可用集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、LVS 介紹

? ? ? ? 目前LVS已經被集成到Linux內核模塊中。LVS是Linux Virtual Server的簡稱,也就是Linux虛擬服務器,該項目在Linux內核中實現了基于IP的數據請求負載均衡調度方案,終端互聯網用戶從外部訪問公司的外部負載均衡服務器,終端用戶的Web請求會發送給LVS調度器,調度器根據自己預設的算法決定將該請求發送給后端的某臺Web服務器,比如,輪詢算法可以將外部的請求平均分發給后端的所有服務器,終端用戶訪問LVS調度器雖然會被轉發到后端真實的服務器,但如果真實服務器連接的是相同的存儲,提供的服務也是相同的服務,最終用戶不管是訪問哪臺真實服務器,得到的服務內容都是一樣的,整個集群對用戶而言都是透明的。最后根據LVS工作模式的不同,真實服務器會選擇不同的方式將用戶需要的數據發送到終端用戶,LVS工作模式分為NAT模式、TUN模式、以及DR模式。

二、LVS集群搭建

(1)環境搭建:client --> DR -->RS --client

LVS無需安裝

安裝的是管理工具,第一種叫ipvsadm,第二種叫keepalive

ipvsadm是通過命令行管理,而keepalive讀取配置文件管理

主機名主機IP備注
server1172.25.1.1

1.這里使用的是redhat7.6系統

2.防火墻和selinux都關閉

3.server2、3的作為RS機子http訪問結果為主機名

4.server1 作為DR機 下載ipvsam

5.server1 添加虛擬ip地址(VIP)

172.25.1.100

server2172.25.1.2
server3172.25.1.3
server4172.25.1.4

?(2)安裝ipvsam管理工具

yum install ipvsadm -y

?(3)?在server1 eth0網卡綁定VIP地址(高可用)

ip addr add 172.25.1.100/24 dev eth0

(4) 添加虛擬服務以及將其關聯到真實服務器上去

ipvsadm -A -t 172.25.1.100:80 -s rr # 添加虛擬服務 ipvsadm -a -t 172.25.1.100:80 -r 172.25.1.2:80 -g #將虛擬服務關聯到真實服務上 ipvsadm -a -t 172.25.1.100:80 -r 172.25.1.3:80 -g#LVS默認無80端口,需另外添加新的虛擬IP記錄

(5)?查看配置結果

(6)web服務器配置

給兩臺服務器上的網卡綁定VIP地址

[root@server2 ~]# ip addr add 172.25.1.100/32 dev eth0 [root@server3 ~]# ip addr add 172.25.1.100/32 dev eth0

抑制ARP響應(noarp)

作用使得

yum install arptables.x86_64 -y [root@server2 html]# arptables -A INPUT -d 172.25.1.100 -j DROP [root@server2 html]# arptables -A OUTPUT -s 172.25.1.100 -j mangle --mangle-ip-s 172.25.1.2[root@server3 html]# arptables -A INPUT -d 172.25.1.100 -j DROP [root@server3 html]# arptables -A OUTPUT -s 172.25.1.100 -j mangle --mangle-ip-s 172.25.1.3

查看策略?

實驗效果:實現負載均衡

arp解析查看?

arp詳解
01.ARP協議,全稱"Address Resolut ion Protocol",中文名是地址解析協議,使用ARP協議可實現通過IP地址獲得對應主機的物理地址(MAC地址)

?ARP協議要求通信的主機雙方必須在同一個物理網段(即局域網環境)!

02.為了提高IP轉換MAC的效率,系統會將解析結果保存下來,這個結果叫做ARP緩存

三、LVS集群的工作模式

DR直接路由模式

client --> DR -->RS --client

DR模式是通過改寫請求報文的目標MAC地址,將請求發送給真實服務器的,而真實服務器響應后的處理結果直接返回給客戶端用戶。

DR技術可極大地提高集群系統的伸縮性,但要求調度器與真實服務器RS都有一塊物理網卡連在同一物理網段上,即必須在同一局域網(VLAN)環境。

NAT模式

client --> vs --> rs --> vs --> client

通過網絡地址轉換,調度器重寫請求報文的目標地址,根據預設的調度算法,將請求分派給后端的真實服務器,真實服務器的響應報文處理之后,返回時必須通過調度器,經過調度器時報文的源地址被重寫,再返回給客戶,完成整個副在調度過程。

TUN 工作模式(隧道工作模式)

客戶請求包封裝在一個IP tunnel里面,然后發送給RS節點服務器,節點服務器接收到之后解開IP tunnel后,進行響應處理。并且直接把包通過自己的外網地址發送給客戶不用經過LB服務器
不足:

1、RS配置復雜(IPIP模塊)
2、RS上綁定VIP,風險比較大

FULLNAT(系統不自帶)

LVS的DR和NAT模式要求RS和LVS在同一VLAN 中,導致部署成本過高,TUNNEL模式雖然可以跨vlan,但RealServer 上需要部署ipip隧道模塊等,網絡拓撲上需要連通外網,教為復雜,不易運維,

為解決上述問題,開發出FULLNAT,該模式和NAT模式的區別是:數據包進入時,除了做DNAT,還做SNAT(用戶ip-->內網ip),從而實現lvs-真實服務器之間可以跨vlan通訊,真實服務器需要連接內網。類似于地鐵站多個閘機。

四、Keepalive+LVS實現

Keepalived 一方面具有配置管理LVS的功能,同時還具有對LVS下面節點進行健康檢查的功能,另一方面也可實現系統網絡服務的高可用功能。

(1)在server1和server4上安裝Keepalive?

[root@server1 ~]# yum install keepalived -y [root@server4 ~]# yum install ipvsadm keepalived -y

(2)編寫keepalived.conf配置文件

server1

! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from keepalive@localhostsmtp_server 127.0.0.1 smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0 }vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.1.100} }virtual_server 172.25.1.100 80 {delay_loop 6lb_algo rrlb_kind DR#persistence_timeout 50protocol TCPreal_server 172.25.1.2 80 {weight 1TCP_CHECK{connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 172.25.1.3 80 {weight 1TCP_CHECK{connect_timeout 3nb_get_retry 3delay_before_retry 3}} }

server4

(3)開啟keepalived服務

systemctl start keepalived.service

查看vip

查看LVS狀態

?keepalive健康檢查功能

delay_loop 隔多長時間做一次健康檢測,單位為秒?

connect_timeout ?連接超時時間,單位為秒

nb_get_retry ?檢測失敗后的重試次數,如果達到重試次數仍然失敗,將后端從服務器池中移除。

delay_before_retry ?失敗重試的間隔時間,單位為秒

測試:

注意:因為虛擬的ip重啟之后就會失效,故須加入開機啟動項rc.local文件并賦予其可執行權限

?

?

?

?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的LVS+Keepalive 实现负载均衡高可用集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。