达梦DM8数据守护实时主备集群的搭建部署V4.0

达梦DM8数据守护实时主备集群的搭建部署V4.0_第1张图片

达梦DM8数据守护实时主备集群的搭建部署V4.0

    • 一、数据守护实时主备
    • 二、数据守护实时主备搭建
      • 2.1 数据准备
        • 2.1.1 脱机备份、脱机还原方式
        • 2.1.2 联机备份、脱机还原方式
      • 2.2 配置实时主备
        • 2.2.1环境说明
        • 2.2.2 数据准备
        • 2.2.3 配置主库GRP1_RT_01
        • 2.2.4 配置备库GRP1_RT_02
        • 2.2.5配置监视器
        • 2.2.6启动守护进程
        • 2.2.7启动监视器

一、数据守护实时主备

实时主备系统由主库、实时备库、守护进程和监视器组成。通过部署实时主备系统,可以及时检测并处理各种硬件故障、数据库实例异常,确保持续提供数据库服务。
主要功能实时主备系统主要功能包括:

  1. 实时数据同步
    主备库通过实时归档完成数据同步,实时归档要求主库将RLOG_PKG发送到备库后,再将RLOG_PKG写入本地联机Redo日志文件。但要注意的是,备库确认收到主库发送的Redo日志,并不保证备库已经完成重演这些Redo日志,因此主备库之间的数据同步存在一定的时间差。
  2. 主备库切换
    主备库正常运行过程中,可以通过监视器的Switchover命令,一键完成主备库角色转换。主备库切换功能可以确保在软、硬件升级,或系统维护时,提供不间断的数据库服务。
  3. 自动故障处理
    备库故障,不影响主库正常提供数据库服务,守护进程自动通知主库修改实时归档为Invalid状态,将实时备库失效。
  4. 自动数据同步
    备库故障恢复后,守护进程自动通知主库发送归档Redo日志,重新进行主备库数据同步。并在历史数据同步后,修改主库的实时归档状态为Valid,恢复实时备库功能。
    备库接管后,原主库故障恢复,守护进程自动修改原主库的模式为Standby,并重新作为备库加入主备系统。
  5. 备库接管
    主库发生故障后,可以通过监视器的Takeover命令,将备库切换为主库,继续对外提供服务。如果配置为自动切换模式,确认监视器可以自动检测主库故障,并通知备库接管,这个过程不需要人工干预。
  6. 备库强制接管
    如果执行Takeover命令不成功,但主库可能由于硬件损坏等原因无法马上恢复,为了及时恢复数据库服务,DM提供了Takeover Force命令,强制将备库切换为主库。但需要由用户确认主库故障前,主库与接管备库的数据是一致的(主库到备库的归档是Valid状态),避免引发守护进程组分裂。
  7. 读写分离访问
    在备库查询的实时性要求不高的条件下,实时主备也可以配置接口的读写分离属性访问,实现读写分离功能特性。

二、数据守护实时主备搭建

在搭建数据守护系统前,应注意数据守护系统中各实例使用的DM服务器版本应一致,同时还应注意各实例所在主机的操作系统位数、大小端模式、时区及时间设置都应一致,以及使用同一个用户启动DM服务器和守护进程dmwatcher,以免系统在运行时出现意想不到的错误。

2.1 数据准备

