跳到主要内容
版本:1.0.13

自动主从切换

在该示例中,我们基于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也一并从主库迁移至从库,应用无需修改配置即可继续正常运行(应用需支持重连)。