49 lines
1.6 KiB
Django/Jinja
49 lines
1.6 KiB
Django/Jinja
#mariadb Load balancing start
|
||
vrrp_script chk_mariadb {
|
||
script "/etc/keepalived/check_mariadb.sh"
|
||
#每2s检查一次
|
||
interval 2
|
||
#每次检查-20
|
||
weight -20
|
||
}
|
||
|
||
#VRRP实例定义块
|
||
vrrp_instance VI_MARIADB {
|
||
{% if inventory_hostname == groups.mariadb[0] %}
|
||
#状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态。
|
||
state MASTER
|
||
#优先级,同一个vrrp_instance的MASTER优先级必须比BACKUP高。
|
||
priority 150
|
||
{% elif inventory_hostname == groups.mariadb[1] %}
|
||
#状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态。
|
||
state BACKUP
|
||
#优先级,同一个vrrp_instance的MASTER优先级必须比BACKUP高。
|
||
priority 100
|
||
{% endif %}
|
||
#网卡名称
|
||
interface {{ ansible_default_ipv4.interface }}
|
||
#虚拟路由标识,同一个vrrp_instance的MASTER和BACKUP的vitrual_router_id 是一致的。
|
||
virtual_router_id 66
|
||
#MASTER 与BACKUP 负载均衡器之间同步检查的时间间隔,单位为秒。
|
||
advert_int 1
|
||
authentication {
|
||
#验证authentication。包含验证类型和验证密码。类型主要有PASS、AH 两种,通常使用的类型为PASS
|
||
auth_type PASS
|
||
#据说AH 使用时有问题。验证密码为明文,同一vrrp 实例MASTER 与BACKUP 使用相同的密码才能正常通信
|
||
auth_pass 1111
|
||
}
|
||
#触发的脚本
|
||
track_script {
|
||
#检测脚本,上面配置的
|
||
chk_mariadb
|
||
}
|
||
virtual_ipaddress {
|
||
#虚拟ip地址,可以有多个地址,每个地址占一行,不需要子网掩码
|
||
{{ mariadb_virtual_ipaddress }}
|
||
}
|
||
}
|
||
#mariadb Load balancing end
|
||
|
||
|
||
|