A节点 B节点
角色 主库 备库
IP 10.137.82.207 10.137.82.219
实例名 GRP1_RT_01 GRP1_RT_02
数据库名 DB01 DB02
实例端口 6236 6236
MAL端口 6336 6336
MAL_DW_PORT 6436 6436
MAL_INST_DW_PORT 6536 6536
OGUID 66123 66123
守护组 GRP1 GRP1
安装目录 /home/dmdba/dmdbms /home/dmdba/dmdbms
实例目录 /home/dmdba/dmdbms/data /home/dmdba/dmdbms/data
Dmmonitor.ini目录 与A节点一个机器 10.137.82.207
/home/dmdba/dmdbms/data/dmmonitor.ini
在正式配置主备集群前,首先需要在两台服务器上分别完成数据库实例的初始化工作,为两个节点搭建独立的基础数据库运行环境,这是主备配置的前提。
A节点
B节点
完成数据初始化后,需要对主库的核心配置文件进行修改,开启主备集群相关的功能配置,这是实现主备数据同步、守护进程管理的核心步骤,下面将对主备集群的部署进行详细叙述。
修改dm.ini
此处需要修改主备相关的参数涉及,开启MAL通信系统与归档功能,同时限制手工修改实例状态的权限
vi /home/dmdba/dmdbms/data/DB01/dm.ini
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
配置dmmal.ini
dmmal.ini是MAL系统的配置文件,用于配置主备节点之间的通信信息,包括节点的IP地址、通信端口、守护进程通信端口等。
配置dmarch.ini
dmarch.ini是归档配置文件,此处为主库配置远程归档,将主库生成的归档日志实时传输到备库节点,让备库可以及时获取主库的操作日志,从而重放日志实现数据同步。
配置dmwatcher.ini
dmwatcher.ini是守护进程的配置文件,守护进程是主备集群的核心管理进程,负责监控数据库实例的运行状态,当主库出现故障时,守护进程会自动触发故障切换,将备库切换为主库,保障业务的连续性。
完成所有相关配置文件后,以mount方式启动主库
设置OGUID,修改数据库模式
修改dm.ini
vi /home/dmdba/dmdbms/data/DB02/dm.ini
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
配置dmmal.ini跟主库配置完全一致
配置dmarch.ini
配置dmwatcher.ini
以mount方式启动备库
设置OGUID,并修改数据库模式
配置确认监视器
启动主备守护进程
通过监视器可以查看主备集群的当前状态,包括主库与备库的运行状态、数据同步状态、归档传输状态等信息,确认主备集群已经正常启动,数据同步正常,至此整个主备部署流程全部完成。
主备切换包括自动切换和手工切换,自动切换需配置dmwatcherini配置文件中的DW_MODE为AUTO,自动切换场景可以是在主机发生故障后,备库进行自动接管,自动切换为主机,当故障主机恢复正常加入集群后,自动切换为备机。
主机数据库实例故障(kill -9),备机自动切换为主机
故障前监视器状态
Kill -9主机后备机进行自动接管
主机恢复正常加入集群
监视器状态,主备发生了切换
接着上面操作,手动操作,将备机重新切换为主机
切换后监视器状态,主备切换为初始状态
配置dmarch.ini中的ARCH_WAIT_APPLY=1,该模式下同一个事务的SELECT语句无论是在主库执行,还是在备库执行,查询结果都满足READ COMMIT隔离级要求
配置dmarch.ini中的ARCH_WAIT_APPLY=0,该模式下,备库和主库的数据同步存在一定延时,不能严格保证事务一致性
在部署过程中,需要注意以下几点:
1.主备节点的dmmal.ini配置必须完全一致,否则会导致节点之间无法正常通信,主备同步失败。
2.所有节点的时间需要保持同步,否则会导致日志同步出现问题,影响主备数据的一致性。
3.网络环境需要保证主备节点之间的网络稳定,低延迟,因为主备同步依赖于节点之间的网络传输,网络不稳定会导致同步延迟,甚至同步失败。
文章
阅读量
获赞
