达梦DSC集群部署

达梦DSC概述(摘自达梦官方文档)

        DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同 一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。 数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些 文件,这些文件保存在共享存储上。每个节点有自己独立的联机日志和归档日志,其中联机 日志保存在共享存储上,归档日志可以保存在本地存储上也可以保存在共享存储上。

        DMDSC 集群得以实现的重要基础就是共享存储。DM 支持的共享存储有两种:裸设备和 DMASM。这两种存储的区别在于后者在前者的基础上,部署并使用了 DMASM 文件系统。为 了方便对裸设备上的磁盘或文件进行管理,推荐用户使用后者。

1. 虚拟机环境配置

主机名

内网IP

外网IP

备注

dm5

192.168.111.135

192.168.196.135

节点一

dm6

192.168.111.136

192.168.196.136

节点二

2. 磁盘划分

        节点一节点二本地磁盘各20G,共享磁盘100G.,共享磁盘做了四个主分区大小分别为100M,100M.2048M,剩余。(通过fdisk(MBR分区表),大于2T磁盘则用parted(GPT分区表))

 节点一的nvme0n2(100G)做共享磁盘

2. 1 共享磁盘搭建

        通过iscsi搭建共享磁盘

2.1.1 通过targetcli工具搭建iscsi服务端

具体操作步骤:

1.  创建块设备

        cd /backstores/block

        create [name] [dev path]

2. 创建一个target

        cd /iscsi

        create iqn.2021-11.com.mycomputer:target1

3. 创建ACL(access control lists)

        cd /iscsi/iqn.2021-11.com.mycomputer:target1/tpg1/acls

        create iqn.2021-11.com.mycomputer.disk

 4. 创建LUN

        cd /iscsi/ iqn.2021-11.com.mycomputer:target1/tpg1/luns

        create [backstores]

        (注:基于创建的块设备)

5. 配置访问ip及端口

        cd /iscsi/ iqn.2021-11.com.mycomputer:target1/tpg1/portals

        delete 0.0.0.0 3260

        create 192.168.196.135 ip_port=3260

6. 保存退出

        exit

        (注:配置文件路径为/etc/target/saveconfig.json,如果重启忘记自启动配置会失效,可用restore还原)

7. 配置自启动(待考证)

        systemctl enable target

        systemctl enable iscsi

2.1.2 配置iscsi客户端

        vim /etc/iscsi/initiatornaem.ini

        InitiatorName=iqn.2021-11.com.mycomputer:disk

        (注:名字为targetcli中配置的acl)

2.1.3 共享存储探测及连接

        通过命令:iscsiadm探测目标iscsi服务器

         iscsiadm -m discovery -t sendtargets -p 192.168.196.135:3260

         登录target

        iscsiadm -m node -T iqn.2021-11.com.mycomputer:target1 -p 192.168.196.135:3260

-l 

 退出target

iscsiadm -m node -T iqn.2021-11.com.mycomputer:target1 -p 192.168.196.135:3260

 -u 

         设置开机自动登录

        Iscsiadm -m node  -T iqn.2021-11.com.mycomputer:target1

         -p  192.168.196.135:3260  --op  update  -n  node.startup  -v  automatic

        取消自动登录

        -v manual

        更多配置可参考配置文件/etc/iscsi/iscsi.conf。

2.2 共享磁盘裸设备划分

2.2.1 节点一、二登录共享磁盘

sda为共享磁盘,原盘为dm5上的nvme0n2。 

2.2.2 编辑/etc/udev/rules.d/60-raw.rules

        没有则新建,编辑后重启虚拟机。

        注:建议将OWNER和GROUP改为dmdba:dinstall。

        由于是centos8,没有start-udev指令(整合到了udevadm,且指令不知为何不生效,因此重启刷新)

        重启后查看raw

 

        可通过blockdev –getsize64 /dev/raw/raw*查看裸设备大小 

 3. 配置文件准备

        与 DMDSC 相关的配置文件包括:

        DMDCR_CFG.INI

        DMDCR.INI

        DMINIT.INI

        MAL 系统配置文件(DMMAL.INI、DMASVRMAL.INI)

        DM.INI 

3.1 dmdcr_cfg.ini配置

        路径为/home/data后续无特殊说明均在此目录下。

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 = 192.168.196.135

