达梦8共享存储集群DSC

简介:

  DM 共享存储数据库集群的英文全称 DM Data Shared Cluster,简称 DMDSC。

  熟悉Oracle的朋友会知道目前国产数据库只有达梦数据库有共享存储集群架构,Oracle通过私网进行不同节点之间的缓存融合,而达梦通过自己的MAL系统,这里不做过多介绍,大家想了解详情,请下载达梦介质安装后再DOC目录下有各产品架构的手册。架构图如下:

名词解释:

集群控制软件 DMCSS(对标Oracle的grid):负责监控集群中各个节点的运行状态,主要功能包括集群环境中节点的启动、故障处理、节点重加入等操作。DMCSS 的心跳机制(Heartbeat)是通过 VOTE 磁盘(非镜像环境下)或 DCRV 磁盘(镜像环境下)的 Disk Heartbeat 实现。

DMASM (对标Oracle的ASM存储管理系统):负责数据库底层磁盘的管理,裸设备或块设备。

DM 集群监视器: DMCSSM 与 DMCSS 相互通信,从 DMCSS 处获取整个集群系统的状态信息。DMCSSM 提供一系列管理维护集群的命令。

环境介绍:

2节点集群:

节点1:dmdsc1 

业务地址:192.168.1.110

MAL地址:10.0.0.1

操作系统:Redhat7.6

节点2:dmdsc2

业务地址:192.168.1.111

MAL地址:10.0.0.2

操作系统:Redhat7.6、

部署步骤

1.两个数据库节点分别安装数据库软件,无需初始化实例,安装步骤请参考数据库安装手册,这里不做介绍;

2.两个节点分别配置共享存储:sdb sdc sdd sde

 

无多路径软件执行如下命令:

for i in b c d e;

do

echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asmdisk/asmsd$i\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\""

done

vi /etc/udev/rules.d/66-dmasmdevices.rules

 以上操作在两个节点操作完毕后,建议能重启就重启操作系统,如果不能执行如下操作命令:

/sbin/udevadm control --reload

/sbin/udevadm trigger

两个节点执行完毕后检查磁盘权限如下结果:

brw-rw---- 1 dmdba dinstall 8, 48 2月  18 23:12 /dev/sdd
brw-rw---- 1 dmdba dinstall 8, 64 2月  18 23:12 /dev/sde
brw-rw---- 1 dmdba dinstall 8, 16 2月  19 00:16 /dev/sdb
brw-rw---- 1 dmdba dinstall 8, 32 2月  19 00:16 /dev/sdc

3.配置集群文件:(以下均是dmdba用户操作:在数据库软件目录创建dsc_config目录,用于存放DSC使用的配置文件)

(两个节点均操作)DSC配置文件:

cat > dmdcr_cfg.ini <<EOF

DCR_N_GRP = 3 ##集群环境有多少个 GROUP,范围:1~16

DCR_VTD_PATH = /dev/asmdisk/asmsdc ##规划为 vote 的磁盘

DCR_OGUID = 210715 ## 消息标识,一个组里面只有一个。

[GRP] #新建一个 GROUP

DCR_GRP_TYPE = CSS ##组类型(CSS/ASM/DB)

DCR_GRP_NAME = GRP_CSS ##组名

DCR_GRP_N_EP = 2 ##组内节点个数

DCR_GRP_DSKCHK_CNT = 65 ##磁盘心跳容错时间,单位:秒

[GRP_CSS]

DCR_EP_NAME = CSS1 ##CSS 节点名

DCR_EP_HOST = 10.0.0.1 ##心跳地址

DCR_EP_PORT = 11286 ##CSS 端口

