电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

Patroni高可用VIP方案

来源:金蝶云社区作者:金蝶2024-09-234

Patroni高可用VIP方案

一 机器和vip资源

PostgreSQL

pg1: 192.168.56.105

pg2: 192.168.56.106

etcd

etcd: 192.168.56.104

vip

读写vip: 192.168.56.111

二 通过callback脚本实现vip漂移

客户端通过vip的方式访问PostgreSQL数据库可以多一层防护,Patroni支持用户配置在特定事件发生时触发的回调脚本。因此可以配置一个回调,在主备切换后动态加载vip。

加载vip的回调脚本/pgsql/loadvip.sh

pg1和pg2实例如下

[root@localhost ~]# cat /pgsql/loadvip.sh

#!/bin/bash


VIP=192.168.56.111

GATEWAY=192.168.56.1

DEV=enp0s8


action=$1

role=$2

cluster=$3


log()

{

  echo "loadvip: $*"|logger

}


load_vip()

{

ip a|grep -w ${DEV}|grep -w ${VIP} >/dev/null

if [ $? -eq 0 ] ;then

  log "vip exists, skip load vip"

else

  sudo ip addr add ${VIP}/32 dev ${DEV} >/dev/null

  rc=$?

  if [ $rc -ne 0 ] ;then

    log "fail to add vip ${VIP} at dev ${DEV} rc=$rc"

    exit 1

  fi


  log "added vip ${VIP} at dev ${DEV}"


  arping -U -I ${DEV} -s ${VIP} ${GATEWAY} -c 5 >/dev/null

  rc=$?

  if [ $rc -ne 0 ] ;then

    log "fail to call arping to gateway ${GATEWAY} rc=$rc"

    exit 1

  fi


  log "called arping to gateway ${GATEWAY}"

fi

}


unload_vip()

{

ip a|grep -w ${DEV}|grep -w ${VIP} >/dev/null

if [ $? -eq 0 ] ;then

  sudo ip addr del ${VIP}/32 dev ${DEV} >/dev/null

  rc=$?

  if [ $rc -ne 0 ] ;then

    log "fail to delete vip ${VIP} at dev ${DEV} rc=$rc"

    exit 1

  fi


  log "deleted vip ${VIP} at dev ${DEV}"

else

  log "vip not exists, skip de

Patroni高可用VIP方案

一 机器和vip资源PostgreSQLpg1: 192.168.56.105pg2: 192.168.56.106etcdetcd: 192.168.56.104vip读写vip: 192.168.56.111二 通过callbac...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信