Keepalived+LVS-DR+Nginx高可用故障切換模式
LVS架構中,不管是NAT模式還是DR模式,當後端的RS宕掉後,排程器依然會把請求轉發到宕掉的RS上,這樣的結果並不是我們想要的。其實,keepalived就可以解決問題,它不僅僅有高可用的功能,還有負載均衡。也就是說keepalived已經嵌入了LVS功能,完整的keepalived+LVS架構需要有兩臺排程器實現高可用,提供排程器的只需要一臺,另外一臺作為備用。LVS架構模式瞭解:【Linux】虛擬伺服器之LVS
準備:
1,四臺伺服器或虛擬機器:
主keepalived(排程器):192.168.243.133 (keepalived和ipvsadm)
從keepalived(排程器):192.168.243.134 (keepalived和ipvsadm)
- 真實伺服器rs1:192.168.243.135 (nginx)
- 真實伺服器rs2:192.168.243.136 (nginx)
- VIP:192.168.243.100
yum install -y ipvsadm
vi /usr/local/keepalived-1.3.4/etc/keepalived/keepalived.conf
這是配置檔案裡面的一些內容:
vrrp_instance VI_1 { #備用伺服器上為 BACKUP state MASTER #繫結vip的網絡卡為ens33,根據自己的伺服器來設定 interface ens33 virtual_router_id 51 #備用伺服器上為90 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.243.100 } } virtual_server 192.168.243.100 80 { #(每隔10秒查詢realserver狀態) delay_loop 10 #(lvs 演算法) lb_algo rr #(DR模式) lb_kind DR #(同一IP的連線60秒內被分配到同一臺realserver) persistence_timeout 60 #(用TCP協議檢查realserver狀態) protocol TCP #真實伺服器(nginx) real_server 192.168.243.135 80 { #(權重) weight 100 TCP_CHECK { #(10秒無響應超時) connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } #真實伺服器(nginx) real_server 192.168.243.136 80 { weight 100 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
2,這裡在keepalived的配置檔案中定義的LVS模式為DR模式,還需要在兩臺rs上執行lvs_dr_rs.sh指令碼
vi /usr/local/sbin/lvs_dr_rs.sh
將下面內容可貼上至該指令碼檔案中:
#/bin/bash vip=192.168.243.100 #把vip繫結在lo上,是為了實現rs直接把結果返回給客戶端 ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip lo:0 #以下操作為更改arp核心引數,目的是為了讓rs順利傳送mac地址給客戶端 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
3,執行:sh /usr/local/sbin/lvs_dr_rs.sh
4,在兩臺真實伺服器上面執行完畢之後,執行ip addr就能看到兩臺伺服器的lo都繫結好了虛擬ip,如圖:
注意:伺服器重啟之後繫結的這個虛擬ip就沒有了,需要再執行一下指令碼,所以可以把對這個指令碼的執行放到開機自啟中。
執行命令:vi /etc/rc.d/rc.local
將以下內容新增至該檔案中:sh /usr/local/sbin/lvs_dr_rs.sh
儲存退出,然後新增執行許可權:chmod +x rc.local
之後,在133上啟動keepalived服務:systemctl start keepalived
執行ip addr,可以看到在ens33上面繫結的虛擬ip,如圖:
然後可以在排程器133上執行命令ipvsadm -ln檢視連線數,如圖:
當我把135關掉之後,就只有一臺在連線了
高可用故障切換模式,這個功能實現的有些難度,鑽研了好幾天才出來,主要是因為這裡面的邏輯不是太好理清楚。每次開4個虛擬機器做實驗,CPU都飆到87%也是很酸爽,很害怕下一秒筆記本就崩掉~
最後上一張,根據我的理解,畫的邏輯圖:
感謝您的閱讀~
相關推薦
Keepalived+LVS-DR+Nginx高可用故障切換模式
LVS架構中,不管是NAT模式還是DR模式,當後端的RS宕掉後,排程器依然會把請求轉發到宕掉的RS上,這樣的結果並不是我們想要的。其實,keepalived就可以解決問題,它不僅僅有高可用的功能,還有負
Keepalived + LVS-DR搭建高可用Web伺服器叢集
導航: Keepalived概述 LVS概述 編譯安裝keepalived 配置主排程器 雙機熱備 一、Keepalived概述 keepalived是一個類似於layer3, 4 & 5交換機制的軟體,也就是我們平時說的第3層、第4層和第5層交換。Keepalive
Keepalived + LVS-DR搭建高可用Web服務器集群
9.png 構圖 windows pro 所有結點 編譯 機制 pool tor 導航: Keepalived概述 LVS概述 編譯安裝keepalived 配置主調度器 雙機熱備 一、Keepalived概述 keepalived是一個類似於layer3, 4 &
LVS-DR+Keepalive高可用群集集
ML .com 可靠的 _for image Oz arp 可用 work LVS負載均衡群集其中之一:LVS-DR加上keepalive可實現穩定以及可靠的負載均衡; 實驗結構 實驗思路: 調度服務器區域實現接收訪問,調用節點服務器池可用服務器。實現keepalive
014.Docker Harbor+Keepalived+LVS+共享儲存高可用架構
一 多Harbor高可用介紹 共享後端儲存是一種比較標準的方案,將多個Harbor例項共享同一個後端儲存,任何一個例項持久化到儲存的映象,都可被其他例項中讀取。通過前置LB元件,如Keepalived,可以分流到不同的例項中去處理,從而實現負載均衡,也避免了單點故障,其架構圖如下: 方
keepalived ,lvs,tomcat 高可用,高併發,高效能 應用架構的搭建
keepalived ,lvs,tomcat 高可用,高併發,高效能 應用架構的搭建 keepalived ,lvs 搭建在同一臺伺服器上,兩個tomcat 分別在一個tomcat上 四臺伺服器版本 : centos 6.5 yum install ipvsa
keepalived+lvs+nginx 高可用
路由器 tac 註釋 減少 nop 基於ip vmw prot 多臺 keepalived是一款用C編寫的,旨在給linux系統和基於linux的設施提供簡單、穩固的高可用和負載均衡功能的軟件。它基於linux內核的ipvs模塊實現4層負載均衡,能應用一系列的健康狀態檢測
記一次Nginx+Keepalived高可用故障轉移
oot .com slave admin prior 嘗試 connect 手動 com Master端:192.168.2.156 ! Configuration File for keepalived global_defs { notification_e
LVS+Keepalived+Squid+Nginx高可用負載均衡快取配置
隨著網際網路IT行業的發展,越來越多的企業開始使用開源軟體搭建自己的web架構,主流的LVS也得到了廣泛的應用,在保證高可用的同時,使用者對網站的體驗速度也有了很高的要求,這時候需要我們在我們的架構既要滿足高併發同時還要求高速度。 今天我們來搭建主流架構Lvs+Keepalived+Sq
Keepalived+Lvs-DR高可用
time keepal tar ++ 網卡 p地址 host 誰的 oot Keepalived高可用keepalived+LVS-DR模式拓撲圖:LVS:是中間件軟件(即代理服務器軟件),是用來實現集群的負載均衡。
Keepalived+LVS+nginx搭建nginx高可用叢集
nginx是一款非常優秀的反向代理工具,支援請求分發,負載均衡,以及快取等等非常實用的功能。在請求處理上,nginx
配置Keepalived雙實例高可用Nginx
keepalived 雙實例 高可用nginx服務我們知道Keepalived原生設計目的是為了高可用LVS集群的,但Keepalived除了可以高可用LVS服務之外,還可以基於vrrp_script和track_script高可用其它服務,如Nginx等。本篇主要演示如何使用Keepalived高可用Ngi
公司nginx keepalived tomcat cxf 搭建高可用負載均衡實戰系列1- keepalived安裝配置
技術分享 cnblogs start ges idt def auth div .cn 1,ip說明 vip 10.50.13.67 server1 10.50.13.68 server2 10.50.13.140 2
手把手教程: CentOS 6.5 LVS + KeepAlived 搭建 負載均衡 高可用 集群
ipvs 管理 bar 10.10 方正 希望 滿足 open chm 為了實現服務的高可用和可擴展,在網上找了幾天的資料,現在終於配置完畢,現將心得公布處理,希望對和我一樣剛入門的菜鳥能有一些幫助。 一、理論知識(原理) 我們不僅要知其然,而且要知其所以然,所以先
keepalived雙主模式實現nginx高可用及LNAMMP架構
keepalived nginx lnammpkeepalived雙主模式實現nginx高可用及LNAMMP架構一、利用keepalived實現nginx調度器高可用;二、構建LNAMMP架構: 1) Nginx既是前端調度器,又是緩存服務器; 2) 將php的session緩存於memcached中;
【MySQL】【高可用】基於MHA架構的MySQL高可用故障自動切換架構
bin candidate nlog repo sage $1 內容 data from 基於MHA架構的MySQL高可用切換架構 環境: ? CentOS7+MySQL 5.7 + GTID 業務系統:mainBusiness ? nod
使用Keepalived配置主從熱備實現Nginx高可用(HA)
_id keep 過去 基礎 inter icmp interval RR 轉發 Keepalived 簡要介紹 Keepalived 是一種高性能的服務器高可用或熱備解決方案,Keepalived 可以用來防止服務器單點故障的發生,通過配合 Nginx 可以實現 w
lvs+keepalived 高可用負載均衡模式分析
lvs 高可用 keepalived nginx 1. 前言 在《keepalived 雙機熱備》這篇文章中,我寫了利用keepalived 這個開源軟件實現高可用的功能,以及keepalived 高可用所使用的協議——利用vrrp 協議,在高可用網絡組內廣播自己的優先級,優先級最高的就能搶占
redis主從+keepalived 高可用 自動切換
redis主從高可用一環境介紹 master: 172.168.1.69slave : 172.168.1.57 VIP 172.168.1.253 虛擬IP 二。設計思路: 當 Master 與 Slave 均運作正常時, Master負責服務,Slave負責Standby; 當
Nginx+Keepalived實現Nginx高可用
itl one 瀏覽器 p地址 存在 interval img title 訪問 在架構設計中,可以利用NGINX的反向代理和負載均衡實現後端應用的高可用性,同時我們還需要考慮Nginx的單點故障。真正做到架構高可用性。主要考慮以下幾點: 1、Nginx服務因為意外