MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
RPT ACTIVE -Standby DB在主备机上的安装配置与MES Active- Standby DB的配置过程类似,此处只是说明了一下rptdb在主备机上的创建和启动方式,不涉及rptdb active standby 的配置。
下面以MES DB在主备机服务器上安装配置MES Active Standby DB为例来演示active standby配置及进行故障切换恢复的过程。
6.1.2 主库上表空间的创建
MES主库创建完成后,需创建MES所需要的表空间
(或者主备库配置完成后,在主备主机上分别创建表空间对应的相同数据目录,然后在主库上创建表空间,此时表空间的创建会自动在备库上同步创建)。 主库主机上如下: #su - postgres $cd /data/mes_data/mes/ $mkdir pg_APtblspace $cd ./pg_APtblspace $mkdir temp $mkdir ts_mes_dat $mkdir ts_mes_his_dat $mkdir ts_mes_his_idx $mkdir ts_mes_idx $mkdir ts_mes_wf_dat 保密 Confidential第16页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换 $mkdir ts_mes_wf_idx $mkdir user
主库上
CREATE TABLESPACE temp OWNER postgres
LOCATION '/data/mes_data/mes/pg_APtblspace/temp';
CREATE TABLESPACE ts_mes_dat OWNER postgres
LOCATION '/data/mes_data/mes/pg_APtblspace/ts_mes_dat';
CREATE TABLESPACE ts_mes_his_dat OWNER postgres
LOCATION '/data/mes_data/mes/pg_APtblspace/ts_mes_his_dat';
CREATE TABLESPACE ts_mes_his_idx OWNER postgres
LOCATION '/data/mes_data/mes/pg_APtblspace/ts_mes_his_idx';
CREATE TABLESPACE ts_mes_idx OWNER postgres
LOCATION '/data/mes_data/mes/pg_APtblspace/ts_mes_idx';
CREATE TABLESPACE ts_mes_wf_dat OWNER postgres
保密 Confidential第17页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换 LOCATION '/data/mes_data/mes/pg_APtblspace/ts_mes_wf_dat'; CREATE TABLESPACE ts_mes_wf_idx OWNER postgres LOCATION '/data/mes_data/mes/pg_APtblspace/ts_mes_wf_idx'; CREATE TABLESPACE user OWNER postgres LOCATION '/data/mes_data/mes/pg_APtblspace/user';
6.2主数据库上的配置
在主数据库的/data/mes_data/mes/postgresql.conf文件中设置如下配置项:
wal_level = hot_standby max_wal_senders = 2 wal_keep_segments = 2000 ? wal_level:WAL(Write-Ahead Logging,预写日志)级别,启动时生效。有三种级别,分别为minimal(默认值)、archive和hot_standby:
保密 Confidential第18页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
? minimal:只会记录必要的日志,用于在崩溃或直接关闭后恢复数据库
? ? ? ?
archive:记录的日志可被用作WAL存档 hot_standby:记录的日志可被用于热备
max_wal_senders:指定允许最大用于热备服务器的连接数,启动时生效
wal_keep_segments:指定最少保留的WAL片段数量(即pg_xlog中以16进制命名的文件),超过这个数量后,master可能会移除过多的WAL文件,reload时生效。
wal_keep_segments值的设置,可这么算, STANDBY若最悲观的和主库断开1天的话,那至少要KEEP一天的
XLOG目录下的日志段SEGMENTS(每个segments 16M)来进行standby的日志应用;若每天产生1000个xlog segments,则需要设置wal_keep_segments=1000。若出现中断一天的这种情况,可以将主库做一个全备份,可直接覆盖掉先前的standby库了。考虑到active standby 采用的是流复制,网络稳定时日志传输和应用几乎感觉不到延时,一般 wal_keep_segments=2000 足以满足要求。
保密 Confidential第19页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
在主数据库上的pg_hba.conf中设置listen_addresses和连接验证选项,允许standby数据库连接到主库上来拖WAL日志数据。在主数据库中的/data/mes_data/mes/pg_hba.conf中添加如下配置:
host replication repl192.168.15.121/32 trust 其中192.168.15.121是standby数据库所在主机IP地址。
保密 Confidential第20页 | 共47页