pgpool-II 2.10故障节点动态恢复 基于pgpool-ii的集群配置(五)
来源:互联网 发布:上海市软件协会 编辑:程序博客网 时间:2024/04/29 09:50
该恢复过程为手工触发脚本,半自动执行。
su - pg93
cd $PGDATA
上传basebackup.sh文件到各个节点的相同目录中。
首先根据实际主备节点IP编辑脚本内容
#! /bin/sh
# Recovery script for streamingreplication.
# This script assumes that DB node 0 isprimary, and 1 is standby.
# ./basebackup.sh /home/pg93/pg_root192.168.160.128
# ifconfig eth0 | grep "inetaddr:" | awk '{print $2}' | cut -c 6-
# `ifconfig eth0 | grep "inetaddr" | awk -F: '{print $2}' | awk '{print $1}'`
# `ifconfig eth0 | grep "inet" |awk '{print $2}'`
datahost=$1
datadir="/home/pg93/pg_root" 主节点数据库目录
desthost=$2
destdir="/home/pg93/pg_root" 备节点数据库目录
pgpoolhost=172.16.0.195 pgpool-ii 的IP
h0=172.16.0.195 主库IP
h1=172.16.0.196 备库IP
pgpool="/opt/pgpool/bin" pgpool的安装目录
pghome="/opt/pgsql932/bin" pg数据库管理系统的目录
ssh -T $datahost psql -c "SELECTpg_start_backup('Streaming Replication', true)" postgres
rsync -C -a --delete -e ssh --excludepostgresql.conf --exclude postmaster.pid \
--exclude postmaster.opts --exclude pg_log--exclude pg_xlog \
--exclude recovery.conf $datadir/$desthost:$destdir/
ssh -T $desthost rm $destdir/recovery.done
cat > $datadir/recovery.conf <<EOF
standby_mode = 'on'
recovery_target_timeline = 'latest'
primary_conninfo = 'host=$datahostport=1999 user=replica password=replica'
trigger_file = '/tmp/trigger_file'
EOF
scp $datadir/recovery.confpg93@$desthost:$destdir
rm -rf $datadir/recovery.conf
ssh -T $datahost psql -c "SELECTpg_stop_backup()" postgres
ssh -f -n -T $desthost $pghome/pg_ctl start-D /home/pg93/pg_root >/dev/null 2>&1
ssh -f -n -T $desthost $pghome/bin/pg_ctlstart -D /home/pg93/pg_root >/dev/null 2>&1
if [$desthost = $h0 ]; then
/usr/bin/ssh -T $pgpoolhost $pgpool/pcp_attach_node -d 5 $pgpoolhost9898 postgres cuipeng 0;
/usr/bin/ssh-T $pgpoolhost $pgpool/pcp_promote_node -d 5 $pgpoolhost 9898 postgres cuipeng0;
/usr/bin/ssh -T $pgpoolhost $pgpool/pcp_attach_node -d 5 $pgpoolhost9898 postgres cuipeng 1
elif [ $desthost = $h1 ]; then
/usr/bin/ssh -T $pgpoolhost $pgpool/pcp_attach_node -d 5 $pgpoolhost9898 postgres cuipeng 1;
/usr/bin/ssh -T $pgpoolhost $pgpool/pcp_promote_node -d 5 $pgpoolhost9898 postgres cuipeng 1;
/usr/bin/ssh -T $pgpoolhost $pgpool/pcp_attach_node -d 5 $pgpoolhost9898 postgres cuipeng 0
else
exit 0;
fi
exit 0;
1.1.1 脚本使用方法
当某个数据节点宕机之后,切换到当前集群中主节点目录下找到basebackup.sh文件
./basebackup.sh 当前主节点IP 要恢复的故障节点IP
- pgpool-II 2.10故障节点动态恢复 基于pgpool-ii的集群配置(五)
- pgpool-II 故障切换 基于pgpool-ii的集群配置(四)
- pgpool-ii的安装配置 基于pgpool-ii的集群配置(三)
- postgressql安装 基于pgpool-ii的集群配置(一)
- postgressql流复制配置 基于pgpool-ii的集群配置(二)
- 利用pgpool-II搭建postgresql集群的并行查询模式
- PostgreSQL数据库集群:pgpool-II工具
- PostgreSQL数据库集群:pgpool-II工具
- PostgreSQL数据库集群:pgpool-II工具
- pgpool-II使用指南-安装与配置
- pgpool-ii的安装与使用
- PostgreSQL+pgpool-II复制方案
- PostgreSQL 利用Pgpool-II的集群搭建方案(Partition+LoadBalance+Replication)
- PostgreSQL 利用Pgpool-II的集群搭建方案(Partition+LoadBalance+Replication)
- PG的两种集群技术:Pgpool-II与Postgres-XL
- PG的两种集群技术:Pgpool-II与Postgres-XL
- pgpool-II使用指南-安装与配置(簡體)
- pgpool 配置
- java集合类(Map)
- sql数据库定期备份并上传ftp脚本
- 状态管理
- 多路复用IO的理解
- C#利用Picturebox控件显示图片
- pgpool-II 2.10故障节点动态恢复 基于pgpool-ii的集群配置(五)
- maven scope含义的说明以及spring AOP中的propagation的7种配置的意思
- 封装之实例化对象
- 初识c++
- SLG项目笔记
- jenkins 生成引用外部CSS、JS的HTML无法打开
- [leetcode]225. Implement Stack using Queues
- 一年成为Emacs高手(像神一样使用编辑器)
- TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE