LVS DR模式搭建,keepalived + LVS
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
LVS DR模式搭建
準備工作
- 三臺機器,只需要有公網IP
- 分發(fā)器,也叫調度器(簡寫為dir)IP:192.168.133.130
- rs1 ?IP:192.168.133.132
- rs2 ?IP:192.168.133.133
- vip ?192.168.133.200
DR模式搭建
編寫腳本 vim /usr/local/sbin/lvs_dr.sh ,內容如下,保存退出
ifconfig ens37:2 $vip broadcast $vip netmask 255.255.255.255 up//給一個網卡設置一個虛擬網卡
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1 //這里-g:gateway指定DR模式
兩臺rs上也編寫腳本 vim /usr/local/sbin/lvs_rs.sh,添加內容如下,保存退出
分別在dir上和兩個rs上執(zhí)行這些腳本
然后route -n可以查看vip的路由,以及ip add命令查看lo網卡上有一個vip
測試
在瀏覽器訪問VIP:192.168.133.200,刷新網頁(等上一段時間),訪問結果由rs1、rs2主頁內容交替出現(xiàn)。
如果網頁反應不及時,可以刷新網頁,用 ipvsadm -ln 命令,查看ActiveConn和InActCon會發(fā)生變化
keepalived + LVS
完整的架構需要兩臺服務器(角色為dir),分別安裝Keepalived工具,目的是實現(xiàn)高可用,但Keepalived本身也有負載均衡功能,所以本次使用可以只安裝一臺Keepalived。
Keepalived內置了ipvsadm的功能,所以不需要安裝ipvsadm包,也不用編寫和執(zhí)行l(wèi)vs_dr腳本。
準備工作
三臺機器分別為
- 調度器director(安裝Keepalived):
IP:192.168.133.130; - real server(real1):
IP:192.168.133.132 - real server(real2):
IP:192.168.133.133 - VIP:192.168.133.200
配置dir
在dir上編輯keepalived配置文件,保存退出
vrrp_instance VI_1 {#備用服務器上為 BACKUPstate MASTER#綁定vip的網卡為ens33,你的網卡和阿銘的可能不一樣,這里需要你改一下interface ens33virtual_router_id 51#備用服務器上為90priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.133.200} } virtual_server 192.168.133.200 80 {#(每隔10秒查詢realserver狀態(tài))delay_loop 10#(lvs 算法) lb_algo wlc #算法(DR模式)lb_kind DR#(同一IP的連接60秒內被分配到同一臺realserver)persistence_timeout 0 #(用TCP協(xié)議檢查realserver狀態(tài))protocol TCP real_server 192.168.133.132 80 {#(權重) weight 100TCP_CHECK {#(10秒無響應超時)connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}} real_server 192.168.133.133 80 {weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}} }啟動keepalived,查看進程,查看網卡信息
由于之前設置過VIP,所以需要先清理
查看ipvsadm規(guī)則
配置rs ?
在兩臺rs上編寫腳本vim /usr/local/sbin/lvs_rs.sh,內容如下,保存退出
#/bin/bash vip=192.168.133.200 #把vip綁定在lo上,是為了實現(xiàn)rs直接把結果返回給客戶端 ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip lo:0 #以下操作為更改arp內核參數(shù),目的是為了讓rs順利發(fā)送mac地址給客戶端 #參考文檔www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html 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分別在dir和兩臺rs上執(zhí)行腳本命令 sh /usr/local/sbin/lvs_rs.sh
測試
在瀏覽器訪問VIP:192.168.133.200,刷新網頁(等上一段時間),訪問結果由rs1、rs2主頁內容交替出現(xiàn)。
keepalived 有一個比較好的功能,可以在一臺rs宕機的時候,不再把請求轉發(fā)過去
擴展
haproxy+keepalived
nginx、lvs、haproxy比較
keepalived中自定義腳本 vrrp_script
lvs dr模式只使用一個公網ip的實現(xiàn)方法
轉載于:https://my.oschina.net/u/3708406/blog/1615807
總結
以上是生活随笔為你收集整理的LVS DR模式搭建,keepalived + LVS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue Cli 脚手架的搭建
- 下一篇: win10下安装PHP_CodeSnif