Slony-I双机备份

测试环境:postgresql 9.3.5,slony-I2.2.3(application stack builder提供)以下参考网上教程亲自测试总结

-----------------------------------------------------------------------------------------------------------------------

主机:192.168.19.1    从机:192.168.19.2

(主从机)数据库名称:postgres,用户名:postgres,密码:admin

-----------------------------------------------------确保通讯----------------------------------------------------------

1.关闭主机和从机的防火墙(或者打通5432端口,允许通过防火墙)

2.修改主从机pg_hba.conf文件,这两步都是确保通讯正常

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.19.0/24         trust//new add line

-----------------------------------------------------配置从机----------------------------------------------------------

1.在从机上安装slony-I2.2.3

2.进入%PG%/bin 运行命令slon -regservice,注册slony-I服务,这时在任务管理器中的服务一列可见此项。

3.在从机上bin下加入配置文件slony_slave.conf,进入%PG%/bin 运行命令slon -addengine slony_slave.conf

#集群名称
cluster_name = Cluster

#连接从服务器的信息
conn_info = ‘dbname=postgres host=192.168.19.2 user=postgres password=admin‘

4.在任务管理器中的服务一列开启slony-I服务。

-----------------------------------------------------配置主机----------------------------------------------------------

前四步与从机一样。

1.在主机上安装slony-I2.2.3

2.进入%PG%/bin 运行命令slon -regservice,注册slony-I服务,这时在任务管理器中的服务一列可见此项。

3.在主机上bin下加入配置文件slony_master.conf,进入%PG%/bin 运行命令slon -addengine slony_master.conf

#集群名称
cluster_name = Cluster

#连接主服务器的信息
conn_info = ‘dbname=postgres host=192.168.19.1 user=postgres password=admin‘

4.在任务管理器中的服务一列开启slony-I服务。

5.在主机上bin下加入配置文件master.script,进入%PG%/bin 运行命令slonik master.script

cluster name = Cluster; #指明要定义的Cluster名

node 1 admin conninfo = ‘dbname=postgres host=192.168.19.1 user=postgres password=admin‘;
node 2 admin conninfo = ‘dbname=postgres host=192.168.19.2 user=postgres password=admin‘;

init cluster(id = 1, comment = ‘Master Cluster‘); #初始化Cluster,ID从1开始

store node ( id = 2, comment = ‘Slave Node‘, event node=1); #定义从库节点

#定义路由路径
#主节点
store path ( server=1, client=2, conninfo = ‘dbname=postgres host=192.168.19.1 user=postgres password=admin‘);
store path ( server=2, client=1, conninfo = ‘dbname=postgres host=192.168.19.2 user=postgres password=admin‘);
#添加事件监听
#设置侦听事件和订阅方向,复制中角色,主节点是原始提供者,从节点是接受者
store listen ( origin = 1, provider = 1, receiver = 2 );
store listen ( origin = 2, provider = 2, receiver = 1 );

create set ( id = 1, origin = 1, comment = ‘Data Provider‘ ); #定义复制集, origin指明主库

set add table ( set id = 1, origin = 1, id = 1, fully qualified name = ‘public.Point‘, comment=‘Point Table‘ );
#为复制集合中增加表, fully qualified name 指明了要复制的表名.

SUBSCRIBE SET (ID = 1, PROVIDER = 1, RECEIVER = 2, FORWARD = YES);

-----------------------------------------------------配置完成----------------------------------------------------------

pgAdmin3下主机可以看到如图,从机也差不多这些东西。现在在主机上对point表做的任何改变,从机是也是跟着变的。

注意:主从机备份表的结构要一致,备份的表要有主键否则会出错。

时间: 2024-10-15 05:49:05

Slony-I双机备份的相关文章

UDP实现一种双机备份的

