負載均衡LVS Keepalived httpd

2021-10-01 15:49:56 字數 3626 閱讀 4491

keepalived的作用是檢測伺服器的狀態,如果有一台web伺服器宕機,或工作出現故障,keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後keepalived自動將伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的伺服器。

2、keepalived的工作原理

keepalived是以vrrp協議為基礎實現的

vrrp(virtual router redundancy protocol),即虛擬路由冗餘協議。vrrp是一種 主備模式 的協議,可以認為是實現路由器高可用的協議,即將n臺提供相同功能的路由器組成乙個虛擬路由器組,這個組裡面有 乙個master和多個backup,master上面有乙個對外提供服務的vip(該路由器所在區域網內其他機器的預設路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就會根據vrrp的優先順序來選舉乙個backup當master。通過vrrp可以在網路發生故障時透明的進行裝置切換而不影響主機之間的資料通訊,可保證路由器的高可用。

3、keepalived高可用故障切換轉移原理

在 keepalived服務正常工作時,主 master節點會不斷地向備節點傳送(多播的方式)心跳訊息,用以告訴備backup節點自己還活看,當主 master節點發生故障時,就無法傳送心跳訊息,備節點也就因此無法繼續檢測到來自主 master節點的心跳了,於是呼叫自身的接管程式,接管主master節點的 ip資源及服務。當主 master節點恢復時,備backup節點又會釋放主節點故障時自身接管的ip資源及服務,恢復到原來的備用角色。

1,接著上篇的實驗配置server1

keepalived自帶健康檢查,所以不需要ldirectord來健康檢查

tar zxf keepalived-2.0.6.tar.gz #解壓

cd keepalived-2.0.6

yum install gcc openssl-devel -y #解決依賴性

./configure --prefix=/usr/local/keepalived --with-init=systemd #原始碼編譯

make

&&make

install

#安裝cd /usr/local/keepalived/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/keepalived/sbin/keepalived /sbin/

ln -s /usr/local/keepalived/etc/keepalived /etc/

vim /etc/keepalived/keepalived.conf  修改配置檔案

global_defs

notification_email_from keepalived@localhost ##傳送人名稱

smtp_server 127.0.0.1 ##傳送伺服器(本機)

smtp_connect_timeout 30

router_id lvs_devel

vrrp_skip_check_adv_addr

#vrrp_strict ##注釋

vrrp_garp_interval 0

vrrp_gna_interval 0

}vrrp_instance vi_1

virtual_ipaddress

}virtual_server 172.25.88.100 80

} real_server 172.25.88.3 80 }}

systemctl start keepalived #開啟服務

systemctl status keepalived #檢視狀態

systemctl start ipvsadm.service #開啟服務,正確

systemctl status ipvsadm.service #再次檢視服務的狀態

ipvsadm -ln #檢視

2,重新配置一台server4

tar zxf keepalived-2.0.6.tar.gz  #解壓 

cd keepalived-2.0.6

yum install gcc openssl-devel -y #解決依賴性

./configure --prefix=/usr/local/keepalived --with-init=systemd #原始碼編譯

make

&&make

install

#安裝cd /usr/local/keepalived/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/keepalived/sbin/keepalived /sbin/

ln -s /usr/local/keepalived/etc/keepalived /etc/

vim /etc/keepalived/keepalived.conf  修改配置檔案

global_defs

notification_email_from keepalived@localhost ##傳送人名稱

smtp_server 127.0.0.1 ##傳送伺服器(本機)

smtp_connect_timeout 30

router_id lvs_devel

vrrp_skip_check_adv_addr

#vrrp_strict ##注釋

vrrp_garp_interval 0

vrrp_gna_interval 0

}vrrp_instance vi_1

virtual_ipaddress

}virtual_server 172.25.88.100 80

} real_server 172.25.88.3 80 }}

systemctl start keepalived

systemctl status keepalived

yum install ipvsadm.x86_64 -y

systemctl start ipvsadm.service #開啟服務,正確

systemctl status ipvsadm.service #再次檢視服務的狀態

3,server2,server3配置

arptables 服務已經配置

arptables -nl #檢視訪問規則

4,真機測試

重啟server1的時候檢視server4上的ip

server4自動新增ip172。25.88.100

curl 172.25.88.100

server2和server3輪詢

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

軟負載均衡和F5負載均衡(硬負載均衡)區別

分割線,以下是原文內容 負載均衡 建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件 網路裝置 和伺服器 的頻寬 增加 吞吐量 加強網路資料處理能力 提高網路的靈活性和可用性。負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web 伺服器 ftp...

負載均衡(一)為什麼需要負載均衡

通常我們專案開發都是在tomcat上完成的,當然這樣是有優點的,比如就是開發簡單,部署簡單,但是單個的tomcat有時候有時候就會有問題,它的容量有峰值,大概在300之間,可以用測試軟體jemeter進行壓力測試。而且如果tomcat出現問題的話,那麼整個專案就會出現故障,這是不可容忍的 單點故障,...