配置数据守护V4.0之前,必须先通过备份还原方式同步各数据库的数据,确保各数据的数据保持完全一致。主库可以是新初始化的数据库,也可以是正在生产、使用中的数据库。
不能使用分别初始化库或者直接拷贝数据文件的方法,原因如下:
1. 每个库都有一个永久魔数(permenant_magic),一经生成,永远不会改变,主库传送日志时会判断这个值是否一样,确保是来自同一个数据守护环境中的库,否则传送不了日志。
2. 由于dminit初始化数据库时,会生成随机密钥用于加密,每次生成的密钥都不相同,备库无法解析采用主库密钥加密的数据。
3. 每个库都有一个数据库魔数(DB_MAGIC),每经过一次还原、恢复操作,DB_MAGIC就会产生变化,需要通过这种方式来区分同一个数据守护环境中各个不同的库。
注意:对于新初始化的库,首次启动不允许使用Mount方式,需要先正常启动并正常退出,然后才允许Mount方式启动。准备数据时,如果主库是新初始化的库,先正常启动并正常退出,然后再使用备份还原方式准备备库数据。
如果是初始搭建环境,可以通过对主库脱机备份、对备库脱机还原的方式来准备数据,如果主库已经处于运行状态,则可以对主库进行联机备份、对备库脱机还原的方式来准备数据。
两种方式都需要服务器配置本地归档,本地归档配置方式如下:
1.配置dm.ini,打开ARCH_INI参数
在这里插入图片描述
2.配置dmarch.ini
达梦DM8数据守护实时主备集群的搭建部署V4.0_第2张图片

2.1.1 脱机备份、脱机还原方式

  1. 正常关闭数据库
  2. 进行脱机备份
    在这里插入图片描述
  3. 拷贝备份文件到备库所在机器
  4. 执行脱机数据库还原与恢复
    达梦DM8数据守护实时主备集群的搭建部署V4.0_第3张图片

2.1.2 联机备份、脱机还原方式

  1. 对主库进行联机备份操作
    SQL> BACKUP DATABASE BACKUPSET '/dm/data/BACKUP_FILE_01';
  2. 拷贝备份文件到备库所在机器
  3. 执行脱机数据库还原与恢复
    在这里插入图片描述
    在这里插入图片描述

2.2 配置实时主备

配置实时主备,有以下几种配置方案,可以根据实际情况部署:

  1. 只配置主库和最多8个实时备库。
  2. 只配置主库和最多8个异步备库。
  3. 配置主库、最多8个实时备库,和最多8个异步备库。
    在实际应用中,如果数据库规模很大,并且对数据的实时性要求不是很严格,则可以配置多个异步备库用于分担统计报表等任务。

2.2.1环境说明

下列机器都事先安装了DM,安装路径为’/dm’,执行程序保存在’/dm/bin’目录中,数据存放路径为’/dm/data’。
各主备库的实例名建议采用“组名_守护环境_序号”的方式命名,方便按组区分不同实例,注意总长度不能超过16。本示例中组名为“GRP1”,配置为实时主备,主库命名为“GRP1_RT_01”,备库命名为“GRP1_RT_02”。

配置环境说明:
达梦DM8数据守护实时主备集群的搭建部署V4.0_第4张图片

端口规划:
达梦DM8数据守护实时主备集群的搭建部署V4.0_第5张图片

2.2.2 数据准备

DW_P机器上初始化库至目录/dm/data:
在这里插入图片描述
然后按照2.1数据准备中的方法准备备库数据。

2.2.3 配置主库GRP1_RT_01

1.配置dm.ini

在DW_P机器上配置主库的实例名为GRP1_RT_01,dm.ini参数修改如下:
达梦DM8数据守护实时主备集群的搭建部署V4.0_第6张图片
2.配置dmmal.ini

配置MAL系统,各主备库的dmmal.ini配置必须完全一致,MAL_HOST使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM使用不同的端口值,MAL_DW_PORT是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:
达梦DM8数据守护实时主备集群的搭建部署V4.0_第7张图片

3.配置dmarch.ini

修改dmarch.ini,配置本地归档和实时归档。
除了本地归档外,其他归档配置项中的ARCH_DEST表示实例是Primary模式时,需要同步归档数据的目标实例名。
当前实例GRP1_RT_01是主库,需要向GRP1_RT_02(实时备库)同步数据,因此实时归档的ARCH_DEST配置为GRP1_RT_02。

达梦DM8数据守护实时主备集群的搭建部署V4.0_第8张图片
4.配置dmwatcher.ini

修改dmwatcher.ini配置守护进程,配置为全局守护类型,使用自动切换模式。

达梦DM8数据守护实时主备集群的搭建部署V4.0_第9张图片
5.启动主库

