本章节为补充说明,目的是将恢复之后的实例拓展成DS_PPS集群。由于DS_PPS集群环境为特定提供镜像环境(科特迪瓦提供的特定镜像)搭建完成,因此恢复成DS_PPS集群也是恢复至原有镜像搭建环境。下文中脚本在镜像安装之后环境自带,不做补充说明。本章节只做简单步骤指导。
前置环境准备配置
-
利用原生产镜像搭建一个节点(DS_PPS三号机)作为灾备节点,通过root用户,执行命令初始化一个空实例A:
/root/script/postgresql96-setup_initdb.sh
-
按照第五章的恢复步骤,恢复数据库数据至DS_PPS三号机空实例A的数据路径下,覆盖空实例A下的数据;编辑postgresql.auto.conf文件取消以下两个参数的注释,并重启实例。
编辑postgresql.auto.conf
-
按照原双机环境搭建两个节点:DS_PPS一号机与DS_PPS二号机,部署好Pacemaker集群;
-
执行
pcs status
查看主用数据库所在机器(DS_PPS一号机),在DS_PPS一号机上,通过root用户,执行命令初始化一个空实例:/root/script/postgresql96-setup_initdb.sh
-
在DS_PPS二号机上,通过root用户,执行命令
/root/script/ds_pps_addnode.sh
-
节点添加完毕后,请先等待5分钟,然后通过root用户,执行命令:
pcs status
查看集群状态
此时Pacemaker集群已在DS_PPS二号机上启动。
部署灾备数据库
-
通过root用户,执行命令:
shutdown -h now
,关闭DS_PPS数据库二号机。 -
在DS_PPS数据库一号机上,通过postgres用户,执行命令:
/home/postgres/1.pg_create_standby_db.sh
-
在部署灾备库(DS_PPS数据库一号机)的交互界面中,输入主用数据库IP地址:DS_PPS数据库三号机的IP地址。
-
此时,DS_PPS数据库一号机, 已降级为DS_PPS数据库三号机的灾备库。
-
在DS_PPS数据库一号机上,通过postgres用户,执行命令:
/home/postgres/2.pg_sync_status.sh
,查看数据同步状态,确保已正常实时同步DS_PPS数据库三号机的数据。 -
在DS_PPS数据库一号机上,通过root用户,查看DS_PPS集群状态:
查看集群状态
-
在DS_PPS数据库一号机上,通过root用户,查看PostgreSQL状态:
[root@svr-dsdb01 ~]# systemctl status postgresql-9.6.service
查看PostgreSQL状态
主备切换
-
在DS_PPS数据库一号机上,通过postgres用户,执行命令:
/home/postgres/3.pg_failover.sh
-
此时,DS_PPS数据库一号机已经升级为主库。
-
将DS_PPS数据库二号机开机。
-
DS_PPS数据库二号机启动后,DS_PPS集群的主库会自动切换到DS_PPS数据库二号机。
-
在DS_PPS数据库二号机上,通过root用户,查看DS_PPS集群状态,集群恢复完成:
[root@svr-dsdb02 ~]# pcs status
查看Pacemaker集群状态