DCR_EP_PORT = 9341

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 192.168.196.136

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 = 192.168.196.135

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.196.136

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

3.2 使用dmasmcmd初始化

 注:只需要在一个节点上执行即可。. 

3.3 dmasvrmal.ini配置

[MAL_INST1]

 MAL_INST_NAME = ASM0

 MAL_HOST = 192.168.196.135

 MAL_PORT = 7236

[MAL_INST2]

 MAL_INST_NAME = ASM1

 MAL_HOST = 192.168.196.136

 MAL_PORT = 7237

注:双节点都要配置。

3.4 dmdcr.ini配置

        节点一:

DMDCR_PATH = /dev/raw/raw1

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

DMDCR_SEQNO = 0

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

DMDCR_ASM_RESTART_INTERVAL = 60

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

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

DMDCR_DB_RESTART_INTERVAL = 60

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini

        节点二: 

DMDCR_PATH = /dev/raw/raw1

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

DMDCR_SEQNO = 1

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

DMDCR_ASM_RESTART_INTERVAL = 60

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

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

DMDCR_DB_RESTART_INTERVAL = 60

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/data/dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini

注:双节点里配置文件里path不是单独行,是cmd后续的指令,中间是空格不是换行符。

3.5 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/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

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

config_path = /home/data/dsc0_config

port_num = 5236

mal_host = 192.168.196.135

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/data/dsc1_config

port_num = 5237

mal_host = 192.168.196.136

mal_port = 9341

log_path = +DMLOG/log/dsc1_log01.log

log_path = +DMLOG/log/dsc1_log02.log

3. 服务启动

3.1 DMCSS、DMASMSVR启动

        在节点一、二先后分别启动dmcss、dmasmsvr

        启动命令:

        ./dmcss DCR_INI=/home/data/dmdcr.ini

.        /dmasmsvr DCR_INI=/home/data/dmdcr.ini

        主节点 css:

 

        副节点css:

        主节点asmsvr:

        副节点asmsvr: 

主css中show查看当前集群状态

3.2 DMASM磁盘组创建

        节点一运行dmasmtool,后创建日志磁盘组及数据磁盘组

        ./dmasmtool DCR_INI=/home/data/dmdcr.ini

        create diskgroup ‘DMLOG’ asmdisk ‘/dev/raw/raw3’

        create diskgroup ‘DMDATA’ asmdisk ‘/dev/raw/raw4’

 

 3.3 使用dminit.ini初始化数据库

        ./dminit control=/home/data/dminit.ini

执行完成后,会在执行节点config_path目录下(/home/data/dsc0_config和/home/data/dsc1_config)下生成配置文件dm.ini和dmmal.ini。

将/home/data/dsc1_config文件夹拷贝到节点二。

如果DMCSS配置有自动拉起dmserver功能,可以等待DMCSS自动拉起实例,不需要手动启动。如果手动启动执行以下命令:

节点一:

/dmserver /home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini

 节点二:

./dmserver /home/data/dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini

启动完毕后主节点通过css控制台show命令查看集群状态

4. DSC集群启停

        整体流程:

        如果配置了dmcss自动拉起dmassmsvr及dmserver。则只需打开dmcss即可,等待css拉起asm磁盘组及dsc节点组。打开dmcss后,可使用dmcssm监控集群状态,及关闭集群,最后关闭css。

        ./dmcss DCR_INI=/home/data/dmdcr.ini

        ./dmcssm INI_PATH=/home/data/dmcssm.ini

        如果没有配置dmcss自动拉起,则先在各个节点打开dmasmsvr,再打开dmcss,再打开数据库。关闭则是先关闭数据库再关闭asm磁盘组,最后关闭css(asmsvr和dmserver关闭只需单节点执行)

        ./dmasmsvr DCR_INI=/home/data/dmdcr.ini

.        /dbserver /home/data/dsc0_config/dm.ini DCR_INI=/home/data/dmdcr.ini

5. DSC集群登录

        配置dm_svc.conf及ODBC数据源

DSC=(192.168.111.135:5236,192.168.111.136:5237)

        详细配置参考

VS2022下通过ODBC访问达梦数据库(C++)_cn_lyt的博客-CSDN博客

        使用本机系统安装的DM客户端工具disql。命令行登录测试。

 更多达梦相关技术文档可访问​​​​​​ 

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值