搭建达梦两节点共享存储集群DSC

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

DM共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。DMDSC支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。

本文主要记录本人搭建两节点DSC时的过程。

1 搭建前准备

准备两台虚拟机,配置好静态IP地址、关闭防火墙及selinux,同时两台虚拟机都安装好DM8,无需初始化实例

Systemctl stop firewalld #临时关闭防火墙

Systemctl disable firewalld #永久关闭防火墙

setenforce 0 #临时关闭selinux

vi /etc/selinux/config  #永久关闭selinux

# 进入文件后修改 SELINUX = disabled

2 创建共享磁盘

在实体机VMware安装目录输入cmd进入命令行,而后执行

.\vmware-vdiskmanager.exe -c -s 20G -a lsilogic -t 2 "E:\DMDSCtemp\DSC\share.vmdk"

在两台虚拟机上添加共享磁盘,先关闭两台虚拟机,然后如下图指示操作

 

编辑DSC1、DSC2虚拟机的.vmx文件(使用文本工具打开)

末尾添加如下代码:

disk.locking="FALSE"
disk.EnableUUID = "TRUE"

3 使用其中一台虚拟机进行磁盘分区(DSC1):

输入lsblk查看当前磁盘

可以看到sdb为新加的磁盘,但尚未分区

开始分区:

fdisk /dev/sdb

再次查看分区,可以看到已经分区完成,再另一台虚拟机查看也已经分区 

4 绑定裸设备(两台虚拟机都要):

执行vim /etc/udev/rules.d/80-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"

KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

使裸设备生效:

partprobe /dev/sdb
udevadm control --reload-rules
udevadm trigger --type=devices --action=change

查看结果:

ll /dev/raw/

 

5 配置初始化配置文件(两台虚拟机都要):

su - dmdba

mkdir /dm8/config

vim /dm8/config/dmdcr_cfg.ini

添加如下内容:

DCR_N_GRP             = 3

DCR_VTD_PATH          = /dev/raw/raw2

DCR_OGUID         = 63635

[GRP]

 DCR_GRP_TYPE         = CSS

 DCR_GRP_NAME         = CSS

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[CSS]

 DCR_EP_NAME          = CSS1

 DCR_EP_HOST          = 192.168.237.164

 DCR_EP_PORT          = 9341

[CSS]

 DCR_EP_NAME          = CSS2

 DCR_EP_HOST          = 192.168.237.165

 DCR_EP_PORT          = 9343

[GRP]

 DCR_GRP_TYPE         = ASM

 DCR_GRP_NAME         = ASM

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[ASM]

 DCR_EP_NAME          = ASM1

 DCR_EP_SHM_KEY       = 93360

 DCR_EP_SHM_SIZE      = 10

 DCR_EP_HOST          = 192.168.237.164

 DCR_EP_PORT          = 9349

 DCR_EP_ASM_LOAD_PATH  = /dev/raw

[ASM]

 DCR_EP_NAME          = ASM2

 DCR_EP_SHM_KEY       = 93361

 DCR_EP_SHM_SIZE      = 10

 DCR_EP_HOST          = 192.168.237.165

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/raw

[GRP]

 DCR_GRP_TYPE         = DB

 DCR_GRP_NAME         = DSC

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[DSC]

 DCR_EP_NAME         = DSC1

 DCR_EP_SEQNO                 = 0

 DCR_EP_PORT         = 5700

 DCR_CHECK_PORT            = 9741

[DSC]

 DCR_EP_NAME         = DSC2

 DCR_EP_SEQNO                 = 1

 DCR_EP_PORT         = 5700

 DCR_CHECK_PORT            = 9742

6 创建ASM磁盘(仅在一台虚拟机上执行):

在dm8/bin目录下执行./dmasmcmd

依次执行

create dcrdisk '/dev/raw/raw1' 'dcr'

create votedisk '/dev/raw/raw2' 'vote'

create asmdisk '/dev/raw/raw3' 'LOG'

create asmdisk '/dev/raw/raw4' 'DATA'

init dcrdisk '/dev/raw/raw1' from '/dm8/config/dmdcr_cfg.ini' identified by '123456'

