注册
达梦数据库数据共享集群DSC -- 缩减节点
培训园地/ 文章详情 /

达梦数据库数据共享集群DSC -- 缩减节点

小小人⑤ 2025/06/03 39 0 0

概述

本文讲述的环境均是在本地的VMware虚拟机环境,仅供参考。

现有环境是三个节点的DSC集群,当DSC集群有一个节点系统故障,需要剔除节点。此次模拟是剔除节点二。

环境说明

达梦数据库数据共享集群DSC -- 两节点搭建
达梦数据库数据共享集群DSC -- 添加节点

缩减步骤

导出dmdcr_cfg_bak.ini配置文件

这一步需要在dmdba用户下操作,在控制节点dsc1操作

使用DMASMCMD工具export出备份文件dmdcr_cfg_bak20250326.ini

cd /opt/dmdbms/bin
./dmasmcmd
# 指定导出命令
export dcrdisk '/dev_dmdsc/DCR' to '/dmdata/config/dmdcr_cfg_bak20250326.ini'

知识篇  数据共享集群  缩减节点  001.png

为节点二删除REDO日志文件

可选择任意节点操作,这里选择控制节点dsc1操作

查询当前redo日志文件信息

cd /opt/dmdbms/bin
./dmasmtool DCR_INI=/dmdata/config/dmdcr.ini
ls +DMLOG/log

知识篇  数据共享集群  缩减节点  002.png

删除节点二的REDO日志文件

cd +DMLOG/log
rm -f dsc2_log01.log
rm -f dsc2_log02.log

知识篇  数据共享集群  缩减节点  003.png

删除节点二的归档

cd +DMDATA/ARCH
rm -rf DSC2

停止服务

DSC-ASM-CSS

这一步需要在dmdba用户下操作,在节点一进入dmcssm监视器并在监视器界面执行

停止数据库实例

ep stop grp_dsc

停止ASM服务

ep stop grp_asm

停止CSS服务

这一步需要在root用户下操作,两个节点都需要执行

节点一

systemctl stop DmCSSServiceCSS1

节点二

systemctl stop DmCSSServiceCSS2

节点三

systemctl stop DmCSSServiceCSS3

修改配置文件

修改导出的dmdcr_cfg文件

修改 dmdcr_cfg_bak20250326.ini 文件
将节点二的信息删除,注意节点三参数修改 DCR_EP_SEQNO=1
vim /dmdata/config/dmdcr_cfg_bak20250326.ini

#DCR HDR
DCR_N_GRP              = 3
DCR_VTD_PATH           = /dev_dmdsc/VOTE
DCR_OGUID              = 63635

[GRP]
DCR_GRP_TYPE           = CSS
DCR_GRP_NAME           = GRP_CSS
DCR_GRP_N_EP           = 2
DCR_GRP_EP_ARR         = {0,1}
DCR_GRP_N_ERR_EP       = 0
DCR_GRP_ERR_EP_ARR     = {}
DCR_GRP_DSKCHK_CNT     = 60

[GRP]
DCR_GRP_TYPE           = ASM
DCR_GRP_NAME           = GRP_ASM
DCR_GRP_N_EP           = 2
DCR_GRP_EP_ARR         = {0,1}
DCR_GRP_N_ERR_EP       = 0
DCR_GRP_ERR_EP_ARR     = {}
DCR_GRP_DSKCHK_CNT     = 60

[GRP]
DCR_GRP_TYPE           = DB
DCR_GRP_NAME           = GRP_DSC
DCR_GRP_N_EP           = 2
DCR_GRP_EP_ARR         = {0,1}
DCR_GRP_N_ERR_EP       = 0
DCR_GRP_ERR_EP_ARR     = {}
DCR_GRP_DSKCHK_CNT     = 60

[GRP_CSS]
DCR_EP_NAME        = CSS1
DCR_EP_HOST        = 10.10.10.1
DCR_EP_PORT        = 11286

[GRP_CSS]
DCR_EP_NAME        = CSS3
DCR_EP_HOST        = 10.10.10.3
DCR_EP_PORT        = 11288

[GRP_ASM]
DCR_EP_NAME        = ASM1
DCR_EP_SHM_KEY     = 64735
DCR_EP_SHM_SIZE    = 1024
DCR_EP_HOST        = 10.10.10.1
DCR_EP_PORT        = 11276
DCR_EP_ASM_LOAD_PATH  = /dev_dmdsc                                                         

[GRP_ASM]
DCR_EP_NAME        = ASM3
DCR_EP_SHM_KEY     = 64737
DCR_EP_SHM_SIZE    = 1024
DCR_EP_HOST        = 10.10.10.3
DCR_EP_PORT        = 11278
DCR_EP_ASM_LOAD_PATH  = /dev_dmdsc

[GRP_DSC]
DCR_EP_NAME        = DSC1
DCR_EP_SEQNO       = 0
DCR_EP_PORT        = 5236
DCR_CHECK_PORT     = 11266

[GRP_DSC]
DCR_EP_NAME        = DSC3
DCR_EP_SEQNO       = 1
DCR_EP_PORT        = 5236
DCR_CHECK_PORT     = 11268

修改归档文件

修改节点一上的 dmarch.ini 文件
将节点二的信息删除
vim /dmdata/dsc1_config/dmarch.ini

ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/ARCH/DSC1/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_REMOTE2]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC3
ARCH_INCOMING_PATH = +DMDATA/ARCH/DSC3/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 409600
ARCH_FLUSH_BUF_SIZE = 32

