主备集群搭建流程、主备切换及主备故障测试

 写在前面

1. 一定要关闭防火墙;

2. 注意文件权限;

3. 数据库服务要以mount方式注册和启动。

4. 配置完成后,一定要以同一用户启动进程和监视器,且注意启动和关闭顺序。

目录

一、安装数据库

二、集群搭建:

三、主备切换

四、主备库故障切换


一、安装数据库

要使用dmdba用户安装数据库。

二、集群搭建:

服务器IP

服务器作用

系统版本

10.9.13.20

主库

kylin10

10.9.13.21

备库

kylin10

10.9.13.22

监视器

kylin10

初始化实例:在两台机器上分别初始化实例,并启停一次,

配置读写分离集群:

1. 在主库上使用dmdba用户脱机备份,备份为db_full_bak01

su dmdba

cd /home/dmdba/dm8/bin

./dmrman ctlstmt="backup database '/home/dmdba/dm8/data/DAMENG/dm.ini' full to db_full_bak01 backupset '/home/dmdba/dm8/data/DAMENG/db_full_bak01'"

将备份文件发送到备库中:

su - dmdba

scp -r /home/dmdba/dm8/data/DAMENG/db_full_bak01/192.168.96.129:/home/dmdba/dm8_1/data

/DAMENG

2. 在备库上进行备份还原更新

su dmdba

还原:

./dmrman ctlstmt="restore database '/home/dmdba/dm8_1/data/DAMENG/dm.ini' from backupset '/home/dmdba/dm8_1/data/DAMENG/db_full_bak01'"

恢复:

./dmrman ctlstmt="recover database '/home/dmdba/dm8_1/data/DAMENG/dm.ini' from backupset '/home/dmdba/dm8_1/data/DAMENG/db_full_bak01'"

更新:

./dmrman ctlstmt="recover database '/home/dmdba/dm8_1/data/DAMENG/dm.ini' update db_magic"

3. 配置主库:dm.ini  dmmal.ini  dmarch.ini  dmwatcher.ini

dm.ini修改如下参数:

INSTANCE_NAME=DMSERVER

ARCH_INI=1

MAL_INI=1

ALTER_MODE_STATUS= 0

ENABLE_OFFLINE_TS = 2

 

配置主库dmmal.ini

配置主库dmarch.ini

配置主库dmwatcher.ini

4. 用dmdba用户将配置文件发送到备库

scp dmmal.ini dmarch.ini dmwatcher.ini @10.9.13.21:/home/dmdba/dm8_1/data/DAMENG

并在备库检查三个文件是否属于dmdba:dinstall

若不属于,用以下语句修改权限:

chown -R dmdba:dinstall  dmmal.ini

5.配置主库OGUID

在数据库bin目录下执行./dmserver /home/dmdba/dm8/data/DAMENG/dm.ini mount

在另一个窗口执行,打开disql,修改oguid和数据库模式

sp_set_oguid(453331);

alter database primary;

再去开启实例的窗口执行exit,关闭实例

6. 配置备库:dm.ini  dmarch.ini  OGUID

备库文件的配置只需在传过来的文件中进行修改

同样在备库中修改dm.ini参数

INSTANCE_NAME=DMSERVER1  ##将实例名改为DMSERVER1便于进行区分

ARCH_INI=1

MAL_INI=1

ALTER_MODE_STATUS= 0

ENABLE_OFFLINE_TS = 2

修改dmmal.ini

修改dmarch.ini

配置dmwatcher.ini

7. 以mount方式启动备库

./dmserver /home/dmdba/dm8_1/data/DAMENG/dm.ini mount

打开disql

修改oguid

sp_set_oguid(453331);

alter database standby;  #修改数据库模式为备库

配置监视器

配置dmmonitor.ini文件

8. 使用root用户注册监视器服务,在/script/root目录下执行

./dm_service_installer.sh -t dmmonitor -monitor_ini /home/dmdba/dm8_test/data/DAMENG

/dmmonitor.ini -p DMSERVER

此时主备集群已经搭建完毕

接下来启动主备

