DSC 动态拓展节点

DSC 动态拓展节点

DMDSC 集群支持动态拓展节点,每次拓展可以在原有基础上增加一个节点,动态拓展要求当前 DMDSC 集群的所有节点都为 OK 状态,所有 DMSERVER 实例都处于 OPEN 状态,且可以正常访问

注意:拓展节点过程中,不应该有修改数据库状态或模式的操作

环境

原 DSC 集群为两节点,新增节点 DSC2 配置目录为 /home/dmdba/dmdbms/data,因为是共享存储集群,因此在开始前新增的 DSC2 节点也要添加共享磁盘到虚拟机,设置好共享磁盘配置,并且安装对应版本的 DM 数据库

节点IP
DSC0192.168.244.162
DSC1192.168.244.163
DSC2192.168.244.164

操作流程

在 DSC1 上使用 DMASMCMD 工具 export 出备份 dmdcr_cfg_bak.ini

[dmdba@192 bin]$ ./dmasmcmd
ASM>export dcrdisk '/dev/raw/raw1' to '/home/dmdba/dmdbms/data/dmdcr_cfg_bak.ini'

在这里插入图片描述

为新增节点准备日志文件,使用 disql 登陆任意一个节点执行添加日志文件操作,这里登陆 DSC0 节点,登陆操作查看 DSC 部署博客

[dmdba@192 bin]$ ./disql SYSDBA/SYSDBA@DSC
SQL>alter database add node logfile '+DMLOG/log/DSC2_log01.log' size 256, '+DMLOG/log/DSC2_log02.log' size 256;

在这里插入图片描述

查看是否添加成功

[dmdba@192 bin]$ ./dmasmtool DCR_INI=/home/dmdba/dmdbms/data/dmdcr.ini
ASM>ls +DMLOG/log

在这里插入图片描述

为新增节点 DSC2 准备 config_path,将 DSC0 节点的 /home/dmdba/dmdbms/data/dsc0_config 目录拷贝到 DSC2 节点相同目录下,修改名字为 dsc2_config

修改dsc2_config/dm.ini

CONFIG_PATH=/home/dmdba/dmdbms/data/dsc2_config
INSTANCE_NAME=DSC2

如果打开了归档参数,修改 dmarch.ini,本次试验中没有,因此不修改

新建 dmdcr.ini 文件,保存到节点 DSC2 的 /home/dmdba/dmdbms/data 目录下面,设置 dmdcr_seqo 为2,修改 dm.ini 路径

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/dmdbms/data/dmasvrmal.ini

#dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 2

#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 20
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini

#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 20
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/dsc2_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini

修改当前环境的所有 dmasvrmal.ini 文件,添加新增节点信息,并且将修改后的 dmasvrmal.ini 文件拷贝到 DSC2 节点的 /home/dmdba/dmdbms/data 目录下

[MAL_INST3]
MAL_INST_NAME     = ASM2
MAL_HOST          = 192.168.244.164
MAL_PORT          = 7238

修改当前环境的所有 dmmal.ini 文件,添加新增节点信息,后续实例会重新读取 MAL 配置文件,更新内存信息

[mal_inst2]
    mal_inst_name  = DSC2
    mal_host       = 192.168.244.164
    mal_port       = 9342

修改 dmdcr_cfg_bak.ini 文件,添加新增节点信息,CSS/ASMSVR/DB 都要配置所有组信息修改

DCR_GRP_N_EP = 3
DCR_GRP_EP_ARR = {0,1,2}

每个组增加一个节点信息,注意 DCR_EP_SHM_KEY、端口号不能冲突;各组信息要放在各自的后面,即 [GRP_CSS] 中 CSS2 放在 CSS1 后面,[GRP_ASM] 中 ASM2 放在 ASM1 后面,DSC2 放在 DSC1 后面

[GRP_CSS]
DCR_EP_NAME        = CSS2
DCR_EP_HOST        = 192.168.244.164
DCR_EP_PORT        = 9345

[GRP_ASM]
DCR_EP_NAME        = ASM2
DCR_EP_SHM_KEY     = 93362
DCR_EP_SHM_SIZE    = 10
DCR_EP_HOST        = 192.168.244.164
DCR_EP_PORT        = 9353
DCR_EP_ASM_LOAD_PATH  = /dev/raw

[GRP_DSC]
DCR_EP_NAME        = DSC2
DCR_EP_SEQNO       = 2
DCR_EP_PORT        = 5238
DCR_CHECK_PORT     = 9743

使用 DMASMCMD 工具将新增节点信息写回磁盘,新增节点作为 error 节点

[dmdba@192 bin]$ ./dmasmcmd
ASM>extend dcrdisk '/dev/raw/raw1' from '/home/dmdba/dmdbms/data/dmdcr_cfg_bak.ini'

在这里插入图片描述

在 dmcssm 执行拓展节点命令,show 查看,可以看到 DSC2 是 error 节点

extend node
show

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在 DSC2 节点启动 DMCSS 和 DMASMSVR 程序和 DMSERVER 实例,由于配置了自动拉起,因此TODO

配置监控器,修改 dmcssm.ini,增加新扩节点 DMCSS 的 IP:PORT 配置项 CSSM_CSS_IP,并重启 dmcssm

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.244.162:9341
CSSM_CSS_IP = 192.168.244.163:9343
CSSM_CSS_IP = 192.168.244.164:9345

CSSM_LOG_PATH = /home/dmdba/dmdbms/data/cssm/log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

在这里插入图片描述

在这里插入图片描述

至此 DSC 节点拓展完成

注意

  1. 如果由于配置文件错误,动态扩展节点失败,只能停掉所有实例,重新 init dcr 磁盘,不影响 dmserver 数据
  2. 扩展节点前由用户保证所有 dmcss/dmasmsvr/dmserver 节点都是 OK 的,且都是活动的;
  3. 每次扩展节点只能扩一个节点,扩展完成后可以再继续扩展节点;
  4. 扩展节点的过程中不能出现修改实例状态或模式的操作;
  5. 扩展节点的过程中,如果发生 dmcss/dmasmsvr/dmserver 实例故障,会导致扩展失败;
  6. 扩展过程中操作失误(比如未修改 dmmal.ini、asmsvrmal.ini,未增加日志文件),会导致扩展失败;
  7. 执行完 extend node 命令,用户需要查看 log 文件,确认扩展操作是否成功;
  8. 扩展失败可能会导致集群环境异常,需要退出所有 dmcss/dmasmsvr/dmserver,重新 init dcr 磁盘

达梦在线服务平台:https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值