搭建达梦DSC数据共享集群

搭建DSC达梦数据共享集群

DSC简介:

DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件,这些文件保存在共享存储上,各个节点有自己独立的联机日志和归档日志。
DMDSC 集群主要由数据库和数据库实例、共享存储、本地存储、通信网络、以及集群控制软件 DMCSS 组成。以部署了 DMASM 的 DMDSC 集群为例,展示 DMDSC 集群系统结构,如下图所示:
在这里插入图片描述

一、搭建前准备

1.准备两台虚拟机,DSC1,DSC2分别为50G的硬盘,虚拟机关闭防火墙和selinux。

systemctl --now disable firewalld.ervice
getenforce
setenforce 0 #临时关闭selinux   
vi /etc/selinux/config  #永久关闭selinux   
# 进入文件后修改 SELINUX = disabled
# 保存退出文件
#重启生效

2.安装dm8数据库,但不用初始化实例,数据库安装路径为:/dm8。

二、创建共享磁盘

1.使用虚拟机工具vmware-vdiskmanager.exe创建20G的共享磁盘。

"D:\VMware Wordstation16\vmware-vdiskmanager.exe" -c -s 20GB -a lsilogic -t 2 "D:\Centos7_DM\DCS_share\DCS-share-20G.vmdk"

在这里插入图片描述

2.打开DSC1、DSC2两台虚拟机添加新建的共享磁盘。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

另一台同样的步骤。

3.DSC1、DSC2虚拟机编辑 .vmx文件。
在这里插入图片描述

两台虚拟机都在末尾添加如下代码:

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

4.其中一台虚拟机进行磁盘分区(DSC1)
lsblk查看磁盘
在这里插入图片描述

开始分区:

fdisk /dev/sdb
n → p → 1 → “回车” →+1G           # dcr
n → p → 2 → “回车” → +1G           # vote
n → p → 3 → “回车” → +8G          # log0
n → p → 4 → “回车” → 回车          # data0
w     #保存

在这里插入图片描述

另一台虚拟机查看lsblk查看,已经分区。
在这里插入图片描述

5.绑定裸设备(DSC1、DSC2两台虚拟机都需要进行如下操作):

 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/
在这里插入图片描述

三、编辑配置文件,DSC1、DSC2两台虚拟机都要(在dm8/config/目录下)

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

 DCR_EP_PORT          = 9341

[CSS]

 DCR_EP_NAME          = CSS2

 DCR_EP_HOST          = 192.168.239.102

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

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

 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

四、创建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'

在这里插入图片描述
五、配置ASM的MAL文件(DSC1、DSC2都要配置)

vim /dm8/config/dmasvrmal.ini
[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                    = 192.168.239.101

MAL_PORT                    = 7236

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                    = 192.168.239.102

MAL_PORT                    = 7237

六、配置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

七、启动DMCSS(两台都启动,先启动的为控制节点)

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

DSC1
在这里插入图片描述

DSC2:
在这里插入图片描述

八、启动ASM,新开窗口执行,(两台都要启动)

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

DSC1
在这里插入图片描述
DSC2:
在这里插入图片描述

九、使用 dmasmtool 工具创建 DMASM 磁盘组(DSC1创建)

bin目录下:

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

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

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

在这里插入图片描述

十、使用 dminit 初始化 DB 实例(主控dsc1)

1.编辑配置文件:

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

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

mal_port     = 9266

log_path     = +DMLOG/log/DSC2_log01.log

log_path     = +DMLOG/log/DSC2_log02.log

1.dminit 工具初始化数据库

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

在这里插入图片描述

3.初始化完成后会在 init 控制文件配置的目录下生成 2 个实例的配置文件 dsc1和dsc2.
在这里插入图片描述

4.将 dsc2 目录复制到节点 2 上对应的目录下。

scp -r dsc2 192.168.239.102:/dm8/config/

5.启动dmserver数据库服务(两台都要)

DSC1:

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

在这里插入图片描述
DSC2:

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

在这里插入图片描述

6.观察 css 窗口日志,db 会被自动启动。出现 system is ready ep real open,说明数据库实例启动成功。
在这里插入图片描述

DSC1 CSS窗口 show命令查看
查看nst_status 字段为 OPEN,vtd_status 字段为 WORKING,active 字段为 TRUE 说明 db 服务正常。至此DSC数据共享集群搭建完成!!!
在这里插入图片描述

十一、注册服务启动

由于前台启动比较麻烦,不仅需要通过命令行启动还需要开启多个窗口,因此可将css、asm、db实例注册服务,以服务的方式启动。
root开机启动的方式:
2 个节点都需要注册,使用 root 用户执行,到数据库安装目录的 script/root 目录。

注册CSS服务:

/dm_service_installer.sh -t dmcss -dcr_ini /dm8/config/dmdcr.ini -p DMCSS

注册ASM服务:

./dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceDMCSS -p DMASM

注册dmserver服务:

./dm_service_installer.sh -t dmserver -dm_ini /dm8/config/dsc1/dm.ini  -dcr_ini /dm8/config/dmdcr.ini -y DmASMSvrServiceDMASM -p DMSERVER

启动:

./DmCSSServiceDMCSS start
./DmASMSvrServiceDMASM start
./DmServiceDMSERVER start

十二、设置自动拉起功能

修改dmdcr.ini的DMDCR_ASM_RESTART_INTERVAL与DMDCR_DB_RESTART_INTERVAL为1。

vim /dm8/config/dmdcr.ini
DMDCR_ASM_RESTART_INTERVAL = 1  #自动拉起ASM
DMDCR_DB_RESTART_INTERVAL = 1   #自动拉起数据库实例

十三、配置监视器(其中一台都可以)

vim /dm8/config/dmcssm.ini
CSSM_OGUID = 63635

CSSM_CSS_IP = 192.168.239.101:9341

CSSM_CSS_IP = 192.168.239.102:9343

CSSM_LOG_PATH =/dm8/log

CSSM_LOG_FILE_SIZE = 256

CSSM_LOG_SPACE_LIMIT = 2048

到bin目录下、启动监视器:

./dmcssm ini_path=/dm8/config/dmcssm.ini

在这里插入图片描述

十四、测试:1.插入数据、2.故障重连

1.在DSC1创建表、插入数据,在DSC2查看
DSC1:
在这里插入图片描述

DSC2:
在这里插入图片描述

2.模拟DSC1故障自动重连
将DSC1关机:
在这里插入图片描述

DSC1重连:
在这里插入图片描述
在这里插入图片描述

十五、使用用监视器启停集群

关闭数据库:监视器中执行 ep stop dsc
关闭 asm:监视器中执行 ep stop asm
在这里插入图片描述

启动数据库:监视器中执行 ep stop dsc
启动 asm:监视器中执行 ep stop asm
在这里插入图片描述
在这里插入图片描述
社区地址:https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值