postgresql 高可用 etcd + patroni 之六 callback bind vip
os: centos 7.4
postgresql: 9.6.9
etcd: 3.2.18
patroni: 1.4.4
本篇blog介绍下 etcd + patroni 发生切换时使用 callback 来重新设定 master 的 vip。
主要是方便自有机房或托管的,云环境貌似不能绑定固定的vip。
patroni 的一些参数
官方文档描述在callback时又这几个状态:
on_reload: run this script when configuration reload is triggered.
on_restart: run this script when the cluster restarts.
on_role_change: run this script when the cluster is being promoted or demoted.
on_start: run this script when the cluster starts.
on_stop: run this script when the cluster stops.
# su - postgres
$ vi /usr/patroni/conf/patroni_postgresql.ymlpostgresql:callbacks:on_start: /usr/patroni/conf/patroni_callback.shon_stop: /usr/patroni/conf/patroni_callback.shon_role_change: /usr/patroni/conf/patroni_callback.sh
patroni_callback.sh
这个脚本的作用就是,当本地postgresql变为 master 时,就绑定vip,变为slave时,就删除vip。
# cd /usr/patroni/conf/
# vi patroni_callback.sh#!/bin/bashreadonly cb_name=$1
readonly role=$2
readonly scope=$3function usage() {echo "Usage: $0 <on_start|on_stop|on_role_change> <role> <scope>";exit 1;
}echo "this is patroni callback $cb_name $role $scope"case $cb_name inon_stop)sudo ip addr del 192.168.56.100/24 dev enp0s8 label enp0s8:1 #sudo arping -q -A -c 1 -I enp0s8 192.168.56.100sudo iptables -F;;on_start);;on_role_change)if [[ $role == 'master' ]]; thensudo ip addr add 192.168.56.100/24 brd 192.168.56.255 dev enp0s8 label enp0s8:1sudo arping -q -A -c 1 -I enp0s8 192.168.56.100sudo iptables -Felif [[ $role == 'slave' ]]||[[ $role == 'replica' ]]||[[ $role == 'logical' ]]; thensudo ip addr del 192.168.56.100/24 dev enp0s8 label enp0s8:1 #sudo arping -q -A -c 1 -I enp0s8 192.168.56.100sudo iptables -Ffi;; *)usage;;
esac
修改ip后,一定要使用 arping
配置 sudo
# visudo
postgres ALL=(ALL) NOPASSWD:ALL
更改权限
# chown -R postgres:postgres /usr/patroni/conf/*
# ls -l
total 8
-rwxr--r-x 1 postgres postgres 768 Aug 8 18:59 patroni_callback.sh
-rw-r--r-- 1 postgres postgres 1616 Aug 8 18:44 patroni_postgresql.yml
参考:
https://postgresconf.org/system/events/document/000/000/228/Patroni_tutorial_4x3-2.pdf
转载于:https://www.cnblogs.com/ctypyb2002/p/9792860.html
postgresql 高可用 etcd + patroni 之六 callback bind vip相关推荐
- postgresql 高可用 etcd + patroni 之二 patroni
os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 patroni + etcd 是在一个postgrsql 开源大会上 亚信的一 ...
- mysql mha etcd_postgresql 高可用 etcd + patroni 之四 failover
os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 patroni + etcd 是在一个postgrsql 开源大会上 亚信的一 ...
- POSTGRESQL 高可用 Patroni VS Repmgr 到底哪家强(1)
在众多postgresql 高可用模式中,主要的参与者有两位, Patroni VS repmgr 基于这二者的功能优点以及缺点相信大部分人都不是太明确,下面将根据两篇翻译的文字合并,来对两个高可用的 ...
- PostgreSQL高可用集群在360的落地实战
本文主要从以下几个方面介绍PostgreSQL高可用集群在360的落地实战 为什么选择Patroni + Etcd + PostgreSQL高可用集群方案 PostgreSQL高可用集群在360的落地 ...
- postgresql高可用_Postgresql高可用实现方案
本文主要讲解一种Postgresql高可用实现方案.由于项目需要,我们需要在短时间实现底层Postgresql DB的高可用,而网络上大多数的解决方案比较复杂,需要深入了解Postgresql. 背景 ...
- PostgreSQL高可用(二)使用pgpool实现主从切换+读写分离
文章目录 1主从流复制 1.1 主机分配 2主从切换 2.1 手动切换 2.2 pgpool 自动切换 2.2.1 解压编译安装 2.2.2 添加环境变量 2.2.3 配置pool_hba.conf ...
- PostgreSQL高可用(三)解决pgpool的单点问题
文章目录 主机分配 PGPOOL高可用,解决单点问题 1 图例 2 看门狗简介 3 启动/停止看门狗 4 配置看门狗 (pgpool.conf) 4.1 基本配置 4.1.1 启用 4.1.2到前端服 ...
- postgresql 高可用 patroni + etcd 之二 patroni
os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 patroni + etcd 是postgrsql 的一个高可用方案,依然是基 ...
- PostgreSQL高可用集群
一主两从+haproxy IP地址.端口.版本号根据自身的服务器和要求来改变 架构图 服务器配置 服务器四台 (192.168.0.78 192.168.0.79 192.168.0.80 192.1 ...
最新文章
- Python批量下载XKCD漫画只需20行命令
- 业界 | 计算芯片革命来临?英伟达谷歌入局紧逼英特尔
- matlab缩小矩阵尺寸,Matlab中对矩阵使用矩阵尺寸的索引
- Apache shutdown unexpectedly启动错误解决方法
- boost::sort模块spreadsort 字符串函子反向排序示例
- 从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题(如何解决编码 0 延时)
- ping命令时常碰到的问题
- Google Chrome浏览器可能在您不知情的情况下破坏了您的测试
- 240多个jquery插件
- xamarin android上传图片到服务器,从图片库中选取照片
- BXP 3.11样机安装详细说明(转)
- Google 翻译插件不能用了怎么办
- CSDN怎么在文章中生成目录
- AI公开课之NLP:19.04.04李航—字节跳动AILab总监《深度学习与自然语言处理:评析与展望》课堂笔记以及个人感悟
- 九阴真经服务器维护,《九阴真经》-官方网站-一亿人的真武侠梦,开创全自由空中打斗...
- linux搭建直播步骤,linux环境(CentOS-7)搭建HLS直播测试环境
- firefox 14 vim化——Pentadactyl
- 文本处理算法_基于 Python 的 11 种经典数据降维算法
- xstream 数字映射不上去_什么是智慧城市、数字城市、孪生城市、海绵城市、平安城市、天网工程、雪亮工程...
- 工程计算机制图PDF,工程计算机制图.PDF
热门文章
- linux qt yuv,c – 如何使用Qt中的RGBA32数据将带有YUV数据...
- javaweb通过接口来实现多个文件压缩和下载(包括单文件下载,多文件批量下载)
- mysql gtid深入_深入理解MySQL 5.7 GTID系列(四):mysql.gtid_executedPREVIOUS GTID EVENT
- IDEA中运行springboot+vue项目设置terminal路径
- c语言成绩等级switch语句,请高手 帮忙做一道c语言题 编程,把百分制成绩转换成5级记分制,要求用switch语句。 90分以上(包括90):...
- python打log_python根据文件大小打log日志
- tcpsyn发生在哪层_必看面试题之计算机网络:来自一位拿到了腾讯和字节双offer的大佬...
- 中raise抛出异常_Python 异常处理知识点汇总,五分钟就能学会 !
- Java 获取文件修改时间
- Java 时间戳转换成时间