在虚拟机cetos7上搭建2节点dsc-动态搭建dsc第三个节点

二节点的搭建请参考其他博客《在虚拟机cetos7上搭建2节点dsc(一)》,以下内容主要介绍在2节点正常运行的的基础上,动态扩展dsc节点,请关闭第三个节点的防火墙。

注意事项:

1. 扩展节点前由用户保证所有 dmcss/dmasmsvr/dmserver 节点都是 OK 的,且都是活动的;

2. 每次扩展节点只能扩一个节点,扩展完成后可以再继续扩展节点;

3. 扩展节点的过程中不能出现修改实例状态或模式的操作;

4. 扩展节点的过程中,如果发生 dmcss/dmasmsvr/dmserver 实例故障,会导致扩展失败;

5. 扩展过程中操作失误(比如未修改 dmmal.ini、asmsvrmal.ini,未增加日志文件),会导致扩展失败;

6. 执行完 extend node 命令,用户需要查看 log 文件,确认扩展操作是否成功;

7. 扩展失败可能会导致集群环境异常,需要退出所有 dmcss/dmasmsvr/dmserver,重新 init dcr 磁盘。

8. 搭建 DMDSC 环境时,应注意 DMDSC 中各实例使用的 DM 数据库版本应一致,同时还应

注意各实例所在主机的操作系统位数、大小端模式、时区及时间设置都应一致。

一、添加共享磁盘

使用root用户,fdisk -l,查看磁盘

执行编辑/etc/udev/rules.d/60-raw.rules 文件,增加以下语句:

ACTION=="add" , KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdc3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdc4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="raw[1-5]", OWNER="dmdba", GROUP="dinstall", MODE="755"

执行以下脚本:udevadm trigger --action=add使配置文件生效

二、 动态添加节点

1、为新增节点准备日志文件

1)使用任意节点登录disql添加日志文件,至少两个日志文件,路径必须是ASM文件格式,大小可以参考其他两个活动节点

SQL> alter database add node logfile '+DMLOG/log/DSC2_log01.log' size 256,'+DMLOG/log/DSC2_log02.log' size 256;

2)使用dmctlcvt工具将dm.ctl 转换为文本文件 dmctl.txt,查看 dmctl.txt,新增节点的日志文件信息已经添加进 dm.ctl

./dmctlcvt type=1 src=+DMDATA/data/dsc/dm.ctl dest=/opt/dmdbms/data/config/dmctl.txt DCR_INI=/opt/dmdbms/data/config/dmdcr.ini

3)使用 dmasmtool 工具登录 ASM 文件系统,也可以看到新增的节点日志文件

2、为新增节点准备 config_path

将 192.168.1.213 机器/opt/dmdbms/data/dsc0_config 目录拷贝到192.168.1.225 机器相同目录下,修改名字为/opt/dmdbms/data/dsc2_config。

修改 dsc2_config 文件夹下的配置文件:

1) 修改 dm.ini

CONFIG_PATH = /opt/dmdbms/data/dsc2_config

instance_name  = DSC2

2) 如果打开了归档参数,修改 dmarch.ini

[ARCHIVE_LOCAL1]

ARCH_TYPE  = LOCAL

ARCH_DEST  = /opt/dmdbms/data/arch_dsc2

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT  = 1024

[ARCH_REMOTE1]

ARCH_TYPE  = REMOTE

ARCH_DEST  = DSC0

ARCH_INCOMING_PATH = /opt/dmdbms/data/arch_dsc0

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT  = 1024

[ARCH_REMOTE2]

ARCH_TYPE  = REMOTE

ARCH_DEST  = DSC1

ARCH_INCOMING_PATH = /opt/dmdbms/data/arch_dsc1

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT  = 1024

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

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/opt/dmdbms/data/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 2

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 1

DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/dmasmsvr dcr_ini=/opt/dmdbms/data/config/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 1

DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/dmserver path=/opt/dmdbms/data/dsc2_config/dm.ini dcr_ini=/opt/dmdbms/data/config/dmdcr.ini

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

直接修改当前环境的 dmasvrmal.ini 文件,添加新增节点信息,使用 DMASM 的所有节点都要配置,内容完全一样,并且将新增信息后的 dmasvrmal.ini 文件拷贝到各节点的/opt/dmdbms/data/config 目录下。


[MAL_INST1]

MAL_INST_NAME = ASM0

MAL_HOST = 192.168.1.213

MAL_PORT = 7236

[MAL_INST2]

MAL_INST_NAME = ASM1

MAL_HOST = 192.168.1.214

MAL_PORT = 7237

[MAL_INST3]

MAL_INST_NAME = ASM2

MAL_HOST = 192.168.1.225

MAL_PORT = 7238              

直接修改 dmserver 三个实例的 dmmal.ini,添加新增节点信息,所有节点都要配置相同内容,保存到各自的 config 目录下。