关键字: udpclient.Udp超时.软备份.事件通知 问题场景: 现实环境中为了保证程序健壮性会采用守护进程(看门狗).备份程序等方式,实现理论上的热备.下文采用UDP协议配合自定义上层协议流程,实现一种简单的双机备份策略.两个功能程序 具有相同业务功能 但同一时刻只有一个进行服务,另外一个下文称为兄弟,进行待命.当主失去连接或发生命令指派时,改变自身状态为主进行服务. 该模型可抽象理解为一种进程间互斥,即保证二者状态不一致.程序初始双方状态都为未指定,即二者初始地位平等,通过协商报文,随

sql2008R2数据库备份--双机备份

二.解决SQL2008代理作业出现错误: c001f011维护计划创建失败的解决方法 SQL2008数据库总会出现从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA475916F} 的 COM 组件创建实例失败, 原因是出现以下错误: c001f011. (Microsoft.SqlServer.ManagedDTS)------------------------------ 从 IClassFactory 为 CLSID 为 {1

JumpServer双机备份方案

一.写在前头 由于jumpserver目前不支持双机热备,因此本方案采用数据库以及系统用户数据备份实现,主要有以下方面: 1.MySQL数据库主主同步 2.系统文件:/etc/passwd /etc/shaow /etc/group文件同步(rsync+crontab) 3.jumpserver相关用户以及key文件:jumpserver/keys同步(rsync+crontab) 4.主服务器:10.44.131.212.从服务器:10.169.210.223 二.rsync配置 1.主服务器

转 双机备份相关知识

什么是双机热备 http://www.chinastor.com/a/jishu/shuangji/2011/0621205H011.html 导读:什么是双机热备技术?双机热备,英文Hot Standby,是一种常见的服务器高可用技术.顾名思义,A,B两台机器互相做备份,A歇菜了B顶上,B歇菜了A顶上. 典型应用环境就是:前端两台应用服务器A和B 什么是双机热备技术?双机热备,英文”Hot Standby“,是一种常见的服务器高可用技术.顾名思义,A,B两台机器互相做备份,A宕机了B顶上,B宕

Oracle_双机备份

1.dataguard http://jingyan.baidu.com/article/f96699bb956ef2894e3c1b39.html http://blog.itpub.net/26230597/viewspace-1432637/ http://www.linuxidc.com/Linux/2015-02/113223.htm 2. 2.1.Oracle双机热备在操作上有何区别 http://zhidao.baidu.com/link?url=5qnTZk9OyLinHB7Ni

20161025__Oracle10g双机备份

1.主要流程,参考: 完整 Oracle10G DataGuard安装文档_百度文库.html http://wenku.baidu.com/link?url=8A7nJGSwRu-83mxEIqGELF9aZCDdu9nlLUIRRUzwXFujzXkxcKNGrTI-YJJKffzl_ne4Zc-oUXq6jPObJyu_6eDDsR_6gRDGiOatlsQ9BCK 其他参考文章: oracle 10g dataguard 安装配置说明及原理-zhengbao_jun-ITPUB博客.ht

linux 自动备份脚本

首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /root/mysqlautobak 输入: filename=` date +%Y%m%d ` mysqldump --all-databases -uroot -p(mysql密码)> /root/backup/mysqlbackup/mysql$file.sql 保存退出! 让它可以执行 #chomd

oracle双机热备概念

1. 双机热备概述      双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式.      基于存储共享的双机热备是双机热备的最标准方案.      对于这种方式,采用两台(或多台)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN).两台服务器可以采用互备.主从.并行等不同的方式.在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担.同时,服务器通过心跳线(目前往往采用

Linux -- 服务器数据备份恢复策略

一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令,将一个文件复制到其他目录下,也可能是使用特定的程序将数据流写进一个特定的设备中的复杂过程.很多情况下是将要备份的数据写入到磁带机中,但有些情况也不是这样的.在Linux环境下,或其他Unix系统,备份可以是将文件拷贝到已存在的文件系统,可替换的文件系统,磁带机,远程文件系统,甚至是远程系统的上的磁带