MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
注:
MES DB Server和Report DB Server使用双网卡,MES数据库和报表数据库使用固定IP。
正常时备用IP禁用,如对方服务器无法使用时,手动启用禁用的网卡,在一台服务器上运行双应用。
1.2 Postgresql active standby架构原理图
保密 Confidential第6页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
1.3 Postgresql Active Standby架构原理说明
数据库Active standby方式又可成为PrimaryStandby方式。即一台机器的PostgreSQL数据库作为主数据库,提供生产服务,另一台机器上对应的PostgreSQL数据库作为备用数据库,两数据库之间的数据同步,采用primary-standby方式的在线流复制方式同步数据。
采用Enterprise PostgreSQL9.1版本的Active Standby的在线流复制同步数据的方式,备用数据库在同步主数据库的数据时,可以用只读的方式打开备用数据库,此时可以在备用数据库上进行查询数据、查询报表等操作,也可用做读写分离
应用。
2. 软硬件配置信息
2.1 服务器配置信息
内容 ServerModel CPU型号(Core#) 内存 本地磁盘 MES AP服务Report AP服务MES数据库服Report数据库器 器 务器 服务器 DL380 DL380 DL580 DL580 2*1.86GHz2*1.86GHz2*1.86GHz2*1.86GHz(8) (8) (8) (8) 8G 8G 16G 16G 2*146G2*146G2*146G2*146G(RAID1) (RAID1) (RAID1) (RAID1) mesap rptap mesdb rptdb 172.30.0.101 172.30.0.102 172.30.0.103 172.30.0.104 255.255.255.128 255.255.255.128 255.255.255.128 255.255.255.128 172.30.0.1 172.30.0.1 172.30.0.1 172.30.0.1 N/A N/A 1.5T 1.5T 备注 计算机名 IP地址 子网掩码 默认网关 共享磁盘空间 其中hostname,IP,subnet,gateway等根据项目具体情况指定。
2.2 Linux和PostgreSQL数据库信息
说明 Linux版本 PostgreSQL版本 PostgreSQL安装目录 数据文件目录 NLS_LANG(字符集) 参数文件pg_hba.conf目录 WAL日志文件目录 归档日志文件目录 数据库pg_dumpall备份目录
MES DB服务器 CentOS6.0 9.1 /opt/Postgresql/9.1 /data/mes_data/mes UTF8 /data/mes_data/mes /data/mes_data/pg_xlog /data/mes_data/archive_log /data/rpt_backup Report DB服务器 CentOS6.0 9.1 /opt/Postgresql/9.1 /data/rpt_data/rpt UTF8 /data/rpt_data/rpt /data/rpt_data/pg_xlog /data/rpt_data/archive_log /data/mes_backup 保密 Confidential第7页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
3. DB数据文件和备份存储空间规划
3.1 共享存储RAID阵列准备
共享存储RAID需要存储供应商准备配置完成,并使得LINUX系统安装完成后,能正确识别到共享存储磁盘。
3.2共享磁盘的数据分区划分规划
本套方案采用在两台主机上搭建两套POSTGRESQLACTIVE-STANBY数据库系统。
MES DB :MES ACTIVE DB在主机MESDB 上,其对应的 MES STANDBY DB在RPTDB上,并在RPTDB主机的MES STANDBY DB上进行MES DB的备份;
RPT DB :RPT ACTIVE DB在主机RPTDB 上,其对应的 RPT STANDBY DB在MESDB上;并在MESDB主机的RPT STANDBY DB上进行RPT DB的备份。
从而每台主机上各需要有三个磁盘分区供存放数据库文件和备份文件。
数据分区划分规划如下。
服务器 Mount Point /data/mes_data /data/rpt_data /data/rpt_backup /data/rpt_data RPT DB /data/mes_data /data/mes_backup
数据分区划分规划如下。
注:共享磁盘数据分区划分前,共享存储(RAID)需要存储供应商准备配置完成,并使得Linux系统安装完成后,能正确识别到共享存储磁盘。
Disk Part /dev/sdb1 /dev/sdc2 /dev/sdd2 /dev/sdb2 /dev/sdc1 /dev/sdd1 Disk Size 500G 500G 500G 500G 500G 500G Remark MES ACTIVE DB数据文件分区 RPT STANDBY DB数据文件分区 STANDBY RPT DB备份分区 RPT ACTIVE DB数据文件分区 MES STANDBY DB数据文件分区 STANDBY MES DB备份分区 MES DB 4. Centos6.0 Linux系统的安装
Centos6.0 Linux系统的安装和配置请参考《Centos6.0 Linux系统安装图解》。
注:共享存储的分区使用fdisk工具,根据上面数据分区划分规划,需要将共享存储划分出6个分区,并将其分别挂载到两台主机的相应目录下,fdisk划分分区和mount到数据目录的详细过程《MESwellPostgresql DB系统软硬件架构、安装配置和备份恢复手册V00.01.docx》。 主机MESDB 上数据目录如下:
保密 Confidential第8页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
主机RPT DB上数据目录如下:
保密 Confidential第9页 | 共47页
MES PostgreSQL数据库active standby 系统的配置搭建和容灾切换
下面以在服务器mesdb上安装配置MES Active DB和服务器rptdb上安装配置MES Standby DB为例来演示安装配置及进行故障切换恢复的过程。其RPT ACTIVE -Standby DB在RPT DB服务器和MES DB服务器上的安装配置与MES Active- Standby DB的配置过程类似。
5. Postgresql Active standby系统高可用性概述
5.1Postgresql Active Standby系统高可用性概述
数据库Active standby方式又可成为PrimaryStandby方式。即一台机器的PostgreSQL数据库作为主数据库,提供生产服务,另一台机器上对应的PostgreSQL数据库作为备用数据库,两数据库之间的数据同步,采用primary-standby方式的流复制方式同步数据。
这种高可用性的方式,可以实现数据库的实时备份,且在备份的同时可以进行正常的主数据库的各种操作,也不会影响用户对数据库的访问。同时,当主数据库出现损坏时,可将备用数据库升级为主数据库,然后将应用手工切换到备用数据库服务器。这样可使得原主库在进行维护时,保证应用的持续进行,最大程度的减少了系统宕机时间,满足7*24的系统运行需要。
另,采用Enterprise PostgreSQL9.1版本的这种高可用性Active Standby的流复制备份方式,备用数据库在同步主数据库的数据时,可以用只读的方式打开备用数据库,此时可以在备用数据库上进行查询数据、查询报表等操作,也可用做
读写分离应用。从而以提高企业备用主机的利用率,产生较大的投资回报。(这个功能在oracle数据库中也只是最新版本11g中才有的新功能。)
PostgreSQL Active Standby 的架构原理图可见1.2中(或如下图)。
保密 Confidential第10页 | 共47页