init votedisk '/dev/raw/raw2' from '/dm8/config/dmdcr_cfg.ini'

Exit

 

7 配置ASM的MAL文件(两台虚拟机都要):

vim /dm8/config/dmasvrmal.ini

[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                    = 192.168.237.164

MAL_PORT                    = 7236

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                    = 192.168.237.165

MAL_PORT                    = 7237

8 配置dmdcr.ini文件(两台虚拟机都要):

vim /dm8/config/dmdcr.ini

DSC1:

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini

DMDCR_SEQNO   = 0

DMDCR_ASM_RESTART_INTERVAL =0

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr  dcr_ini=/dm8/config/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver  path=/dm8/config/dsc1/dm.ini dcr_ini=/dm8/config/dmdcr.ini

DSC2:

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini

DMDCR_SEQNO   = 1

DMDCR_ASM_RESTART_INTERVAL =0

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr  dcr_ini=/dm8/config/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver  path=/dm8/config/dsc2/dm.ini dcr_ini=/dm8/config/dmdcr.ini

9 启动DMCSS(两台虚拟机都启动,先启动的为控制节点,这里先启动DSC1):

在dm8/bin目录下执行

./dmcss dcr_ini=/dm8/config/dmdcr.ini

DSC1:

DSC2:

10 启动ASM(两台都要启动)

新开窗口,到dm8/bin目录下执行:

./dmasmsvr DCR_INI=/dm8/config/dmdcr.ini

DSC1:

 

DSC2:

11 创建 ASM 磁盘组(使用主控虚拟机创建,这里用DSC1)

新开窗口,到dm8/bin目录下执行

./dmasmtool dcr_ini=/dm8/config/dmdcr.ini

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

12 初始化实例(主控端,这里为DSC1)

vim /dm8/config/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

PAGE_SIZE  = 32

log_size     = 1024

dcr_path     = /dev/raw/raw1

dcr_seqno     = 0

auto_overwrite   = 1

[DSC1]

config_path    = /dm8/config/dsc1

port_num     = 5700

mal_host     = 192.168.237.164

mal_port     = 9255

log_path     = +DMLOG/log/DSC1_log01.log

log_path     = +DMLOG/log/DSC1_log02.log

[DSC2]

config_path    = /dm8/config/dsc2

port_num     = 5700

mal_host     = 192.168.237.165

mal_port     = 9266

log_path     = +DMLOG/log/DSC2_log01.log

log_path     = +DMLOG/log/DSC2_log02.log

./dminit control=/dm8/config/dminit.ini

初始化完成后会在 init 控制文件配置的目录下,即dm8/comfig目录下生成 2 个实例的配置文件 dsc1和dsc2,将dsc2拷贝到DSC2虚拟机上对应的位置

scp -r /dm8/config/dsc2 dmdba@192.168.237.165:/dm8/config/

13 启动dmserver数据库服务(两台虚拟机都要)

分别到dm8/bin目录下执行

./dmserver /dm8/config/dsc1/dm.ini dcr_ini=/dm8/config/dmdcr.ini

 

./dmserver /dm8/config/dsc2/dm.ini dcr_ini=/dm8/config/dmdcr.ini

14 查看DSC集群状态:

在DSC1虚拟机CSS运行窗口执行show命令查看
若nst_status 字段为 OPEN,vtd_status 字段为 WORKING,active 字段为 TRUE 说明 db 服务正常,至此DSC数据共享集群搭建完成。

15 测试验证

在DSC1虚拟机使用DM的manger工具连接端口5700数据库,创建TEST模式并创建T1表,到DSC2虚拟机上连接相同的数据库,若发现存在TEST模式并有T1表即验证完成

 

16 开启关闭DSC共享分布集群

开启顺序即如上,依次分别启动CSS、ASM、DMserver

关闭顺序在DSC1上关闭DMserver,此时DSC2上的DMserver也会跟着关闭

然后在DSC1关闭ASM,此时DSC2上的ASM也会跟着关闭

最后再逐个关闭CSS服务

请上达梦社区了解 https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值