MAL_CHECK_INTERVAL     = 30
MAL_COMBIN_BUF_SIZE    = 0
MAL_CONN_FAIL_INTERVAL = 10
MAL_LOGIN_TIMEOUT      = 15
MAL_BUF_SIZE           = 100
MAL_SYS_BUF_SIZE       = 0
MAL_VPOOL_SIZE         = 128
MAL_COMPRESS_LEVEL     = 0
MAL_TEMP_PATH          = 

[MAL_INST0]
    MAL_INST_NAME    = DSC0
    MAL_HOST         = 192.168.1.213
    MAL_PORT         = 9340

[MAL_INST1]
    MAL_INST_NAME    = DSC1
    MAL_HOST         = 192.168.1.214
    MAL_PORT         = 9341

[MAL_INST2]
    MAL_INST_NAME    = DSC2
    MAL_HOST         = 192.168.1.225
    MAL_PORT         = 9342

后续实例会重新读 MAL 配置文件,更新内存信息。

5. 在第一台服务器将dmdcr_cfg.ini备份一份,在dmdcr_cfg.ini中添加新增节点信息,CSS/ASMSVR/DB 都要配置

每个组增加一个节点信息,注意 DCR_EP_SHM_KEY、端口号不能冲突;各组信息要放

在各自的后面,即[GRP_CSS]中 CSS2 放在 CSS1 后面,[GRP_ASM]中 ASM2 放在 ASM1

后面,DSC2 放在 DSC1 后面。

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_DSKCHK_CNT = 60
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.1.213
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.1.214
DCR_EP_PORT = 9343
[GRP_CSS]
DCR_EP_NAME =  CSS2
DCR_EP_HOST = 192.168.1.225
DCR_EP_PORT = 9500
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60
[GRP_ASM]
DCR_EP_NAME = ASM0
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.1.213
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.1.214
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.1.225
DCR_EP_PORT = 9501
DCR_EP_ASM_LOAD_PATH  =  /dev/raw
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60
[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 = 5237
DCR_CHECK_PORT = 9742
[GRP_DSC]
DCR_EP_NAME = DSC2
DCR_EP_SEQNO = 2
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9502

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

[/opt/dmdbms/bin]# ./dmasmcmd

Asm> extend dcrdisk '/dev/raw/raw1' from '/opt/dmdbms/data/config/dmdcr_cfg.ini'

7.在 dmcssm 控制台执行扩展节点命令

extend node

8.前台启动新服务器的DMCSS\DMASM\DMSERVER

./dmcss DCR_INI=/opt/dmdbms/data/config/dmdcr.ini

 

./dmasmsvr DCR_INI=/opt/dmdbms/data/config/dmdcr.ini

 

./dmserver /opt/dmdbms/data/dsc2_config/dm.ini dcr_ini=/opt/dmdbms/data/config/dmdcr.ini

三、配置监视器

启动成功后,动态搭建已经成功,配置监视器配置文件dmcssm.ini

CSSM_OGUID = 63635 
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.1.213:9341
CSSM_CSS_IP = 192.168.1.214:9343
CSSM_CSS_IP = 192.168.1.225:9500
CSSM_LOG_PATH =/opt/dmdbms/log/cssm #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 1024  #不限定日志文件总占用空间

前台启动监视器

cd /opt/dmdbms/bin
./dmcssm /opt/dmdbms/data/config/dmcssm.ini

 

以上状态都是OK,OPEN,WORKING说明集群是正常的

四、动态配置归档

在已运行的节点1和节点2添加节点3的归档文件,不添加则无法备份文件,会报以下错误

动态添加归档文件需要将正在运行的数据库设置为mount状态

Alter database mount;
alter database add archivelog 'DEST=DSC2, TYPE=REMOTE, FILE_SIZE=128, SPACE_LIMIT=1024, INCOMING_PATH=/opt/dmdbms/data/arch_dsc2';
Alter database open;

以上添加归档需要在节点1和节点2都执行一次。

五、配置开机启动服务

./dm_service_installer.sh  -t dmcss -p SERVICE -dcr_ini /opt/dmdbms/data/config/dmdcr.ini
./dm_service_installer.sh  -t dmasmsvr -p SERVICE -dcr_ini /opt/dmdbms/data/config/dmdcr.ini  -y DmCSSServiceSERVICE.service
./dm_service_installer.sh  -t dmserver -p DMSERVER -dm_ini /opt/dmdbms/data/dsc2_config/dm.ini -dcr_ini /opt/dmdbms/data/config/dmdcr.ini -y DmASMSvrServiceSERVICE.service

重启服务器验证,可以cd /opt/dmdbms/bin

启动集群CSS\ASM\SERVER

./DmCSSServiceSERVICE start
./DmASMSvrServiceSERVICE start
./DmCSSServiceSERVICE start

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值