[GRP_CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 10.0.0.2

DCR_EP_PORT = 11286

[GRP]

DCR_GRP_TYPE = ASM

DCR_GRP_NAME = GRP_ASM

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[GRP_ASM]

DCR_EP_NAME = ASM1 ##ASM 节点名,和 dmasvrmal 的 MAL_INST_NAME 一致

DCR_EP_SHM_KEY = 42424 ##共享内存标识

DCR_EP_SHM_SIZE = 1024 ##共享内存大小

DCR_EP_HOST = 10.0.0.1 ##心跳地址

DCR_EP_PORT = 11276 ##ASM 端口

DCR_EP_ASM_LOAD_PATH = /dev/asmdisk

[GRP_ASM]

DCR_EP_NAME = ASM2

DCR_EP_SHM_KEY = 42425

DCR_EP_SHM_SIZE = 1024

DCR_EP_HOST = 10.0.0.2

DCR_EP_PORT = 11276

DCR_EP_ASM_LOAD_PATH = /dev/asmdisk

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = GRP_DSC

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 57

[GRP_DSC]

DCR_EP_NAME = DSC1 ##实例名,和 dm.ini 的 INSTANCE_NAME 一致

DCR_EP_SEQNO = 0 ##组内序号,不能重复

DCR_EP_PORT = 5236 ##实例端口,和 dm.ini 的 PORT_NUM 一致

DCR_CHECK_PORT = 11256 ##DCR 检查端口

[GRP_DSC]

DCR_EP_NAME = DSC2

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 11256

EOF

 

(单节点操作bin目录下执行如下命令)

./dmasmcmd

create dcrdisk '/dev/asmdisk/asmsdd' 'DCR'

create votedisk '/dev/asmdisk/asmsdc' 'VOTE'

create asmdisk '/dev/asmdisk/asmsde' 'LOG'

create asmdisk '/dev/asmdisk/asmsdb' 'DATA'

init dcrdisk '/dev/asmdisk/asmsdd' from '/home/dmdba/dmdbms/dsc_config/dmdcr_cfg.ini' identified by '123456'

init votedisk '/dev/asmdisk/asmsdc' from '/home/dmdba/dmdbms/dsc_config/dmdcr_cfg.ini'

(两个节点均操作)

cat > dmasvrmal.ini << EOF

[MAL_INST1]

MAL_INST_NAME = ASM1

MAL_HOST = 10.0.0.1

MAL_PORT = 7236

[MAL_INST2]

MAL_INST_NAME = ASM2

MAL_HOST = 10.0.0.2

MAL_PORT = 7236

EOF

(两个节点均操作)

cat > dmdcr.ini << EOF

DMDCR_PATH = /dev/asmdisk/asmsdd

DMDCR_MAL_PATH =/home/dmdba/dmdbms/dsc_config/dmasvrmal.ini #dmasmsvr 使用的 ASM的MAL 配置文件路径

DMDCR_SEQNO = 0 #两台机器配置不同值,另一台1

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

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/dsc_config/dmdcr.ini

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

DMDCR_DB_RESTART_INTERVAL =0

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver /home/dmdba/dmdbms/dmdata/dsc01/dm.ini dcr_ini=/home/dmdba/dmdbms/dsc_config/dmdcr.ini

EOF

(两个节点均操作,先启动为主控节点)

./dmcss DCR_INI=/home/dmdba/dmdbms/dsc_config/dmdcr.ini

(主控节点操作,创建ASM磁盘组)

./dmasmtool dcr_ini=/home/dmdba/dmdbms/dsc_config/dmdcr.ini

create diskgroup 'DMDATA' asmdisk '/dev/asmdisk/asmsdb'

create diskgroup 'DMASMLOG' asmdisk '/dev/asmdisk/asmsde'

(单节点,主控节点操作)

cat > dminit.ini <<EOF

db_name = dsc

system_path = +DMDATA/data

system = +DMDATA/data/dsc/system.dbf

system_size = 128

roll = +DMDATA/data/dsc/roll.dbf

roll_size = 128

main = +DMDATA/data/dsc/main.dbf

main_size = 128

ctl_path = +DMDATA/data/dsc/dm.ctl

ctl_size = 8

log_size = 2048

page_size = 32

dcr_path = /dev/asmdisk/asmsdd #dcr 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/dmdba/dmdbms/dmdata/dsc01

port_num = 5236

mal_host = 10.0.0.1

mal_port = 9340

log_path = +DMDATA/log/dsc1_log01.log

log_path = +DMDATA/log/dsc1_log02.log

[DSC2] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/dmdba/dmdbms/dmdata/dsc02

port_num = 5236

mal_host = 10.0.0.2

mal_port = 9340

log_path = +DMDATA/log/dsc2_log01.log

log_path = +DMDATA/log/dsc2_log02.log

EOF

--初始化数据库(慎重操作!)

./dminit control=/home/dmdba/dmdbms/dsc_config/dminit.ini

生成两个文件夹拷贝dsc02目录所有文件到另一个节点相同路径即可

(任意一台配置监视器)

DSC监控:

cat > dmcssm.ini <<EOF

#保证dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

CSSM_OGUID = 210715

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 10.0.0.1:11286

CSSM_CSS_IP = 10.0.0.2:11286

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

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

EOF

监视器启动:./dmcssm ini_path=/home/dmdba/dmdbms/dsc_config/dmcssm.ini

(两个节点root用户注册启动服务:如果不需要开机自启可以禁用服务)

cd /home/dmdba/dmdbms/script/root

./dm_service_installer.sh -t dmcss -p css01 -dcr_ini /home/dmdba/dmdbms/dsc_config/dmdcr.ini

./dm_service_installer.sh -t dmasmsvr -p asm01 -dcr_ini /home/dmdba/dmdbms/dsc_config/dmdcr.ini -y DmCSSServicecss01

./dm_service_installer.sh -t dmserver -p DSC1 -dm_ini /opt/sy/dsc/dsc1_config/dm.ini -dcr_ini /opt/sy/dsc/dmdcr.ini -y DmASMSvrServiceDSC1

DSC集群开启数据库归档:(两个节点均需要操作,disql登录数据库执行如下命令即可。)

SQL> alter database mount;

SQL> alter database add archivelog 'type=local,dest=+DMDATA/archlog,file_size=128,space_limit=4096';

SQL> alter database archivelog;

SQL> alter database open;

至此手工搭建集群操作完毕。如果遇到ASM无法登录等问题,大多都是因为两节点MAL系统不通或者两端服务没有启动,请仔细按照搭建步骤操作即可。

目前ASM操作命令支持还比较少,以后会慢慢丰富起来,相比Oracle RAC的搭建流程简单许多,而且搭建时间也不用很久,现在让我们体验下DSC的服务吧。

在线服务平台地址:
https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值