以Mount方式启动主库
mount主库
注意:一定要以Mount方式启动数据库实例,否则系统启动时会重构回滚表空间,生成Redo日志;并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。数据守护配置结束后,守护进程会自动Open数据库。

6.设置OGUID

启动命令行工具DIsql,登录主库设置OGUID值。达梦DM8数据守护实时主备集群的搭建部署V4.0_第10张图片
注意:系统通过OGUID值确定一个守护进程组,由用户保证OGUID值的唯一性,并确保数据守护系统中,数据库、守护进程和监视器配置相同的OGUID值。

7.修改数据库模式

启动命令行工具DIsql,登录主库修改数据库为Primary模式
在这里插入图片描述

2.2.4 配置备库GRP1_RT_02

1.配置dm.ini

在DW_S1机器上配置备库的实例名为GRP1_RT_02,dm.ini参数修改如下:达梦DM8数据守护实时主备集群的搭建部署V4.0_第11张图片
2.配置dmmal.ini

配置MAL系统,各主备库的dmmal.ini配置必须完全一致,MAL_HOST使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM使用不同的端口值,MAL_DW_PORT是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:
达梦DM8数据守护实时主备集群的搭建部署V4.0_第12张图片
3.配置dmarch.ini

修改dmarch.ini,配置本地归档和实时归档。
除了本地归档外,其他归档配置项中的ARCH_DEST表示实例是Primary模式时,需要同步归档数据的目标实例名。
当前实例GRP1_RT_02是备库,守护系统配置完成后,可能在各种故障处理中,GRP1_RT_02切换为新的主库,正常情况下,GRP1_RT_01会切换为新的备库,需要向GRP1_RT_01同步数据,因此实时归档的ARCH_DEST配置为GRP1_RT_01。
达梦DM8数据守护实时主备集群的搭建部署V4.0_第13张图片

4.配置dmwatcher.ini

修改dmwatcher.ini配置守护进程,配置为全局守护类型,使用自动切换模式。
达梦DM8数据守护实时主备集群的搭建部署V4.0_第14张图片
5.启动备库

以Mount方式启动备库
在这里插入图片描述
6.设置OGUID

启动命令行工具DIsql,登录备库设置OGUID值为453331达梦DM8数据守护实时主备集群的搭建部署V4.0_第15张图片

7.修改数据库模式

启动命令行工具DIsql,登录备库修改数据库为Standby模式。如果当前数据库不是Normal模式,需要先修改dm.ini中ALTER_MODE_STATUS值为1,允许修改数据库模式,修改Standby模式成功后再改回为0。如果是Normal模式,请忽略下面的第1步和第3步。

达梦DM8数据守护实时主备集群的搭建部署V4.0_第16张图片

2.2.5配置监视器

由于主库和实时备库的守护进程配置为自动切换模式,因此这里选择配置确认监视器。和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知实时备库接管为新的主库,具有自动故障处理的功能。

注意:故障自动切换模式下,必须配置确认监视器,且确认监视器最多只能配置一个。

修改dmmonitor.ini配置确认监视器,其中MON_DW_IP中的IP和PORT和dmmal.ini中的MAL_HOST和MAL_DW_PORT配置项保持一致。
达梦DM8数据守护实时主备集群的搭建部署V4.0_第17张图片

2.2.6启动守护进程

启动各个主备库上的守护进程:
在这里插入图片描述
守护进程启动后,进入Startup状态,此时实例都处于Mount状态。守护进程开始广播自身和其监控实例的状态信息,结合自身信息和远程守护进程的广播信息,守护进程将本地实例Open,并切换为Open状态。

2.2.7启动监视器

启动监视器:
在这里插入图片描述
监视器提供一系列命令,支持当前守护系统状态查看以及故障处理,可输入help命令,查看各种命令说明使用,结合实际情况选择使用。

至此一主一备的实时数据守护系统搭建完毕,在搭建步骤和各项配置都正确的情况下,在监视器上执行show命令,可以监控到所有实例都处于Open状态,所有守护进程也都处于Open状态,即为正常运行状态。

你可能感兴趣的:(数据库)