dsc动态扩展节点

dsc动态扩展节点

1.配置环境

dsc0 192.168.6.71 centos7 64位 外部服务ip 和内部通信ip

dsc1 192.168.6.75 centos7 64位 外部服务ip 和内部通信ip

dsc2 192.168.6.69 centos7 64位 外部服务ip 和内部通信ip

确认第三节点已安装数据库软件

2.操作步骤

2.1在192.168.6.71(DSC0)机器上dmasmcmd导出备份export dmdcr_cfg_bak.ini
[dmdba@root bin]$ ./dmasmcmd
DMASMCMD V8
ASM>export dcrdisk  '/dev/raw/raw1' to '/home/dmdba/dmdbms/config/dmdcr_cfg_bak.ini'
ASMCMD export DCRDISK success.
Used time: 49.005(ms).
2.2为新增节点准备日志文件(DSC0)
2.2.1至少增加两个日志文件,路径必须asm文件格式,大小可以参考两个活动节点
[dmdba@root bin]$ ./disql
disql V8
用户名:
密码:

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 8.705(毫秒)
SQL> alter database add node logfile '+DMLOG/log/DSC2_log01.log' size 256, '+DMLOG/log/DSC2_log02.log' size 256;
操作已执行
已用时间: 404.147(毫秒). 执行号:3.
2.2.2使用dmctlcvt工具将dm.ctl转换为文本文件dmctl.txt,查看dmctl.txt.
[dmdba@root bin]$ ./dmctlcvt TYPE=1 SRC=+DMDATA/data/dsc/dm.ctl DEST=/home/dmdba/dmctl.txt DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
DMCTLCVT V8
convert ctl to txt success!

2.2.3使用dmasmtool工具登录asm文件系统,也可以看到新增日志节点

[dmdba@root bin]$ ./dmasmtool dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
DMASMTOOL V8
ASM>ls +DMLOG/log
	file : dsc0_log01.log
	file : dsc0_log02.log
	file : dsc1_log01.log
	file : dsc1_log02.log
	file : DSC2_log01.log
	file : DSC2_log02.log
total count 6.
Used time: 3.977(ms).
ASM>

3.为新增节点准备config_path

将 192.168.6.71 机器/home/dmdba/dmdbms/config/dsc0_config 目录拷贝到 192.168.6.69 机器相

同目录下,修改名字为/home/dmdba/dmdbms/config/dsc2_config。

[dmdba@root config]$ scp -r dsc0_config/ dmdba@192.168.6.69:/home/dmdba/dmdbms/config/
dmdba@192.168.6.69's password: dmdba

[dmdba@dm3 config]$ ls
dsc0_config  trace
[dmdba@dm3 config]$ mv dsc0_config/ dsc2_config
[dmdba@dm3 config]$ ls
dsc2_config  trace
[dmdba@dm3 config]$ 

3.1修改dm.ini
[dmdba@dm3 dsc2_config]$ cat dm.ini |grep INSTANCE
		INSTANCE_NAME                   = DSC2              #Instance name
[dmdba@dm3 dsc2_config]$ cat dm.ini |grep CONFIG_PATH
		CONFIG_PATH                     = /home/dmdba/dmdbms/config/dsc2_config            #config path
		

3.2修改dmarch.ini
[dmdba@root dsc0_config]$ cat dmarch.ini 
[LOCAL_LOCAL1]
ARCH_TYPE=LOCAL
ARCH_DEST=/home/dmdba/dmdbms/dmarch
ARCH_FILE_SIZE=1024
ARCH_SPACE_LIMIT=10240
[dmdba@root dsc0_config]$ 


[dmdba@root dsc0_config]$ scp /home/dmdba/dmdbms/config/dsc0_config/dmarch.ini  dmdba@192.168.6.71:/home/dmdba/dmdbms/config/dsc1_config/dmarch.ini

dmdba@192.168.6.71's password: 
dmarch.ini                                                                                                                               100%  110   224.7KB/s   00:00    

[dmdba@root dsc0_config]$ scp /home/dmdba/dmdbms/config/dsc0_config/dmarch.ini  dmdba@192.168.6.69:/home/dmdba/dmdbms/config/dsc2_config/dmarch.ini
dmdba@192.168.6.69's password: 
dmarch.ini                                                                                                                               100%  110   124.6KB/s   00:00    
[dmdba@root dsc0_config]$ 

4.新建dmdcr.ini

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

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /home/dmdba/dmdbms/config/dmasvrmal.ini
DMDCR_SEQNO = 2

#ASM重启参数,命令行方式启动
#DMDCR_ASM_RESTART_INTERVAL = 30 #DMCSS 认定 DMASM 节点故障重启的时间间隔,默认60S
#DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmASMSvrServiceDSC2 start

#DB重启参数,命令行方式启动
#DMDCR_DB_RESTART_INTERVAL = 60 #DMCSS 认定 DMDSC 节点故障重启的时间间隔
#DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceDSC2 start

#指定参数后,如果超过指定时间节点实例还未启动,DMCSS 自动将未启动节点踢出集群环境,变为 ERROR 节点,之后其他活动 OK 节点可以正常启动
#DMDCR_AUTO_OPEN_CHECK=60

