LVS排程器之間的高可用(指令碼)

2021-08-13 02:38:39 字數 1448 閱讀 9621

首先講一下思路:lb1的作為排程器,萬一發生宕機,則作為備用的lb2則需要接替lb1的工作

原理很簡單,首先製作乙個啟動和停止lvs的指令碼

#!/bin/bash

#create by littelbear 17:59 2017/12/4

vip=(

192.168.202.29

)rs=(

192.168.202.103

192.168.202.104

)i=0

start

() do

ifconfig eno16777736:$i

$ip up

((i++))

ipvsadm -a -t $ip:80

-s rr

route add -host $ip dev eno16777736

for rs in$do

ipvsadm -a -t $ip:80 -r $rs:80 -g

done

ipvsadm --set 30560

done

}stop

() do

route del -host $ip dev eno16777736

ifconfig eno16777736:$i

$ip down

((i++))

done

ipvsadm -c

}case

"$1"

instart)

start

;;stop)

stop

;;*)

echo

"usage:$0 "

;;esac

以上指令碼,為啟動和停止lvs服務,將他放入命令

然後寫下檢查指令碼

#!/bin/bash

dir=192.168.202.101

##lb1的物理ip位址

port=22

##通過22埠,判斷lb1是否宕機

while

true

##一直執行

do x=`nmap $dir -p $port |grep open|wc -l ` ##判斷22埠是否開啟,開啟為1,關閉為0.

if [[ $x

-eq0 ]] ##如果沒有開啟

then

ip_dr_ctl start >/dev/null 2>&1

##立即啟動lvs

else

ip_dr_ctl stop >/dev/null 2>&1

##如果開啟,立即停止lvs

fi sleep 5

##每5s檢測一次

done

如此,即可較強力的保障lb不會宕機,此指令碼只為思路,還存在許多不足地方。

lvs的高可用部署

避免單點故障 vs故障 需要高可用 多個排程器。可用keepalived來實現 vrrp是一種容錯協議,它保證當主機的下一跳路由器出現故障時,由另一台路由器來代替出現故障的路由器進行工作,從而保持網路通訊的連續性和可靠性。tar zxvf keepalived 2.0.6.tar.gz 進入keep...

高可用集群heartbeat和排程器

heartbeat ldirectord lvs server1 1 首先要保證lvs的正常執行 server1 ipvsadm c 清除策略 ip addr del 172.25.32.100 24 dev eth0 刪除虛擬ip ip addr 2 ldirectord的配置 ldirector...

構建高可用的LVS負載均衡集群

1 lvs集群的組成與特點 linux虛擬伺服器 linux virtual server,lvs 是乙個由張文高開發的一款自由軟體。利用lvs可以實現高可用的 可伸縮的web mail cache和media等網路服務。lvs具有很好的可伸縮性 可靠性和可管理性,通過lvs要實現的最終目標是 利用...