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

 写在前面

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

 主备集群搭建流程、主备切换及主备故障测试_第1张图片

配置主库dmmal.ini

主备集群搭建流程、主备切换及主备故障测试_第2张图片

配置主库dmarch.ini

主备集群搭建流程、主备切换及主备故障测试_第3张图片

配置主库dmwatcher.ini

主备集群搭建流程、主备切换及主备故障测试_第4张图片

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

主备集群搭建流程、主备切换及主备故障测试_第5张图片

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

sp_set_oguid(453331);

alter database primary;

主备集群搭建流程、主备切换及主备故障测试_第6张图片

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

主备集群搭建流程、主备切换及主备故障测试_第7张图片

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

主备集群搭建流程、主备切换及主备故障测试_第8张图片

修改dmarch.ini

主备集群搭建流程、主备切换及主备故障测试_第9张图片

配置dmwatcher.ini

主备集群搭建流程、主备切换及主备故障测试_第10张图片

7. 以mount方式启动备库

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

打开disql

修改oguid

sp_set_oguid(453331);

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

配置监视器

配置dmmonitor.ini文件

主备集群搭建流程、主备切换及主备故障测试_第11张图片

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可查看集群运行状况

主备集群搭建流程、主备切换及主备故障测试_第12张图片

三、主备切换

手动切换主备库:

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

1. 主备状态正常

2. 确认监视器已启动

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

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

并登录监视器:

login

SYSDBA

SYSDBA

主备集群搭建流程、主备切换及主备故障测试_第13张图片

手动切换主备库:

主备集群搭建流程、主备切换及主备故障测试_第14张图片

主备集群搭建流程、主备切换及主备故障测试_第15张图片

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

主备集群搭建流程、主备切换及主备故障测试_第16张图片

四、主备库故障切换

由于上述操作

主库实例:DMSERVER1

备库实例:DMSERVER

主备集群搭建流程、主备切换及主备故障测试_第17张图片

1.备库故障:

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

启动备库守护时:

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

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

主备集群搭建流程、主备切换及主备故障测试_第18张图片

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

主备集群搭建流程、主备切换及主备故障测试_第19张图片(4)备库重启:当备库服务器重启,监视器会先收不到备库消息,当备库服务器重新启动后备库服务又重新加入到集群中,作为备库继续提供服务

2.主库故障

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

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

主备集群搭建流程、主备切换及主备故障测试_第20张图片

主备集群搭建流程、主备切换及主备故障测试_第21张图片

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

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

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

你可能感兴趣的:(数据库架构,dba,数据库)