5. 修改当前环境的 MAL 配置文件

直接修改当前环境的 dmasvrmal.ini 文件,添加新增节点信息,使用 DMASM 的所有

节点都要配置,内容完全一样,并且将新增信息后的 dmasvrmal.ini 文件拷贝到节点3

192.168.6.69的/home/dmdba/dmdbms/ 目录下。

[dmdba@root config]$ cat  dmasvrmal.ini 
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.6.71
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.6.75
MAL_PORT = 7237
[MAL_INST3]
MAL_INST_NAME = ASM2
MAL_HOST = 192.168.6.69
MAL_PORT = 7238

[dmdba@root config]$ scp dmasvrmal.ini  dmdba@192.168.6.75:/home/dmdba/dmdbms/config/
dmdba@192.168.6.75's password: 
 
[dmdba@root config]$ scp dmasvrmal.ini dmdba@192.168.6.69:/home/dmdba/dmdbms/config/
dmdba@192.168.6.69's password: 
  

直接修改 dmserver 三个实例的 dmmal.ini,添加新增节点信息,所有节点都要配置

相同内容,保存到各自的 dsc_config 目录下。

[mal_inst0]
    mal_inst_name  = DSC0 
    mal_host       = 192.168.6.71 
    mal_port       = 9340 

[mal_inst1]
    mal_inst_name  = DSC1 
    mal_host       = 192.168.6.75 
    mal_port       = 9341 

[mal_inst2]
    mal_inst_name  = DSC2
    mal_host       = 192.168.6.69
    mal_port       = 9342
[dmdba@root bin]$ scp /home/dmdba/dmdbms/config/dsc0_config/dmmal.ini dmdba@192.168.6.75:/home/dmdba/dmdbms/config/dsc1_config/dmmal.ini

[dmdba@root bin]$ scp /home/dmdba/dmdbms/config/dsc0_config/dmmal.ini dmdba@192.168.6.69:/home/dmdba/dmdbms/config/dsc2_config/dmmal.ini

6.修改 dmdcr_cfg_bak.ini,添加新增节点信息,CSS/ASMSVR/DB 都要配置

DCR_GRP_N_EP = 3

DCR_GRP_EP_ARR = {0,1,2}

注意端口号不要冲突

[dmdba@root config]$ cat dmdcr_cfg_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.6.71
DCR_EP_PORT        = 9341

[GRP_CSS]
DCR_EP_NAME        = CSS1
DCR_EP_HOST        = 192.168.6.75
DCR_EP_PORT        = 9343

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

[GRP_ASM]
DCR_EP_NAME        = ASM0
DCR_EP_SHM_KEY     = 93360
DCR_EP_SHM_SIZE    = 10
DCR_EP_HOST        = 192.168.6.71
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    = 10
DCR_EP_HOST        = 192.168.6.75
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    = 10
DCR_EP_HOST        = 192.168.6.69
DCR_EP_PORT        = 9352
DCR_EP_ASM_LOAD_PATH  = /dev/raw

[GRP_DSC]
DCR_EP_NAME        = DSC0
DCR_EP_SEQNO       = 0
DCR_EP_PORT        = 5236
DCR_CHECK_PORT     = 9741

[GRP_DSC]
DCR_EP_NAME        = DSC1
DCR_EP_SEQNO       = 1
DCR_EP_PORT        = 5236
DCR_CHECK_PORT     = 9742

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


7.使用dmasmcmd将新增节点信息写回磁盘,新增节点作为 error 节点

[dmdba@root bin]$ ./dmasmcmd
DMASMCMD V8
ASM>extend dcrdisk '/dev/raw/raw1' from '/home/dmdba/dmdbms/config/dmdcr_cfg_bak.ini'
ASMCMD extend node for dcr disk success.
ASMCMD extend node for vote disk success.
Used time: 113.999(ms).

8.dmcssm监视器

[dmdba@root bin]$ ./dmcssm ini_path=/home/dmdba/dmdbms/config/dmcssm.ini 
[monitor]         2020-09-03 03:01:13: CSS MONITOR V8
[monitor]         2020-09-03 03:01:13: CSS MONITOR SYSTEM IS READY.

[monitor]         2020-09-03 03:01:13: Wait CSS Control Node choosed...
[monitor]         2020-09-03 03:01:16: Wait CSS Control Node choosed succeed.

extend node
[monitor]         2020-09-03 03:01:25: 执行扩展节点动作

[monitor]         2020-09-03 03:01:32: 接收CSS(seqno: 0)消息超时
[monitor]         2020-09-03 03:01:32: 通知当前活动的CSS执行清理操作
[monitor]         2020-09-03 03:01:32: 命令EXTENT NODE 执行失败

show

monitor current time:2020-09-03 03:02:02, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================

[CSS0] global info:
[ASM0] auto restart = TRUE
[DSC0] auto restart = TRUE

[CSS1] global info:
[ASM1] auto restart = TRUE
[DSC1] auto restart = TRUE

