自动主从切换
在该示例中,我们基于keepalived实现2节点的主从自动切换。
准备
-
主从已完成搭设,并正常运行。
-
keepalived组件已安装。
-
VIP已完成规划。
-
SElinux已禁用。
配置
将<Halo安装目录($HALO_HOME)>/etc下的health_check.sh.sample和keepalived.conf.sample拷贝至/etc/keepalived目录下并重命名为health_check.sh和keepalived.conf。
编辑keepalived.conf,主要的修改点为:
…
script "/etc/keepalived/health_check.sh <Halo安装路径($HALO_HOME)> <数据库群集路径($PGDATA)> <VIP>"
…
interface <网卡名称,如enp1s0>
…
**virtual_ipaddress** {
<VIP>
}
…
中从两边都需要进行配置。配置完成后,启动keepalived。先启动主的keepalived,再启动从的keepalived:
systemctl start keepalived
确保keepalived正常运行。
模拟切换
使用kill命令,将主库进程杀死。例如:
$ kill -9 18049
从库自动检测到主库出现故障,并提升自己为主库。VIP也一并从主库迁移至从库,应用无需修改配置即可继续正常运行(应用需支持重连)。