申请高可用IP ,HAVIP
https://console.cloud.tencent.com/vpc/vpc?rid=16
配置不同实例放到不同的物理位置(容灾)
绑定
安装HAVIP的帮助文档的最佳实践,先把申请好的HAVIP通过配置keepalived绑定到CVM,然后再申请一个弹性IP把弹性IP绑定到HAVIP,HAVIP中要做的任务为ping 自己的内网IP或者屏HAVIP的内网IP。
配置22的keepalived(21的也就是对端IP和本机IP不一致)
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.31.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script checkhaproxy
{
script "/etc/keepalived/do_sth.sh" # 检测业务进程是否运行正常。其中“do_sth.sh”文件为用户自定义的业务进程检测脚本,请根据业务需要来执行,执行时“do_sth.sh”更换为实际的脚本名称。
interval 5
}
vrrp_instance VI_1 {
# 注意主备参数选择
state BACKUP # 设置初始状态均为“备“
interface eth0 # 设置绑定 VIP 的网卡 例如 eth0
virtual_router_id 51 # 配置集群 virtual_router_id 值
nopreempt # 设置非抢占模式,
# preempt_delay 10 # 仅 state MASTER 时生效
priority 100 # 两设备是相同值的等权重节点
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.31.22 # 设置本机内网IP地址
unicast_peer {
192.168.31.21 # 对端设备的 IP 地址
}
virtual_ipaddress {
192.168.31.2 # 设置高可用虚拟 VIP
}
notify_master "/etc/keepalived/notify_action.sh MASTER"
notify_backup "/etc/keepalived/notify_action.sh BACKUP"
notify_fault "/etc/keepalived/notify_action.sh FAULT"
notify_stop "/etc/keepalived/notify_action.sh STOP"
garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存
garp_master_refresh 5 # 设置主节点发送 ARP 报文的时间间隔
track_interface {
eth0 # 使用绑定 VIP 的网卡 例如 eth0
}
track_script {
checkhaproxy
}
}
/etc/keepalived/do_sth.sh
ping 192.168.31.2
测试
随便找一台可以连上公网的IP,然后ping 绑定了HAVIP的弹性IP,然后不停的重启22和21即可看到ping会有一次断开。同时观察后端HAVIP绑定的CVM也切换了。