[CSS2] global info:
Connect to [CSS2] failed, please check the network or the CSSM_CSS_IP config in [/home/dmdba/dmdbms/config/dmcssm.ini] .

ep:	css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              
	2020-09-03 03:02:02    CSS0          0         9341    Control Node OPEN               WORKING      OK           TRUE         322342780         322356227       
	2020-09-03 03:02:02    CSS1          1         9343    Normal Node  OPEN               WORKING      OK           TRUE         322343353         322356957       
	2020-09-03 03:02:02    CSS2          2         9345    Normal Node  SHUTDOWN           UNKNOWN      OK           FALSE        0                 0               

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:	css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              
	2020-09-03 03:02:02    ASM0          0         9349    Control Node OPEN               WORKING      OK           TRUE         322353464         322367075       
	2020-09-03 03:02:02    ASM1          1         9351    Normal Node  OPEN               WORKING      OK           TRUE         322353716         322367335       
	2020-09-03 03:02:02    ASM2          2         9352    Normal Node  SHUTDOWN           UNKNOWN      ERROR        FALSE        0                 0               

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:	css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              
	2020-09-03 03:02:02    DSC0          0         5236    Control Node OPEN               WORKING      OK           TRUE         1359998485        1360012046      
	2020-09-03 03:02:02    DSC1          1         5236    Normal Node  OPEN               WORKING      OK           TRUE         1359999413        1360012977      
	2020-09-03 03:02:02    DSC2          2         5236    Normal Node  SHUTDOWN           UNKNOWN      ERROR        FALSE        0                 0               

==================================================================================================================

ASMSVR/dmserver 是 error 节点, 程 序 会 通 知ASMSVR/dmserver 更新 MAL 信息

9.启动DMCSS,DMASM服务程序

在第三个节点启动dmcss,dmasmsvr程序

[dmdba@dm3 bin]$ ./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini 
DMCSS V8
DMCSS IS READY

[dmdba@dm3 bin]$ ./dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini 
ASM SELF EPNO:2
DMASMSVR V8
dmasmsvr task worker thread startup
the ASM server is Ready.


[dmdba@dm3 bin]$./dmserver  /home/dmdba/dmdbms/config/dsc2_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

9.1注册服务

[root@dm3 root]# ./dm_service_installer.sh -t dmcss -p dm3 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini

[root@dm3 root]# ./dm_service_installer.sh -t dmasmsvr -p dm3 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSServicedm3

[root@dm3 root]# ./dm_service_installer.sh -t dmserver -p dm3 -dm_ini /home/dmdba/dmdbms/config/dsc2_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrServicedm3

注册dmcss
[root@dm3 root]# ./dm_service_installer.sh  -t dmcss -p dm3 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini  
Created symlink from /etc/systemd/system/multi-user.target.wants/DmCSSServicedm3.service to /usr/lib/systemd/system/DmCSSServicedm3.service.
创建服务(DmCSSServicedm3)完成


注册dmasm
[root@dm3 root]# ./dm_service_installer.sh  -t dmasmsvr -p dm3 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini 
dmasmsvr(RAC)服务需设置依赖服务(dmcss)!

[root@dm3 root]# ./dm_service_installer.sh  -t dmasmsvr -p dm3 -dcr_ini /home/dmdba/dmdbms/config/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
[root@dm3 root]# ./dm_service_installer.sh  -t dmserver  -p dm3 -dm_ini /home/dmdba/dmdbms/config/dsc2_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini
dmserver(RAC)服务需设置依赖服务(dmasmsvr)!
[root@dm3 root]# ./dm_service_installer.sh  -t dmserver  -p dm3 -dm_ini /home/dmdba/dmdbms/config/dsc2_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrServicedm3
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedm3.service to /usr/lib/systemd/system/DmServicedm3.service.


##删除服务
[root@dm3 root]# ./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


9.2报错
[dmdba@dm3 bin]$ ./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini 
dmcss startup failed:[CODE:-4546],error info:Invalid file path[/dev/raw/raw1]

解决

[root@dm3 ~]# cat  /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="dmdba", GROUP="dinstall", MODE="660"

[root@dm3 ~]# vi   /etc/udev/rules.d/60-raw.rules
[root@dm3 ~]# partprobe /dev/sdb
[root@dm3 ~]# ll /dev/raw/
total 0
crw-rw---- 1 dmdba dinstall 162, 1 Sep  3 03:21 raw1
crw-rw---- 1 dmdba dinstall 162, 2 Sep  3 03:21 raw2
crw-rw---- 1 dmdba dinstall 162, 3 Sep  3 03:21 raw3
crw-rw---- 1 dmdba dinstall 162, 4 Sep  3 03:21 raw4
crw-rw---- 1 root  disk     162, 0 Sep  3 03:11 rawctl

又报错

Waitpid error!
sh: /home/dmdba/dmdbms/bin/DmASMSvrServiceDSC2: No such file or directory
 [CSS]: 重启本地ASM实例,命令:[/home/dmdba/dmdbms/bin/DmASMSvrServiceDSC2 start]
 asm文件配置有问题,检查一遍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值