DM8 共享存储集群(DSC)搭建

DM共享存储数据库集群的英文全称DM Data Shared Cluster,简称DMDSC。
DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。DMDSC 支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。具有高可用、高性能、负载均衡等特性。
DMDSC 集群系统结构图如下所示:
在这里插入图片描述

图1 DMDSC系统结构图

DMDSC 搭建

环境准备

硬件:两台配置相同虚拟机(2G 内存,20G本地磁盘,双网卡),另有共享磁盘共30G。
操作系统:Cent OS 8.4 64位。
主机 IP
Dm001 192.168.8.11(外)/10.10.10.11(内)
Dm002 192.168.8.12(外)/10.10.10.12(内)
DM数据库安装目录:/dmdbms/。
配置文件目录:/home/dmdba/config。
两节点均已安装DM8数据库软件,未进行初始化。
挂载裸设备
添加四块共享磁盘:
共享磁盘一:日志组盘 4G,
共享磁盘二:voting盘 100M,
共享磁盘三:数据盘 25G ,
共享磁盘四:DCR盘 900M 。
添加完成后,启动两节点
编辑编辑/etc/udev/rules.d/60-raw.rules文件,增加以下语句:
#vim /etc/udev/rules.d/60-raw.rules
ACTION==“add”, KERNEL==“sdb”, RUN+=“/bin/raw /dev/raw/raw1 %N” --log
ACTION==“add”, KERNEL==“sdc, RUN+=”/bin/raw /dev/raw/raw2 %N" --voting
ACTION==“add”, KERNEL==“sdd, RUN+=”/bin/raw /dev/raw/raw3 %N" --data
ACTION==“add”, KERNEL==“sde, RUN+=”/bin/raw /dev/raw/raw4 %N" --dcr
ACTION==“add”, KERNEL==“raw[1-4]”, OWNER=“dmdba”, GROUP=“dinstalll”, MODE=“660”

#start_udev ####完成裸设备绑定
#ll /dev/raw/* ####查看绑定的设备,两节点相同

编辑配置文件

dmdcr_cfg.ini

创建dmdcr_cfg.ini 配置文件,后续 DMASMCMD工具执行init语句会使用到。
$cd /home/dmdba/config
$vim dmdcr_cfg.ini
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 = 2
DCR_GRP_DSKCHK_CNT = 60

[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 10. 10.10.11
DCR_EP_PORT = 9341

[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10. 10.10.12
DCR_EP_PORT = 9343

[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 = ASM0
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 10. 10.10.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 = 10. 10.10.12
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 2
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

使用DMASMCMD工具进行初始化(节点一执行即可)
$./dmasmcmd
ASM> create asmdisk ‘/dev/raw/raw1’ ‘LOG0’
ASM> create votedisk ‘/dev/raw/raw2’ ‘vote’
ASM> create asmdisk ‘/dev/raw/raw3’ ‘DATA0’
ASM> create dcrdisk ‘/dev/raw/raw4’ ‘dcr’

ASM> init dcrdisk ‘/dev/raw/raw4’ from '/home/dmdba/config/dmdcr_cfg.ini’identified by ‘abcd’
ASM> init votedisk ‘/dev/raw/raw2’ from ‘/home/dmdba/config/dmdcr_cfg.ini’

dmasvrmal.ini

创建DMASM的MAL 配置文件(dmasvrmal.ini),所有节点均配置,内容相同。
$cd /home/dmdba/config
$vim dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 10. 10.10.11
MAL_PORT = 7236

[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 10. 10.10.12
MAL_PORT = 7237

dmdcr.ini

创建dmdcr.ini配置文件
节点一:
$cd /home/dmdba/config
$vim dmdcr.ini
DMDCR_PATH = /dev/raw/raw4
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dmdbms/bin/dmserver path=/home/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

注意:
DMDCR_ASM_STARTUP_CMD = /dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini为一条完整的命令,中间不能有回车
DMDCR_DB_STARTUP_CMD = /dmdbms/bin/dmserver path=/home/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini同样。

节点二:
$cd /home/dmdba/config
$vim dmdcr.ini
DMDCR_PATH = /dev/raw/raw4
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dmdbms/bin/dmserver path=/home/data/dsc1_config/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

注意:
DMDCR_ASM_STARTUP_CMD = /dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini为一条完整的命令,中间不能有回车
DMDCR_DB_STARTUP_CMD = /dmdbms/bin/dmserver path=/home/data/dsc1_config/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini同样。

启动DMCSS、DMASM 服务程序
节点一、节点二先后分别启动dmcss、dmasmsvr 程序
–# ./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini

–# ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
注:如果DMCSS配置有自动拉起dmasmsvr的功能,可以等待DMCSS自动拉起dmasmsvr程序,不需要手动启动。

使用dmasmtool 工具创建DMASM磁盘组
节点一
–# ./dmasmtool DCR_INI=/home/dmdba/config/dmdcr.ini
ASM> create diskgroup ‘DMLOG’ asmdisk ‘/dev/raw/raw1’ #创建日志磁盘组
ASM> create diskgroup ‘DMDATA’ asmdisk ‘/dev/raw/raw3’ #创建数据磁盘组

dminit.ini

创建dminit.ini配置文件
$cd /home/dmdba/config
$vim dminit.ini
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 = 256
dcr_path = /dev/raw/raw4 #dcr磁盘路径,目前不支持asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1

[DSC0] #inst_name跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME
config_path = /home/dmdba/config/dsc0_config
port_num = 5236
mal_host = 10.10.10.11
mal_port = 9340
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log

[DSC1]#inst_name跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME
config_path =/home/dmdba/config/dsc1_config
port_num = 5237
mal_host = 10.10.10.12
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

使用dminit初始化 DB环境
节点一下启动dminit工具初始化数据库。dminit执行完成后,会在config_path目录(/home/dmdba/config/dsc0_config和/home/dmdba/config /dsc1_config)下生成配置文件 dm.ini和dmmal.ini。
#./dminit control=/home/dmdba/config/dminit.ini

将节点一上/home/dmdba/config/dsc1_config目录和dsc目录拷贝到节点二相同目录下。

注意:调整文件属组和权限

启动数据库

手动启动
节点一:
#./dmserver /home/dmdba/config/dsc0_config/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
节点二:
#./dmserver /home/dmdba/config/dsc1_config/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

配置监视器

$cd /home/dmdba/config
$vim dmcssm.ini
CSSM_OGUID = 63635 #和dmdcr_cfg.ini中的DCR_OGUID保持一致

#配置所有CSS的连接信息,
#和dmdcr_cfg.ini中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致
CSSM_CSS_IP = 10.10.10.11:9341
CSSM_CSS_IP = 10.10.10.12:9342
CSSM_LOG_PATH = /home/dmdba/config #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动dmcssm监视器
#./dmcssm INI_PATH=/home/dmdba/config/dmcssm.ini

创建测试表

节点一创建测试表
$disql SYSDBA/SYSDBA
Sql> create table t1_ljk(id int,name varchar(20));
Sql> insert into t1_ljk(id,name) values(1,’JOY’);
Sql> insert into t1_ljk(id,name) values(2,’TOM’);
Sql> insert into t1_ljk(id,name) values(3,’JERRY’);
节点二登录查看创建的表
Sql>select * from t1_ljk;

注册服务

#./dm_server_installer.sh -t dmcss -p dmcss1 -dcr_ini /home/dmdba/config/dmdcr.ini

达梦社区:https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值