首先講一下思路: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要實現的最終目標是 利用...