CentOS7 Keepalived+LVS 負載均衡 後臺節點健康檢查
CentOS7 安裝Keepalived以及基本配置 這篇文章介紹瞭如何安裝keepalived以及配置虛擬IP實現雙機故障切換。
本文主要介紹 Keepalived+LVS 負載均衡配置與後臺節點健康檢查。
1.安裝LVS
1:下載RPM軟體包 http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26-1.src.rpm
2:安裝 rpm -ivh ipvsadm-1.26-1.src.rpm 包
3:yum install ipvsadm 安裝軟體
4:執行 ipvsadm 看是否有下面輸出說明安裝成功
5:執行命令 lsmod|grep ip_vs 檢查當前載入的核心模組,看是否存在 ip_vs 模組
注 1、只有執行 ipvsadm 以後,才會在核心載入 ip_vs 模組
2.安裝keepalived
2:配置檔案/etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email { [email protected] } notification_email_from [email protected] smtp_server localhost smtp_connect_timeout 30 router_id NodeA } vrrp_instance VI_1 { state MASTER interface eno16777736 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.220 } } virtual_server 192.168.1.220 8080 { delay_loop 6 lb_algo rr lb_kind DR nat_mask 255.255.255.0 persistence_timeout 0 protocol TCP real_server 192.168.1.107 8080 { weight 1 HTTP_GET { url { path /index.jsp digest d654f21f87b7e6900b887f07c19e73fe } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.1.108 8080 { weight 11 HTTP_GET { url { path /index.jsp digest 625eddd79c61cf84c71c0c17448f8093 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
vrrp_instance VI_1 :不在這裡解釋了,看我另外一篇文章,地址在上面。
virtual_server 192.168.1.220 8080 : 這裡配置虛擬伺服器 (192.168.1.220 為虛擬IP, 監聽8080埠)客戶端就訪問這個地址。
delay_loop :健康檢查時間間隔,單位是秒。
lb_algo :負載均衡排程演算法,網際網路應用常使用 wlc 或 rr。
lb_kind :負載均衡轉發規則。一般包括 DR,NAT,TUN3 種,在我的方案中,都使用DR 的方式。
persistence_timeout. :會話保持時間,單位是秒。這個會話是網路7層傳輸協議中的(第三層)會話。比如我們把它設定為60,那麼客戶端60秒內訪問LVS虛擬伺服器的請求都會被轉到到同1個後臺伺服器節點。如果設定為0,那麼每次請求都會根據配置的排程情況進行分發。
轉發協議 protocol. 一般有 tcp 和 udp 兩種。實話說,我還沒嘗試過 udp 協議類的轉發。
real_server 192.168.1.107 8080 : 這裡配置真實伺服器的地址與埠。
weight 1 :權重,不解釋了。一般都是機器效能好的高一些,低的小一些。
HTTP_GET:配置健康檢查
url {
path /index.jsp 健康檢查的頁面
digest 625eddd79c61cf84c71c0c17448f8093 根據頁面計算出的MD5的值,這個值一定不能隨便寫,不然keepliv
}
下面說一下如何計算digest
我的keepalived的安裝目錄在 /usr/local/keepalive/
進入到/usr/local/keepalive/bin
./genhash -s 192.168.1.107 -p 8080 -u /index.jsp
通過上訴命令計算digest 然後寫到配置檔案上就可以了。connect_timeout 5 :連線超時時間
nb_get_retry 3 :重連次數
delay_before_retry 3 :重連間隔時間
connect_port 8080 :檢測埠
3:啟動keepalived
2:也可以直接 /usr/local/keepalive/sbin/keepalived -D 啟動,怎麼啟動都行。
3:啟動成功輸入命令 ps aux | grep keepalived
Keepalived 正常執行時,共啟動 3 個程序,其中一個程序是父程序,負責監控其子程序;一個是 vrrp 子程序;另外一個是 checkers 子程序。
4:也可以檢視日誌:tail -f /var/log/message
5:可以用其它伺服器去ping 192.168.1.220這個虛擬IP,Telnet 8080埠,測試虛擬伺服器是否有問題。
4:配置真實伺服器
說明:一般真實網際網路應用都配置為lb_kind = dr 模式,因為這種模式效率是最高的,缺點就是配置稍微複雜一點,需要配置客戶端。
DR模式原理請參考:http://atong.blog.51cto.com/2393905/1348602
簡單說一下: 假設A為前端負載均衡伺服器, B,C為後端真實伺服器。 A接收到資料包以後,會把資料包的MAC地址改成B的(根據排程演算法,假設發給B伺服器),然後把資料包重新發出去,交換機收到資料包根據MAC地址找到B,把資料包交給B。 這時B會收到資料包,同時驗證請求IP地址,由於資料包裡的IP地址是給A的,所以正常情況下B會丟棄資料包,為了防止這種情況,需要在B機器的迴環網絡卡上配置A的IP地址。並設定ARP壓制。
1:在真實伺服器上執行指令碼檔案
#!/bin/bash
#description : start realserver
VIP=192.168.1.220
/etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
VIP=192.168.1.220 大家只要修改這個地方為虛擬IP即可,別的地方都不需要改。
2:需要對指令碼授權
chmod +x lvs_real.sh
3:如果指令碼是在windows編輯在拷貝過去的會有問題,好像是回車換行符不同導致的。
sed -i 's/\r$//' lvs_real.sh
4:執行指令碼
./lvs_real.sh
5:輸入ifconfig檢視虛擬IP是否已經繫結到迴環網絡卡
6:測試的時候最好先關閉防火牆,免得給自己挖坑。
7:如果想知道當前測試機的訪問請求被轉發到那個伺服器去了,可以在 ipvsadm 命令後帶一個選項,其完整形式為:ipvsadm –lcn | grep 159.226.240.63 (你的IP)。
5.其它健康檢查方式
1:TCP方式檢查
virtual_server 192.168.80.120 8080 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 0
protocol TCP
real_server 192.168.80.129 8080 {
weight 1
TCP_CHECK {
connect_port 8080
connect_timeout 5
}
}
real_server 192.168.80.131 8080 {
weight 1
TCP_CHECK {
connect_port 8080
connect_timeout 5
}
}
}
2:其它方式請參考keepalived提供的配置檔案相關推薦
CentOS7 Keepalived+LVS 負載均衡 後臺節點健康檢查
CentOS7 安裝Keepalived以及基本配置 這篇文章介紹瞭如何安裝keepalived以及配置虛擬IP實現雙機故障切換。 本文主要介紹 Keepalived+LVS 負載均衡配置與後臺節點健康檢查。 1.安裝LVS 1:下載RPM軟體包 http://w
CentOS7.4——LVS負載均衡群集—直接路由模式(LVS-DR)
CentOS7—LVS負載均衡—DR模式LVS負載均衡群集—直接路由模式(LVS-DR)環境:調度服務器一臺:Linux—CentOS7.4IP地址:192.168.80.20Web服務器兩臺:Linux—CentOS7.4IP地址:192.168.80.30(SERVER AA)IP地址:192.168.8
Linux下部署搭建Keepalived+LVS負載均衡實戰
1.1 LVS簡介 LVS(Linux Virtual Server),也就是Linux虛擬伺服器, 是一個自由軟體專案。使用LVS技術要達到的目標是:通過LVS提供的負載均衡技術和Linux作業系統實現一個高效能、高可用的伺服器群集,它具有良好可靠性、可擴充套件性和可
Keepalived+LVS負載均衡雙機備熱
實驗環境 兩臺Keepalived伺服器,三臺提供http服務的節點伺服器 主排程器(192.168.3.4) 從排程器(192.168.3.5) HTTP-1(192.168.3.1) HTTP-2(192.168.3.2) HTTP-3(192.168.3.3) 主
keepalived+lvs+負載均衡的windows實現
關於這方面的文章網上一大堆,但是大部分都是寫keepalived的配置問題,並沒有說明白原理方面的東西,如果配置上稍微有點問題,都不知道問題出在什麼地方,下面我寫下keepalived的常用配置以及lvs的原理、負責均衡的工作原理。1.keepalived和lv
lvs+keepalived實現負載均衡
keepalive 裝載 announce log loopback -s scheduler sad apr LVS簡介: lvs是負載均衡較常用的軟件之一,lvs官方提供了一個命名的約定: vip:虛擬ip地址,縮寫是vip,vip是負載均衡器對外提供服務的ip。 ri
LVS(負載均衡)+keepalived(HA)+Nginx(反向代理)+Web(動靜態網站服務器)
網站服務器 web服務器 虛擬機 帶寬 規模 集群 考慮到LVS和Nginx的缺點(由於LVS采用的是同步請求轉發策略而Nginx采用的是異步轉發策略,結合兩者的缺點:作為負載均衡服務器的Nginx和LVS處理相同的請求時,所有的請求和響應流量都會經過Nginx服務器,但是使用LVS時
手把手教程: CentOS 6.5 LVS + KeepAlived 搭建 負載均衡 高可用 集群
ipvs 管理 bar 10.10 方正 希望 滿足 open chm 為了實現服務的高可用和可擴展,在網上找了幾天的資料,現在終於配置完畢,現將心得公布處理,希望對和我一樣剛入門的菜鳥能有一些幫助。 一、理論知識(原理) 我們不僅要知其然,而且要知其所以然,所以先
LVS(DR) + Keepalived 實現負載均衡
lvs keepalived apacheLVS(DR) + Keepalived 實現負載均衡高可用一、為什麽要使 用負載均衡技術?1、 系統高可用性2、 系統可擴展性3、 負載均衡能力 LVS+keepalived能很好的實現以上的要求,LVS提 供負載均衡,keepalived提供健康檢查,
lvs+keepalived+nginx負載均衡搭建測試
lvs keepalived nginx centos7 ipvsadm 1. 簡介1.1 LVS簡介 LVS(Linux Virtual Server),也就是Linux虛擬服務器, 是一個由章文嵩博士發起的自由軟件項目。使用LVS技術要達到的目標是:通過LVS提供的負載均衡技
CentOS7.4——構建LVS負載均衡群集—地址轉換模式(LVS-NAT)
LVS負載均衡—NAT模式LVS負載均衡群集—地址轉換模式(LVS-NAT)環境:調度服務器一臺:Linux—CentOS7.4IP地址:192.168.80.20(內網)192.168.90.20(外網)Web服務器兩臺:Linux—CentOS7.4IP地址:192.168.80.30(SERVER AA
LVS DR模式負載均衡搭建、keepalived高可用+LVS負載均衡配合
lvs lvs dr模式 lvs負載均衡 keepalived+LVS LVS DR模式搭建 準備:dir(調度器):192.168.188.2rs1:192.168.188.3rs2:192.168.188.6vip:192.168.188.200 安裝ipvsadm yum insta
Keepalived管理LVS負載均衡實戰
Keepalived LVS Linux 負載均衡 眾所周知,早期LVS軟件,需要通過命令行或腳本實現管理,而且沒有針對LVS節點的健康檢查功能。為了解決LVS的這些使用不便問題,Keepalived便誕生。Keepalived服務的三大重要功能 管理VLS負載均衡 實現對LVS集群node
linux,centos7上搭建LVS負載均衡
for rpm -ivh /bin/bash 同步 tab 創建 log BE .rpm 在linux,centos7上搭建LVS負載均衡 實前準備 準備五臺虛擬機 四臺centos7 一臺做調度 一臺做nfs緩存 兩臺做wed群集 一臺windows7 開始逐個配置
CentOS7上部署LVS負載均衡群集之LVS-NAT(地址轉換模式)
local 添加 fig iptable block rip 除了 處理 路由轉發 CentOS7中的LVS負載均衡群集之LVS-NAT(地址轉換模式) 簡介 在當今各種互聯網應用中,隨著站點對硬件性能、響應速度、服務穩定性、數據可靠性等的要求越來越高,單臺服務器將難以承擔
centos7上實現LVS負載均衡群集之NAT轉換模式
基於ip地址 ted 應用 立即生效 iptable 顯示 反饋 輪詢 模式 LVS虛擬服務器 Linux Virtual Server(LVS)是針對 Linux內核開發的一個負載均衡項目,由我國的章文嵩博土在1998年5月創建,官方站點位於http://www.linu
lvs負載均衡的四種模式原理,LVS之DR模型,LVS+keeaplived實現負載均衡,keepalived實現高可用
一,LVS的簡介: Linux virtual system,是由目前阿里著名工程師章文嵩開發的一寬開源的軟體。LVS工作在一臺server上提供Directory(負載均衡器)的功能,它本身並不提供任何服務,只是把特定的請求轉發給對應的realserver(
lvs 負載均衡Centos7
echo 1 > /proc/sys/net/ipv4/ip_forward ipv=/sbin/ipvsadm vip=192.168.1.110 rs1=192.168.1.113 rs2=192.168.1.133 ifconfig eth0:0 down ifconfig eth0:0 $v
LVS+keepalived 實現負載均衡
一、資源規劃 在開始搭建之前,我們首先需要準備和規劃好搭建所需的資源。因為效能等方面的考慮,我們使用當前比較流行的DR模式。 搭建前我們需要了解,搭建環境的機器必須在同一網段內,此次環境搭建需要1個VIP和四臺機器(我這裡使用四臺VM) 具體清單如下: 伺服
Linux CentOs集群LVS負載均衡的實現
mac host 明顯 獲取 輸出 最好 開始 director 沒有 準備工作 環境:Win10下Centos6.4虛擬機。 負載均衡:兩臺(一主一備) LVS + Keepalived。 HTTP服務器:3臺。 給每臺服務器配置IP 1、VIP(virtual ip)