注册
主备集群搭建流程及主备切换
专栏/培训园地/ 文章详情 /

主备集群搭建流程及主备切换

DM_sms 2024/03/27 1126 1 0
摘要

一、主备集群搭建流程

1.1 注意事项:

1.注意关闭防火墙;
2.注意文件权限;
3.数据库服务要以mount方式注册和启动。
4.配置完成后,一定要以同一用户启动进程和监视器,且注意启动和关闭顺序。

1.2 搭建步骤

1.安装数据库:要使用dmdba用户安装数据库。
2.集群环境:
10.9.13.20:主库,kylin10
10.9.13.21:备库,kylin10
10.9.13.22:监视器,kylin10

3.初始化实例:在两台机器上分别初始化实例,并启停一次。
4.在主库上使用dmdba用户脱机备份,备份为db_full_bak01。

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'"

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

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

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

--还原:
./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"

7.配置主库:dm.ini dmmal.ini dmarch.ini dmwatcher.ini
(1)dm.ini修改如下参数:

INSTANCE_NAME=DMSERVER
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2

image.png

(2)配置主库dmmal.ini
image.png
(3)配置主库dmarch.ini
image.png
(4)配置主库dmwatcher.ini
image.png

8.用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

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

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

sp_set_oguid(453331);
alter database primary;

image.png

再去开启实例的窗口执行exit,关闭实例。
image.png

10.配置备库:dm.ini dmarch.ini OGUID
备库文件的配置只需在传过来的文件中进行修改
(1)同样在备库中修改dm.ini参数

INSTANCE_NAME=DMSERVER1  ##将实例名改为DMSERVER1便于进行区分
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2

(2)修改dmmal.ini
image.png

(3)修改dmarch.ini
image.png

(4)配置dmwatcher.ini
image.png

11.以mount方式启动备库

./dmserver /home/dmdba/dm8_1/data/DAMENG/dm.ini mount
--打开disql,修改oguid
sp_set_oguid(453331);
alter database standby;  #修改数据库模式为备库

12.配置监视器
配置dmmonitor.ini文件。
image.png

13.使用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

关闭顺序为:监视器服务——备库守护进程——主库守护进程——主库实例——备库实例。
执行show可查看集群运行状况。
image.png

二、主备切换

2.1 手动切换主备库:

在进行主备切换前,先检查一下数据库是否满足以下条件:
1.主备状态正常
2.确认监视器已启动
主备切换要用到非确认监视器
启动非确认监视器:./dmmonitor /home/dmdba/dm8_1/data/DAMENG/dmmonitor.ini
并登录监视器:
login
SYSDBA
SYSDBA
image.png

手动切换主备库:
image.png
image.png

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

2.2 主备库故障切换

由于上述操作
主库实例:DMSERVER1
备库实例:DMSERVER
image.png

2.2.1 备库故障

1.备库正常停守护:当数据库守护服务停止时,监视器监控不到备库信息。
image.png
启动备库守护时:
备库守护进程状态切换如下:
image.png

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

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

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

2.2.2 主库故障

1.主库正常停守护和服务:发生主备切换
image.png
2.主库kill实例进程:监视器监控到主备异常,发生主备切换,主库的服务被守护拉起后,主库变为备库。
image.png
image.png

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

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服