启动顺序为:主库实例——备库实例——主库守护进程——备库守护进程——监视器服务

启动方式,均在bin目录下执行:

启动数据库实例:./dmserver /home/dmdba/dm8/data/DAMENG/dm.ini mount

启动守护进程:./dmwatcher /home/dmdba/dm8/data/DAMENG/dmwatcher.ini

启动监视器:./dmmonitor /home/dmdba/dm8_test/dmmonitor.ini

关闭顺序为:监视器服务——备库守护进程——主库守护进程——主库实例——备库实例

执行:exit 退出

执行show可查看集群运行状况

三、主备切换

手动切换主备库:

在进行主备切换前,先检查一下数据库是否满足以下条件:

1. 主备状态正常

2. 确认监视器已启动

主备切换要用到非确认监视器

启动非确认监视器:./dmmonitor /home/dmdba/dm8_1/data/DAMENG/dmmonitor.ini

并登录监视器:

login

SYSDBA

SYSDBA

手动切换主备库:

此时主备库已经切换,可以在监视器中进行查看

四、主备库故障切换

由于上述操作

主库实例:DMSERVER1

备库实例:DMSERVER

1.备库故障:

(1)备库正常停守护:当数据库守护服务停止时,监视器监控不到备库信息

启动备库守护时:

备库守护进程状态切换如下:

(2)备库停服务:监视器监控到备库异常重启备库服务后监视器收到备库信息,备库重新加入到集群当中

(3)备库kill实例进程:监视器监控到备库异常,并很快将备库服务重新拉起继续提供服务。

(4)备库重启:当备库服务器重启,监视器会先收不到备库消息,当备库服务器重新启动后备库服务又重新加入到集群中,作为备库继续提供服务

2.主库故障

(1)主库正常停守护和服务:发生主备切换

(2)主库kill实例进程:监视器监控到主备异常,发生主备切换,主库的服务被守护拉起后,主库变为备库。

(3)主库重启:当重启主库数据库服务器时,监视器失去主库消息,开始主备切换,将备库切换为主库,服务器重启后,监视器收到消息,重新加入集群,并作为集群备库继续提供服务。

如果还有任何问题,欢迎到达梦云适配中心提问哦!

社区 | 达梦云适配中心 (dameng.com)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Docker 搭建达梦数据库主备集群,需要进行以下步骤: 1. 下载达梦数据库镜像 可以从官方网站或 Docker Hub 下载达梦数据库镜像。例如,可以使用以下命令从 Docker Hub 下载达梦数据库镜像: ``` docker pull dameng/db:7.5.0 ``` 2. 创建主数据库容器 使用以下命令创建主数据库容器: ``` docker run -d --name dameng-master -p 5236:5236 -e MASTER_SLAVE=M \ -e DBNAME=dm7 -e USERNAME=sysdba -e PASSWORD=123456 \ dameng/db:7.5.0 ``` 其中,`-d` 表示在后台运行容器,`--name` 指定容器名称,`-p` 指定容器端口映射,`-e` 指定环境变量,`dameng/db:7.5.0` 是达梦数据库镜像名称和版本号。 3. 创建备数据库容器 使用以下命令创建备数据库容器: ``` docker run -d --name dameng-slave -p 5237:5237 -e MASTER_SLAVE=S \ -e DBNAME=dm7 -e USERNAME=sysdba -e PASSWORD=123456 \ -e MASTER_HOST=172.17.0.2 -e MASTER_PORT=5236 \ dameng/db:7.5.0 ``` 其中,`MASTER_SLAVE` 指定容器角色为备数据库,`MASTER_HOST` 和 `MASTER_PORT` 指定主数据库的 IP 地址和端口号。 4. 测试主备切换 可以使用 `docker ps` 命令查看容器运行状态,使用 `docker logs` 命令查看容器日志信息。测试主备切换时,可以通过关闭主数据库容器,观察备数据库容器是否能够自动接管主数据库的角色。 以上就是使用 Docker 搭建达梦数据库主备集群的基本步骤。需要注意的是,在实际生产环境中,还需要进行容器管理、数据备份等工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值