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 三节点集群故障模拟及恢复的更多相关文章

  1. zookeeper三节点集群安装记录

    以下是3个节点的zk安装记录. 下载 下载地址: http://mirrors.shu.edu.cn/apache/zookeeper/ cd /data/opt/zk wget http://mir ...

  2. RabbitMQ上手记录–part 5-节点集群高可用(多服务器)

    上一part<RabbitMQ上手记录–part 4-节点集群(单机多节点)>中介绍了RabbitMQ集群的一些概念以及实现了在单机上运行多个节点,并且将多个节点组成一个集群. 通常情况下 ...

  3. [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt

    [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt --//http://blog.itpub.net/267265/viewspace-2646340/=>[2 ...

  4. [20190531]ORA-600 kokasgi1故障模拟与恢复.txt

    [20190531]ORA-600 kokasgi1故障模拟与恢复.txt --//昨天看链接:http://www.xifenfei.com/2019/05/ora-600-kokasgi1-rec ...

  5. initdb - 创建一个新的 PostgreSQL数据库集群

    SYNOPSIS initdb [ option...] --pgdata | -D directory DESCRIPTION 描述 initdb 创建一个新的 PostgreSQL 数据库集群. ...

  6. pg_dumpall - 抽出一个 PostgreSQL 数据库集群到脚本文件中

    SYNOPSIS pg_dumpall [ option...] DESCRIPTION 描述 pg_dumpall 是一个用于写出("转储")一个数据库集群里的所有 Postgr ...

  7. etcd v3集群备份和恢复

    官方文档 https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/recovery.md 一.运行3个etcd节点 我们用 ...

  8. RabbitMQ上手记录–part 4-节点集群(单机多节点)

    现在互联网应用动不动就说要HA,好像不搞个HA都不好意思说自己的应用能承载高并发,大用户量访问.RabbitMQ这个经典的消息组件,也必然逃不掉单点失效的尴尬局面.当然在RabbitMQ在被广泛应用于 ...

  9. redis单节点集群

    一.概念 redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串.哈希.列表.队列.集合结构 ...

随机推荐

  1. h5在线状态监测

    一个属性,2个事件 navigator.onLine 表示当前浏览器的的在线状态. window.addEventListener("online", function(){}); ...

  2. 告诉你Hadoop是什么

    Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中 ...

  3. python之列表切片(slice)

    使用索引获取列表的元素(随机读取) 列表元素支持用索引访问,正向索引从0开始 colors=["red","blue","green"] c ...

  4. 关于YARN的HA

    一:准备 1.规划 namenode               namenode ZKFC ZKFC journalnode        journalnode               jou ...

  5. There is no tracking information for the current branch

    There is no tracking information for the current branch. Please specify which branch you want to mer ...

  6. 【Android测试】【第五节】LogCat——命令行

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4684123.html 前言 上一篇将的是如果在eclips ...

  7. C# 中==与Equals方法比较

    先来段代码,如下: static void Main(string[] args) { string a = new string(new char[] { 'h', 'e', 'l', 'l', ' ...

  8. 帝国CMS备忘

    一. 2级导航: 类似下图这种导航: 实现方式如: 1. 定义一个标签模板,记住ID,具体内容如: 页面模板内容: <li><a href=”[!—bclassurl—]”>[ ...

  9. nccmp - 比较netcdf的文件内容 - 编译安装

    1. 简介 Compares two NetCDF files in-place to find specific variables, dimensions and/or attributes th ...

  10. .net framework环境

    microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=z ...