【Postgresql】postgresql9.3.9版本基于流复制方式双机热备方案

系统环境:centos6.5
数据库版本: postgres9.3.9
虚拟机2台:
Master:10.0.2.160
Slave:10.0.2.69
数据存储位置:/usr/local/pgsql/data/

  1. 安装pgsql数据库

    安装过程可参考我上一篇博客:http://blog.51cto.com/13632960/2117902
    两台机器都需要安装完成,我在做热备的时候,Master数据库开启,Slave关闭。
  2. 创建流复制用户
    Master端进入数据库并执行:
    CREATE USER repuser?replication PASSWORD ‘repuser‘;?
  3. 配置Master端的访问文件pg_hba.conf?
    vim /usr/local/pgsql/data/pg_hba.conf
     在最后添加:host replication repuser?10.0.2.69/16 md5
     #md5为连接方式 你们也可以选择其他的
  4. 配置Master端配置文件 postgresql.conf
    在修改之前先创建一个文件夹用于归档文件存放:mkdir /usr/local/pgsql/data/archive
    vim /usr/local/pgsql/data/postgresql.conf
    修改下列项:
    max_wal_senders = 1?
    wal_level = hot_standby
    archive_mode = on?
    archive_command = ‘cp %p /usr/local/pgsql/data/archive/%f‘‘
    hot_standby = on
    wal_keep_segments = 64
    注释: max_wal_senders是Slave库的节点数,有多少个slave库就设多少,
    ? ? ?         wal_level是write ahead log参数值,设置流复制务必将此值更新成hot_standby
    ?          ? ?wal_keep_segments默认值是16,是PG_XLOG下的日志文件数相关参数
    ??          ? archive也可以选择关闭,归档是定时恢复用的,流复制不是必须的
  5. 主库备份——Master端
    开启文件备份:
    /usr/local/pgsql/bin/psql
    psql (9.3.9)
    Type "help" for help.
    postgres=# select pg_start_backup(‘backup_1‘);
  6. 打包Master端/usr/local/pgsql/data/目录,并发送到Slave服务器上,排除pg_xlog目录内容!!!!!
    cd /usr/local/pgsql/
    tar -czvf? data.tar.gz data--exclude=data/pg_xlog?
    Slave端如果已经安装了postgres数据库,数据目录名称一样的话,可以先停掉备机数据库,更改数据目录名称
    mv data data.old
    远程拷贝至slave端并在备机端解压
    scp data.tar.gz [email protected]:/usr/local/pgsql/
    拷贝完成后,进入数据库关闭备份:select pg_stop_backup(),current_timestamp;
  7. Slave端解压并修改相关配置文件
    cd /usr/local/pgsql
    tar -zxvf data.tar.gz
    cd  /usr/local/pgsql/data
    mkdir pg_xlog
    vim /usr/local/pgsql/data/postgresql.conf
    修改:hot_standby = on
  8. 备机需要配置recovery.conf文件,将share目录中的recovery.conf.sample拷贝并改名。
    cp  /usr/local/pgsql/share/recovery.conf.sample     /usr/local/pgsql/data/recovery.conf
    复制完成后修改如下内容:
    ?standby_mode = ‘on‘
    primary_conninfo =‘host=10.0.2.69??port=5432 user=repuser password=repuser   keepalives_idle=60‘
  9. 启动Slave库
    正常启动备库,有异常可以看log
    /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data >>logfile 2>&1
  10. 查看主库及从库启动状态
    Master:

    Slave:
  11. 至此postgresql流复制热备方案部署完成,可以通过navicat或者命令行进行数据插入或者建表测试功能可用性。

原文地址:http://blog.51cto.com/13632960/2117928

时间: 2024-10-13 04:35:12

【Postgresql】postgresql9.3.9版本基于流复制方式双机热备方案的相关文章

基于RHCS的web双机热备集群搭建

基于RHCS的web双机热备集群搭建 RHCS集群运行原理及功能介绍 1. 分布式集群管理器(CMAN) Cluster Manager,简称CMAN,是一个分布式集群管理工具,它运行在集群的各个节点上,为RHCS提供集群管理任务.CMAN用于管理集群成员.消息和通知.它通过监控每个节点的运行状态来了解节点成员之间的关系,当集群中某个节点出现故障,节点成员关系将发生改变,CMAN及时将这种改变通知底层,进而做出相应的调整. 2.锁管理(DLM) Distributed Lock Manager,

SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 场景 公司最近的sharepoint的数据库服务器老是出问题,并且在一旦出现问题,就导致无法正常工作.最主要的是我们要加班还原以前的数据库,这是最头疼的.于是在网上查找资料,实现主备机的同步,对于sharepoint而言我们只需做到sharepoint的内容数据库同步即可.这种技术有个专业名词叫做双机热备. 双机热备原理 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可

基于主从复制的Mysql双机热备+amoeba实现读写分离、均衡负载

读写分离指的是客户只能在主服务器上写,只能在从服务器上读,当然了,这也是要看配置,你可以在主服务器配置读的功能,但是在从服务器上只能读不能写,因为从服务器是基于binlog对主服务器的复制,如果在从服务器上写的话,会造成主从不一致的结果.mysql实现读写分离,写的压力虽然没有减少,但是读的压力瞬间就减少了一半. Amoeba的中文意思是阿米巴.变型虫Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy代理服务器.它集中地响应应用的请求,依据用户事先设置的规则

MYSQL 的 AB 复制(主从,双机热备)

MYSQL 的 AB 复制(主从,双机热备)     在实际的应用中,我们经常需要制作一个备份数据库.当我们的主数据库发生问题导致无法正常相应的时候,我们可以 把备用的从数据库街上来顶替主库,以达到不间断服务,热备的作用.在实际应用中从库和主库的数据必须同步,保持一致, 对主库的任何操作通要引发从库上的同样操作. 实现原理: 从库以一定的频率去读取主库的二进制日志文件,按照日志中记录对从库进行同样的操作,以达到同步效果. 注意版本影响: 实现双机的热备首先要了解主从数据库服务器的版本的需求.首先

PGPool-II+PG流复制实现HA主备切换

基于PGPool的双机集群如下图所示:pg主节点和备节点实现流复制热备,pgpool1,pgpool2作为中间件,将主备pg节点加入集群,实现读写分离,负载均衡和HA故障自动切换.两pgpool节点可以委托一个虚拟ip节点作为应用程序访问的地址,两节点之间通过watchdog进行监控,当pgpool1宕机时,pgpool2会自动接管虚拟ip继续对外提供不间断服务. 1. 主机规划 192.168.20.201 redis01 192.168.20.202 redis02 192.168.20.2

Pg 流复制方式HA 版本升级步骤

一.HA Description: Master:192.168.1.10 Slave:192.168.1.20 VIP: eth0:pgvip(master and slave) 192.168.1.30 PGDATA: /pgdata95 pg_version: 9.5.2 二.upgrade steps: (一)升级Slave数据库软件版本 1.postgres(192.168.1.20) pg_ctl -D /pgdata95 stop -m fast 2.postgres(192.16

基于主主复制的mysql双机热备+keepalived实现高可用性

1.环境Master1 192.168.1.135 Master2 192.168.1.136Client 192.168.1.137 2.Master1操作授权mysql->grant replication slave on *.* to 'admin'@'192.168.1.136' identified by 'aixocm'; 授权操作mysql->flush privileges; 刷新权限mysql->show master status\G; 查看此时的binlog日志文

PostgreSQL 9.5.5主从实现之异步流复制(Hot Standby)

前言 简单记录一下postgresql主从的实现方式之一--基于Standby的异步流复制,这是PostgreSQL9.x版本(2010.9)之后提供的一个很nice的功能,类似的功能在Oracle中是11g之后才提供的active dataguard和SQL Server 2012版本之后才提供的日志传送,此处再次为pg鼓掌,确实是一个很棒的开源数据库.废话不多说,本篇blog就详细记录一下在pg9.5中实现Hot Standby异步流复制的完整配置过程和注意事项. Standby数据库原理

centos6.5下postgresql9.4.3同步流复制的standby安装与配置

一.同步流复制的架构 PostgreSQL从9.1版本之后提供了同步复制的架构.同步复制要求在数据写入Standby数据库后,事务的commit才返回,所以Standby库出现问题时,会导致主库被hang住.解决这个问题的方法是启动两个Standby数据库,这两个standby数据库只要有一个是正常的,就不会让主库hang住.所以在实际应用中,同步流复制,总是有1个主库和2个以上的Standby库. 二.同步复制的配置 实现同步复制功能主要是在主库上配置参数"synchronous_standb