PostgreSQL 三节点集群故障模拟及恢复
PostgreSQL 三节点集群故障模拟及恢复
(postgreSQL9.5.1)
正常状态:
10.2.208.10:node1:master
10.2.208.11:node2:standby1同步
10.2.208.12:node3:standby2异步
10.2.208.13:node4:备用机
故障模拟及恢复
1 主库故障
1 停止主库(master)[M]服务[10.2.208.10]
pg_ctl –D ../data stop –m fast
2 更改S1的postgresql.conf[10.2.208.11]
synchronous_standby_names = 'node3'
3 更改S2 recovery.conf[10.2.208.12]
primary_conninfo = 'host=node2IP[10.2.208.11] port=6432 user=replica password=replica application_name=node3'
4 提升S1为新的主库Master
pg_ctl –D ../data promote[10.2.208.11]
5 重新启动S2[10.2.208.12] 使S2成为新的同步节点
pg_ctl –D ../data restart
6使node4[10.2.208.13]成为异步节点
mkdir data
chmod 0700 data
pg_basebackup -h 10.2.208.11 -P -Fp -x -v -p 6432 -U replica -D /home/replica/data/
7 node4[10.2.208.13]recovery文件处理
mv recovery.done recovery.conf
primary_conninfo = 'host=10.2.208.11 port=6432 user=replica password=replica'
8 node4[10.2.208.13]postgresql.conf文件处理
#synchronous_standby_names = ' '
9 启动node4[10.2.208.13]
pg_ctl -D ../data/ start
2备库1故障
1停止standby1服务
pg_ctl -D ../data/ stop -m fast
2更改node1[10.2.208.10]postgresql.conf
synchronous_standby_names = 'node3'
3更改S2[10.2.208.12]recovery.conf文件
primary_conninfo = 'host=10.2.208.10 port=6432 user=replica password=replica application_name=node3'
4重启主库Master
pg_ctl –D ../data restart
5重启S2成为同步节点
6 node4[10.2.208.13]成为异步节点
pg_basebackup -h 10.2.208.10 -P -Fp -x -v -p 6432 -U replica -D /home/replica/data/
mv recovery.done recovery.conf
primary_conninfo = 'host=10.2.208.10 port=6432 user=replica password=replica '
postgresql.conf文件
#synchronous_standby_names = ' '
7启动node4
pg_ctl –D ../data start
3 备库2故障
1 停止备库2 node3[10.2.208.12]的服务
pg_ctl –D ../data stop –m fast
2 node4[10.2.208.13]成为异步节点
pg_basebackup -h 10.2.208.10 -P -Fp -x -v -p 6432 -U replica -D /home/replica/data/
mv recovery.done recovery.conf
primary_conninfo = 'host=10.2.208.10 port=6432 user=replica password=replica '
postgresql.conf文件
#synchronous_standby_names = ' '
3启动node4
pg_ctl –D ../data start
PostgreSQL 三节点集群故障模拟及恢复的更多相关文章
- zookeeper三节点集群安装记录
以下是3个节点的zk安装记录. 下载 下载地址: http://mirrors.shu.edu.cn/apache/zookeeper/ cd /data/opt/zk wget http://mir ...
- RabbitMQ上手记录–part 5-节点集群高可用(多服务器)
上一part<RabbitMQ上手记录–part 4-节点集群(单机多节点)>中介绍了RabbitMQ集群的一些概念以及实现了在单机上运行多个节点,并且将多个节点组成一个集群. 通常情况下 ...
- [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt
[20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt --//http://blog.itpub.net/267265/viewspace-2646340/=>[2 ...
- [20190531]ORA-600 kokasgi1故障模拟与恢复.txt
[20190531]ORA-600 kokasgi1故障模拟与恢复.txt --//昨天看链接:http://www.xifenfei.com/2019/05/ora-600-kokasgi1-rec ...
- initdb - 创建一个新的 PostgreSQL数据库集群
SYNOPSIS initdb [ option...] --pgdata | -D directory DESCRIPTION 描述 initdb 创建一个新的 PostgreSQL 数据库集群. ...
- pg_dumpall - 抽出一个 PostgreSQL 数据库集群到脚本文件中
SYNOPSIS pg_dumpall [ option...] DESCRIPTION 描述 pg_dumpall 是一个用于写出("转储")一个数据库集群里的所有 Postgr ...
- etcd v3集群备份和恢复
官方文档 https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/recovery.md 一.运行3个etcd节点 我们用 ...
- RabbitMQ上手记录–part 4-节点集群(单机多节点)
现在互联网应用动不动就说要HA,好像不搞个HA都不好意思说自己的应用能承载高并发,大用户量访问.RabbitMQ这个经典的消息组件,也必然逃不掉单点失效的尴尬局面.当然在RabbitMQ在被广泛应用于 ...
- redis单节点集群
一.概念 redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串.哈希.列表.队列.集合结构 ...
随机推荐
- web前端性能概述
1.认识前端性能 不管你的网站设计的有多好,后端有多好,对于用户来说全部都是无感知的,用户只关心页面打开的速度,而前端性能表现很大程度上影响着用户的这种感知. 改善前端的性能对用户感知的整体性能提升有 ...
- 后台list 如何转换为json格式
request.setCharacterEncoding("utf-8"); response.setCharacterEncoding( "UTF-8"); ...
- java 强制转换
在java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需 ...
- php数据库两个关联大表的大数组分页处理,防止内存溢出
$ret = self::$db->select($tables, $fields, $where, $bind); if (!empty($ret)) { $retIds = array(); ...
- [收藏]NET技术+25台服务器怎样支撑世界第54大网站
.NET技术+25台服务器怎样支撑世界第54大网站 英文原文:StackOverflow Update: 560M Pageviews A Month, 25 Servers, And It's ...
- Python 时间 日期常见操作
import datetime,time dtstr = '2014-02-14 21:32:12' a = datetime.datetime.strptime(dtstr, "%Y-%m ...
- 对象(List<T>)的序列化和反序列化
本文描述将对象(List<T>)序列化到 XML 文档中和从 XML 文档中反序列化为对象(List<T>). 命名空间: System.Xml.Serialization 程 ...
- jade编译乱码问题
加上: meta(http-equiv="Content-Type",content="text/html; charset=utf-8")
- Android Keycode详解
用JAVA写appium的testcase时,想用Android自带的物理返回键,网上找了下分享给大家. import io.appium.java_client.android.AndroidKey ...
- Java学习-017-EXCEL 文件读取实例源代码
众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...