DMDSC集群深化1

客户端故障自动重连
在服务器上配置dm_svc.conf文件:
DM=(192.168.0.11:5236,192.168.0.12:5237)   #心跳地址+端口
TIME_ZONE=(480)    #时区
LANGUAGE=(cn)       #语言
[DM]      #连接名
CLUSTER=(DSC)     #集群类型
SWITCH_TIMES=(1000)     #失败重连尝试次数
SWITCH_INTERVAL=(1000)     #尝试间隔为1s(单位是ms)
EP_SELECTOR=(1)         #连接数据库时采用何种模型建立连接。0:依次选取列表中的不同节点建立连接,使得所有连接均匀地分布在各个节点上;1:选择列表中最前面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接
AUTO_RECONNECT=(1)       #1:客户端不会再切换为DM1(2:客户端正常后回在切换为DM1)
动态扩展DSC集群节点
注意事项:
DMDSC 集群支持动态扩展节点,每次扩展可以在原有基础上增加一个节点。
动态扩展节点要求当前 DMDSC 集群的所有节点都为 OK 状态,所有 dmserver 实例都处于 OPEN 状态,且可以正常访问。扩展节点过程中,不应该有修改数据库状态或模式的操作。
操作流程:
1、 192.168.1.51 机器上使用 DMASMCMD 工具 export 出备份 dmdcr_cfg_bak.ini
./dmasmcmd
Asm> export dcrdisk '/dev/raw/raw1' to '/data/DAMENG/dmdcr_cfg_bak.ini'
2、为新增节点准备日志文件
使用disql登录任意节点执行添加日志文件操作:
①至少两个日志文件,路径必须是SM文件格式,大小参考其余节点;
SQL> alter database add node logfile '+DMLOG/log/dsc2_log01.log' size 256,'+DMLOG/log/dsc2_log02.log' size 256;
②使用dmctlcvt工具将dm.ctl转换为文本文件dmctl.txt,查看dmctl.txt,查看新增节点的日志文件信息是否添加进dm.ctl。
./dmctlcvt TYPE=1 SRC=+DMDATA/data/dsc/dm.ctl DEST=/data/DAMENG/dmctl.txt DCR_INI=/data/DAMENG/dmdcr.ini
③使用dmasmtool工具登录ASM文件系统,也可以看到 新增节点的日志文件。
[bin]# ./dmasmtool DCR_INI=/data/DAMENG/dmdcr.ini
ASM>ls +DMLOG/log
3、为新增节点准备config_path
将192.168.1.51机器/data/DAMENG/dsc0_config目录拷贝到192.168.1.53机器相同目录下,修改名字为/data/DAMENG/dsc2_config。
修改dsc2_config文件夹下的配置文件:
①修改dm.ini
CONFIG_PATH = /data/DAMENG/dsc2_config
instance_name = DM3
②如果打开了归档参数,修改dmarch.ini
4、新建dmdcr.ini配置文件,保存到节点192.168.1.53的/data/DAMENG/目录下面
注意设置dmdcr_seqno为2,修改dm.ini路径。
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/data/DAMENG/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 2
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/data/DAMENG/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/data/DAMENG/dsc2_config/dm.ini dcr_ini=/data/DAMENG/dmdcr.ini
5、修改当前环境的MAL配置文件
直接修改当前环境的dmasvmal.ini文件,添加新增节点的信息,使用DMASM的 所有节点都要配置,内容完全一样,并且将新增信息后的dmasvrmal.ini文件拷贝到节点192.168.1.53的/data/DAMENG目录下。
[MAL_INST3]
MAL_INST_NAME = ASM2
MAL_HOST = 192.168.0.13
MAL_PORT = 7238
直接修改dmserver三个实例的dmmal.ini,添加新增节点信息,所有节点都要配置相同内容,保存到各自的dsc_config目录下。
[mal_inst2]
    mal_inst_name  = DM3
    mal_host       = 192.168.0.13
    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]