修改节点三上的 dmarch.ini 文件
将节点二的信息删除
vim /dmdata/dsc3_config/dmarch.ini

ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/ARCH/DSC3/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMDATA/ARCH/DSC1/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 409600
ARCH_FLUSH_BUF_SIZE = 32

修改MAL配置文件

所有节点都需要操作,配置文件相同

所有节点
vim /dmdata/config/dmasvrmal.ini

[MAL_INST1]
MAL_INST_NAME = ASM1
MAL_HOST = 10.10.10.1
MAL_PORT = 11256
[MAL_INST3]
MAL_INST_NAME = ASM3
MAL_HOST = 10.10.10.3
MAL_PORT = 11258

修改dmmal.ini配置文件

所有节点都需要操作,配置文件相同。节点一和节点三路径不一样

vim /dmdata/dsc1_config/dmmal.ini(vim /dmdata/dsc3_config/dmmal.ini)

[mal_inst0]
    mal_inst_name  = DSC1 
    mal_host       = 10.10.10.1 
    mal_port       = 11246 

[mal_inst2]
    mal_inst_name  = DSC3
    mal_host       = 10.10.10.3 
    mal_port       = 11248

节点三修改dmdcr.ini文件

修改 dmdcr.ini 文件

只需节点三修改

vim /dmdata/config/dmdcr.ini

DMDCR_SEQNO = 1

将修改的配置文件写回磁盘中

把dmdcr_cfg_bak20250326.ini配置文件写回磁盘中

这一步在控制节点dsc1上操作

cd /opt/dmdbms/bin
./dmasmcmd
init dcrdisk '/dev_dmdsc/DCR' from '/dmdata/config/dmdcr_cfg_bak20250326.ini' identified by 'Dameng123'

知识篇  数据共享集群  缩减节点  004.png

修改监视器配置

这一步需要在dmdba用户下操作,在节点一操作即可

在监视器配置文件里添加内容
删除节点二信息
vim /dmdata/config/cssm.ini

CSSM_OGUID = 63635
CSSM_CSS_IP = 10.10.10.1:11286
CSSM_CSS_IP = 10.10.10.3:11288
CSSM_LOG_PATH = /dmdata/log
CSSM_LOG_FILE_SIZE = 1024
CSSM_LOG_SPACE_LIMIT = 0

启动服务

CSS-ASM-DSC

这一步需要在root用户下操作,两个节点都需要执行

启动节点一和节点三的CSS服务:

systemctl start DmCSSServiceCSS1
systemctl start DmCSSServiceCSS3

通过监视器确认集群状态

cd /opt/dmdbms/bin
./dmcssm ini_path=/dmdata/config/cssm.ini
show

知识篇  数据共享集群  缩减节点  005.png

注意
报错信息: Connect to [CSS2] failed, please check the network or the CSSM_CSS_IP config in [/dmdata/config/cssm.ini]
原因:监视器上的报错信息是由于节点三上的CSSASMDSC名称未变更导致;
解决方法:将在前面修改配置文件中也将节点三上的配置名称变更即可;
另外:节点三上的 dm.ini 里的 INSTANCE_NAME = DSC2 注意修改。

清理控制文件相关信息

通过dmctlcvt工具将dm.ctl文件转换成文本文件进行编辑

cd /opt/dmdbms/bin
./dmctlcvt type=1 src=+DMDATA/data/dsc/dm.ctl dest=/dmdata/config/dmctrl20250326.txt dcr_ini=/dmdata/config/dmdcr.ini

编辑文件

注意
删除节点二保留节点三,但是在DSC集群中节点三就是剩余的第二个节点,所以在控制文件中需要将DSC3的信息删除

vim /dmdata/config/dmctrl20250326.txt

#===============================================
# table space name
ts_name=RLOG
# table space ID
ts_id=2
# table space status
ts_state=0
# table space cache
ts_cache=
# DSC node number
ts_nth=2
# DSC optimized node number
ts_opt_node=0
# table space quota state
ts_quota_state=0
# table space create time
ts_create_time=DATETIME '2025-02-21 02:10:12'
# table space modify time
ts_modify_time=DATETIME '2025-02-21 02:10:12'
# table space encrypt flag
ts_encrypt_flag=0
# table space copy num
ts_copy_num=0
# table space region size flag
ts_size_flag=0
# table space region huge size flag
ts_huge_size_flag=0

#-----------------------------------------------

# file path
fil_path=+DMLOG/log/dsc3_log01.log
# mirror path
mirror_path=
# file id
fil_id=0
# whether the file is auto extend
autoextend=1
# file create time
fil_create_time=DATETIME '2025-02-21 02:10:12'
# file modify time
fil_modify_time=DATETIME '2025-02-21 02:10:12'
# the max size of file
fil_max_size=0
# next size of file
fil_next_size=0
# whether the file is in creating
fil_in_creating=0

# file path
fil_path=+DMLOG/log/dsc3_log02.log
# mirror path
mirror_path=
# file id
fil_id=1
# whether the file is auto extend
autoextend=1
# file create time
fil_create_time=DATETIME '2025-02-21 02:10:12'
# file modify time
fil_modify_time=DATETIME '2025-02-21 02:10:12'
# the max size of file
fil_max_size=0
# next size of file
fil_next_size=0
# whether the file is in creating
fil_in_creating=0
#===============================================

通过dmctlcvt工具将文本文件转化成dm.ctl控制文件

./dmctlcvt type=2 src=/dmdata/config/dmctrl20250326.txt dest=+DMDATA/data/dsc/dm.ctl dcr_ini=/dmdata/config/dmdcr.ini

重启集群确认状态

cd /opt/dmdbms/bin
./dmcssm ini_path=/dmdata/config/cssm.ini
show
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服