动态扩展节点
已搭建好的 DMDSC 集群实例名为 DSC0、DSC1,在此基础上扩展一个节点 DSC2。
已搭建好的集群参考文档:
https://eco.dameng.com/community/post/20220514214100VU1UTI6TKEG6PTQN8V
节点 IP地址
DSC0 192.168.44.137
DSC1 192.168.44.139
DSC2 192.168.44.141
操作流程
1. 在 192.168.44.137 机 器 上 使 用 DMASMCMD 工 具 export 出 备 份
dmdcr_cfg_bak.ini
[root@dmtest03 bin]# ./dmasmcmd
Asm> export dcrdisk ‘/dev/raw/raw1’ to ‘/home/data/dmdcr_cfg_bak.ini’
2. 为新增节点准备日志文件
3. 为新增节点准备 config_path
将 192.168.44.137 机器/home/data/dsc0_config 目录拷贝到 192.168.44.141 机器相
同目录下,修改名字为/home/data/dsc2_config。
修改 dsc2_config 文件夹下的配置文件:
4. 新建 dmdcr.ini 配置文件,保存到节点 192.168.44.141 的/home/data/目录下面
注意设置 dmdcr_seqo 为 2,修改 dm.ini 路径。
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 2
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
path=/home/data/dsc2_config/dm.ini dcr_ini=/home/data/dmdcr.ini
5. 修改当前环境的 MAL 配置文件
直接修改当前环境的 dmasvrmal.ini 文件,添加新增节点信息,使用 DMASM 的所有
节点都要配置,内容完全一样,并且将新增信息后的 dmasvrmal.ini 文件拷贝到节点
192.168.44.141的/home/data 目录下。
[MAL_INST3]
MAL_INST_NAME = ASM2
MAL_HOST = 192.168.44.141
MAL_PORT = 7238
直接修改 dmserver 三个实例的 dmmal.ini,添加新增节点信息,所有节点都要配置
相同内容,保存到各自的 dsc_config 目录下。
[mal_inst2]
mal_inst_name = DSC2
mal_host = 192.168.44.141
mal_port = 9342
后续实例会重新读 MAL 配置文件,更新内存信息。
6. 修改 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.44.141
DCR_EP_PORT = 9345
[GRP_ASM]
DCR_EP_NAME = ASM2
DCR_EP_SHM_KEY = 93362
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.44.141
DCR_EP_PORT = 9346
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
7. 使用 DMASMCMD 工具将新增节点信息写回磁盘,新增节点作为 error 节点
[/home/dmdba/dmdbms/bin]# ./dmasmcmd
Asm> extend dcrdisk ‘/dev/raw/raw1’ from ‘/home/data/dmdcr_cfg_bak.ini’
8. 在 dmcssm 控制台执行扩展节点命令
extend node
程序会通知所有实例(CSS/ASMSVR/dmserver)更新信息,在 CSS 控制台执行 SHOW
命令,能看到新增节点信息, ASMSVR/dmserver 是 error 节点, 程 序 会 通 知
ASMSVR/dmserver 更新 MAL 信息。
9. 启动新的 DMCSS、DMASM 服务程序
在 192.168.44.141 节点启动 dmcss、dmasmsvr 程序。
手动启动新的 dmcss,dcr_ini 指向新的 dmdcr.ini 文件:
[/home/dmdba/dmdbms/bin]# ./dmcss DCR_INI=/home/data/dmdcr.ini
报错
把共享磁盘加到141中reboot机器还是不行
退出所有 dmcss/dmasmsvr/dmserver,重新 init dcr 磁盘
init dcrdisk ‘/dev/raw/raw1’ from ‘/home/data/dmdcr_cfg_bak.ini’ identified by ‘abcd’
init votedisk ‘/dev/raw/raw2’ from ‘/home/data/dmdcr_cfg_bak.ini’
137,139启动css后,启动141的css还是报错
[root@dmtest01 bin]# ./dmcss DCR_INI=/home/data/dmdcr.ini
解决办法:
[root@dmtest01 bin]# cat /etc/udev/rules.d/60-raw.rules
cat: /etc/udev/rules.d/60-raw.rules: 没有那个文件或目录
[root@dmtest01 bin]# vi /etc/udev/rules.d/60-raw.rules
ACTION==“add”, KERNEL==“sdb1”, RUN+=“/bin/raw /dev/raw/raw1 %N”
ACTION==“add”, KERNEL==“sdb2”, RUN+=“/bin/raw /dev/raw/raw2 %N”
ACTION==“add”, KERNEL==“sdb3”, RUN+=“/bin/raw /dev/raw/raw3 %N”
ACTION==“add”, KERNEL==“sdb4”, RUN+=“/bin/raw /dev/raw/raw4 %N”
ACTION==“add”, KERNEL==“raw[1-4]”, OWNER=“root”, GROUP=“root”, MODE=“660”
[root@dmtest01 bin]# partprobe /dev/sdb
[root@dmtest01 bin]# ll /dev/raw/
总用量 0
crw-rw----. 1 root root 162, 1 5月 8 10:38 raw1
crw-rw----. 1 root root 162, 2 5月 8 10:38 raw2
crw-rw----. 1 root root 162, 3 5月 8 10:38 raw3
crw-rw----. 1 root root 162, 4 5月 8 10:38 raw4
crw-rw----. 1 root disk 162, 0 5月 8 09:57 rawctl
[root@dmtest01 bin]# ./dmcss DCR_INI=/home/data/dmdcr.ini
DMCSS V8
DMCSS IS READY
137,139启动dmasmsvr,再启动141dmasmsvr
手动启动新的 dmasmsvr,dcr_ini 指向新的 dmdcr.ini 文件,asmsvr 启动故障
重加入流程:
[/home/dmdba/dmdbms/bin]# ./dmasmsvr DCR_INI=/home/data/dmdcr.ini
如果 DMCSS 配置有自动拉起 dmasmsvr 的功能,可以等待 DMCSS 自动拉起 dmasmsvr
程序,不需要手动启动。
10. 启动新的数据库服务器
如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不
需要手动启动。
如果需要手动启动,可参考下面的操作步骤:
192.168.44.141 机器:
./dmserver /home/data/dsc2_config/dm.ini dcr_ini=/home/data/dmdcr.ini
注册141数据库服务
注册dmcss
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmcss -p dm3 -dcr_ini /home/data/dmdcr.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmCSSServicedm3.service to /usr/lib/systemd/system/DmCSSServicedm3.service.
创建服务(DmCSSServicedm3)完成
注册dmasm
./dm_service_installer.sh -t dmasmsvr -p dm3 -dcr_ini /home/data/dmdcr.ini
dmasmsvr(RAC)服务需设置依赖服务(dmcss)!
./dm_service_installer.sh -t dmasmsvr -p dm3 -dcr_ini /home/data/dmdcr.ini -y DmCSSServicedm3
Created symlink from /etc/systemd/system/multi-user.target.wants/DmASMSvrServicedm3.service to /usr/lib/systemd/system/DmASMSvrServicedm3.service.
创建服务(DmASMSvrServicedm3)完成
注册dmservice
./dm_service_installer.sh -t dmserver -p dm3 -dm_ini /home/data/dsc2_config/dm.ini -dcr_ini /home/data/dmdcr.ini
dmserver(RAC)服务需设置依赖服务(dmasmsvr)!
./dm_service_installer.sh -t dmserver -p dm3 -dm_ini /home/data/dsc2_config/dm.ini -dcr_ini /home/data/dmdcr.ini -y DmASMSvrServicedm3
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedm3.service to /usr/lib/systemd/system/DmServicedm3.service.
如果要删除服务
##删除服务
./dm_service_uninstaller.sh -n DmServicedm3
是否删除服务(DmServicedm3)?(Y/y:是 N/n:否): y
Removed symlink /etc/systemd/system/multi-user.target.wants/DmServicedm3.service.
删除服务文件(/usr/lib/systemd/system/DmServicedm3.service)完成
删除服务(DmServicedm3)完成
提示可以输入-h
11. 配置 dmcssm.ini
如果配置有监视器,则直接修改 dmcssm.ini,增加新扩节点 DMCSS 的 IP:PORT 配
置项 CSSM_CSS_IP,并重启 dmcssm。
如果没有配置,可参考下面的操作步骤:
以搭建的 3 节点 DSC 环境为基础,配置对应的监视器,监视器放在第三方机器上,为
Linux 操作系统,dmcssm.ini 配置文件路径为/home/data/cssm/,可根据实际情况
调整配置环境及路径。
我监视器放在192.168.44.141上
社区地址:https://eco.dameng.com
文章
阅读量
获赞