DCR_EP_NAME        = CSS2
DCR_EP_HOST        = 192.168.0.13
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.0.13
DCR_EP_PORT        = 9353
DCR_EP_ASM_LOAD_PATH  = /dev/raw
[GRP_DSC]
DCR_EP_NAME        = DM3
DCR_EP_SEQNO       = 2
DCR_EP_PORT        = 5238
DCR_CHECK_PORT     = 9743
7、使用DMASMCMD工具将新增节点信息写回磁盘,新增节点作为error节点
[bin]# ./dmasmcmd
Asm> extend dcrdisk '/dev/raw/raw1' from '/data/DAMENG/dmdcr_cfg_bak.ini'
8、配置监视器dmcssm.ini
如果配置有监视器,则直接修改dmcssm.ini,增加新扩节点DMCSS的IP:PORT配置项CSMM_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.0.11:9341
CSSM_CSS_IP = 192.168.0.12:9343
CSSM_CSS_IP = 192.168.0.13:9345
CSSM_LOG_PATH = /data/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
② 启动 dmcssm 监视器
./dmcssm INI_PATH=/data/DAMENG/dmcssm.ini
9、在dmcssm控制台执行扩展节点命令
extend node
程序会通知所有实例 (CSS/ASMSVR/dmserver) 更新信息,在 CSS 控制台执行 SHOW命令,能看到新增节点信息, ASMSVR/dmserver 是 error 节点, 程 序 会 通 知ASMSVR/dmserver 更新 MAL 信息。
10、启动新的DMCSS、DMASM服务程序
在192.168.1.53节点启动dmcss、dmasmsvr程序。
手动启动新的dmcss,dcr_ini指向新的dmdcr.ini文件:
[bin]# ./dmcss DCR_INI=/data/DAMENG/dmdcr.ini
手动启动新的 dmasmsvr dcr_ini 指向新的 dmdcr.ini 文件, asmsvr 启动故障重加入流程:
[bin]# ./dmasmsvr DCR_INI=/data/DAMENG/dmdcr.ini
如果DMCSS配置有自动拉起dmasmsvr的功能,可以等待DMCSS自动拉起dmasmsvr程序,不需要手动启动。
11、启动新的数据库服务器
如果DMCSS配置有自动拉起dmserver的功能,可以等待DMCSS自动拉起实例,不需要手动启动。
如果需要手动启动,使用下面步骤:
192.168.1.53机器:
./dmserver /data/DAMENG/dsc2_config/dm.ini dcr_ini=/data/DAMENG/dmdcr.ini
./dm_service_installer.sh -t dmcss -p _dsc2 -dcr_ini /data/DAMENG/dmdcr.ini
./dm_service_installer.sh -t dmasmsvr -p _dsc2 -dcr_ini /data/DAMENG/dmdcr.ini -y DmCSSService_dsc2.service
./dm_service_installer.sh -t dmserver -p _dsc2 -dm_ini /data/DAMENG/dsc2_config/dm.ini -dcr_ini /data/DAMENG/dmdcr.ini -y DmASMSvrService_dsc2.service
🔺 以个人亲自测,使用命令行拉取可能会导致失败,最好直接注册服务,使用systemctl start 命令依次拉起CSS、ASM、Dmserver服务。
dmdcr_cdg_bak.ini
# the file is auto-created by system, self edit is invalid!
#DCR HDR
DCR_N_GRP              = 3
DCR_VTD_PATH           = /dev/raw/raw2
DCR_OGUID              = 63635
[GRP]
DCR_GRP_TYPE           = CSS
DCR_GRP_NAME           = GRP_CSS
DCR_GRP_N_EP           = 3
DCR_GRP_EP_ARR         = {0,1,2}
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           = 3
DCR_GRP_EP_ARR         = {0,1,2}
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           = 3
DCR_GRP_EP_ARR         = {0,1,2}
DCR_GRP_N_ERR_EP       = 0
DCR_GRP_ERR_EP_ARR     = {}
DCR_GRP_DSKCHK_CNT     = 60
[GRP_CSS]
DCR_EP_NAME        = CSS0
DCR_EP_HOST        = 192.168.0.11
DCR_EP_PORT        = 9341
[GRP_CSS]
DCR_EP_NAME        = CSS1
DCR_EP_HOST        = 192.168.0.12
DCR_EP_PORT        = 9343
[GRP_CSS]
DCR_EP_NAME        = CSS2
DCR_EP_HOST        = 192.168.0.13
DCR_EP_PORT        = 9345
[GRP_ASM]
DCR_EP_NAME        = ASM0
DCR_EP_SHM_KEY     = 93360
DCR_EP_SHM_SIZE    = 20
DCR_EP_HOST        = 192.168.0.11
DCR_EP_PORT        = 9349
DCR_EP_ASM_LOAD_PATH  = /dev/raw
[GRP_ASM]
DCR_EP_NAME        = ASM1
DCR_EP_SHM_KEY     = 93361
DCR_EP_SHM_SIZE    = 20
DCR_EP_HOST        = 192.168.0.12
DCR_EP_PORT        = 9351
DCR_EP_ASM_LOAD_PATH  = /dev/raw
[GRP_ASM]
DCR_EP_NAME        = ASM2
DCR_EP_SHM_KEY     = 93362
DCR_EP_SHM_SIZE    = 20
DCR_EP_HOST        = 192.168.0.13
DCR_EP_PORT        = 9353
DCR_EP_ASM_LOAD_PATH  = /dev/raw
[GRP_DSC]
DCR_EP_NAME        = DM1
DCR_EP_SEQNO       = 0
DCR_EP_PORT        = 5236
DCR_CHECK_PORT     = 9741
[GRP_DSC]
DCR_EP_NAME        = DM2
DCR_EP_SEQNO       = 1
DCR_EP_PORT        = 5237
DCR_CHECK_PORT     = 9742
[GRP_DSC]
DCR_EP_NAME        = DM3
DCR_EP_SEQNO       = 2
DCR_EP_PORT        = 5238
DCR_CHECK_PORT     = 9743
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值