如何使用Repmgr在OpenSUSE 11.4上设置Postgresql 9.0热备份流式复制服务器
有关如何在postgresql 9.0上设置流复制的大量教程,以及关于repmgr的详细文档,来自2ndQuadrant的SR管理器程序。 像他们在repmgr主页上说的一样:
“PostgreSQL 9.0允许您复制热备份服务器,您可以查询和/或使用高可用性。虽然该功能的主要组件包含在PostgreSQL中,但用户期望管理高可用性部件。repmgr允许您监视和管理您复制的PostgreSQL数据库作为一个集群。
这是一个教程,如何使用流式复制设置postgresql复制热备用服务器,我们还设置了repmgr来监视和管理复制集群。 与在运行pg_start_backup()和pg_end_backup()的过程中将数据库文件从主机复制到从机(或备用)的大多数教程不同,repmgr用于简化整个过程。 (但是我仍然认为该过程可以帮助您了解postgresql如何热备份,pitr和热备份复制的工作。)
我想把大部分的学分给postgresql社区和所有的贡献者,如2ndQuadrant。 你们在Postgresql数据库上为SR热备功能做了不错的工作。 我在本教程中所做的工作只是使postgresql SR热备份复制在opensuse 11.4上工作。
我希望这个教程可以帮助更多的人开始使用postgresql,最先进的数据库,还有Opensuse,我最喜欢的操作系统,如Debian。
wintel2006@hotmail.com,
2011年6月20日
在本教程中,我将在VMware Workstation下运行2个OpenSUSE 11.4 32位裸机服务器,这两个服务器都是从OpenSUSE 11.4网络安装iso构建的,您可以从http://www.opensuse.org下载。
pgmaster: 192.168.5.187
(主数据库服务器)
pgslave: 192.168.5.188
(从属数据库服务器或待机)
并在两台服务器中修改/ etc / hosts
以具有2个以上的记录。
第1步.在主服务器和从服务器上安装postgresql
zypper install postgresql postgresql-contrib postgresql-server
然后启动postgresql服务器,以确保它的工作原理:
/etc/init.d/postgresql start
第2步.在服务器之间设置可信副本(主和从主)
repmgr程序将使用rsync和ssh为用户postgres复制数据库,因此我们需要在主服务器和从属服务器之间设置ssh登录密码:
passwd postgres
su - postgres
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub pgslave
测试我们是否可以通过密码从pgmaster ssh
ssh pgslave
并对Minion做同样的一步:
su - postgres
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub pgmaster
ssh pgmaster
确保您在测试后从远程ssh服务器注销。
更改postgresql配置文件(pg_ha.conf,postgresql.conf),然后重新启动postgresql(仅主服务器)
请确保仅在主服务器上在postgresql.conf
中更改以下行:
listen_addresses = "*" wal_level = hot_standby checkpoint_segments=30 archive_mode=on archive_command='cd .' max_wal_senders=2 wal_keep_segments=5000 hot_standby=on
而在主服务器上的pg_hba.conf
中:
host all all 192.168.5.0/24 trust host replication all 192.168.5.0/24 trust
现在重新启动postgresql,并创建一个测试数据库进行复制使用。
/etc/init.d/postgresql restart
我们创建一个测试数据库并在master数据库上生成一些数据:
su - postgres
createdb pgbench
pgbench -i -s 10 pgbench
第4步.停止postgresql服务器,并删除数据目录中的所有内容(仅从服务器)
/etc/init.d/postgresql stop
cd /var/lib/pgsql/data
rm -rf *
现在测试远程postgresql连接到pgmaster:
psql -h pgmaster -d pgbench
现在postgresql已经在主服务器和从服务器上正确安装。 安装repmgr管理程序的时间。 您需要从2ndQuadrant网站下载源代码,并自行编译。