虚拟机搭建DMDSC共享存储集群

达梦共享存储集群是一个多实例、单数据库的系统。把数据库放置在共享磁盘上,在各个节点上单独创建数据库实例,每个数据库实例都能访问这个共享磁盘上的数据库。数据库的数据文件、控制文件在集群系统中只有一份,保存在共享磁盘上,每个节点有自己独立的联机日志和归档日志,其中联机日志保存在共享存储上,归档日志可以保存在本地存储上也可以保存在共享存储上。
本文主要介绍使用虚拟机搭建两个节点的达梦共享存储集群。
硬件:两台虚拟机,磁盘20G以上,内存2G以上
系统:centos7
共享存储:磁盘
数据库软件:DM8
端口规划如下:
在这里插入图片描述
共享磁盘的目录规划:
存放 dcr 信息 /dev/sdb1 1 GB /DCR
存放 vote 信息 /dev/sdb2 1 GB /VOTE
存放 redo 日志 /dev/sdb3 8 GB /LOG0
存放数据文件 /dev/sdb4 10 GB /DATA0

准备

虚拟机先关闭防火墙和selinux

systemctl stop firewalld.service

在这里插入图片描述
临时关闭selinux
在这里插入图片描述
修改配置文件/etc/selinux/config
添加SELINUX=disabled
重启后永久生效。
在这里插入图片描述
安装达梦数据库软件
先仅安装达梦数据库软件,不创建数据库实例,Linux安装达梦数据库可参照官网linux安装达梦数据库
安装中若使用图形化界面打不开
在这里插入图片描述
在root用户下执行xhost +
在这里插入图片描述
echo D I S P L A Y 设置 d m d b a 用户下的 DISPLAY 设置dmdba用户下的 DISPLAY设置dmdba用户下的DISPLAY值和root用户下的一致。

创建共享磁盘

使用虚拟机vmware软件下的vmware-vdiskmanager.exe工具创建20G的共享磁盘
使用cmd工具

C:\>"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -c -s 20GB -a lsilogic -t 2 "E:\vmmachines\DSC_share\DSC-share-20G.vmdk"

在这里插入图片描述
关闭两个虚拟机增加新建的共享磁盘
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编辑.vmx文件
在这里插入图片描述
该文件可在末尾添加如下内容,可以用记事本或其他编辑器打开。

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

在这里插入图片描述
最后另一台虚拟机做同样的操作。
两台均配置好共享磁盘后,在其中一台上进行磁盘分区
在centos7上查看磁盘
在这里插入图片描述
分区
使用fdisk对磁盘分区,交互式命令设置磁盘分区

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

在这里插入图片描述
在这里插入图片描述
在另一台虚拟机查看磁盘,已分区
在这里插入图片描述
绑定裸设备,两个虚拟机均需要操作
linux下要使用裸设备,需要先绑定
编辑文件 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

查看
在这里插入图片描述

配置dmdcr_cfg.ini(两台都要)

切换到dmdba用户下,创建配置文件文件夹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.232.138

 DCR_EP_PORT          = 9341

[CSS]

 DCR_EP_NAME          = CSS2

 DCR_EP_HOST          = 192.168.232.139

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

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

 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文件(两台都要)

vim /dm8/config/dmasvrmal.ini

[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                    = 192.168.232.138

MAL_PORT                    = 7236

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                    = 192.168.232.139

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
在这里插入图片描述
前面若没有关闭防火墙,这里的ASM服务就无法启动。

使用 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
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.232.138

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

mal_port     = 9266

log_path     = +DMLOG/log/DSC2_log01.log

log_path     = +DMLOG/log/DSC2_log02.log

.dminit 工具初始化数据库
在这里插入图片描述
初始化完成后会在 init 控制文件配置的目录下生成 2 个实例的配置文件 dsc1和dsc2.
在这里插入图片描述
把dsc2复制到DSC2节点的机器上
scp -r dsc2 192.168.232.139:/dm8/config/
在这里插入图片描述

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

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

DSC1
在这里插入图片描述

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

DSC2
在这里插入图片描述
DSC1 CSS窗口 show命令查看
查看vtd_status 字段为 WORKING,active 字段为 TRUE 说明 db 服务正常
在这里插入图片描述

注册服务(两台都要)

在数据库软件安装目录下的/dm8/script/root目录下
注册DMCSS服务

/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

设置自动拉起功能
vim /dm8/config/dmdcr.ini

DMDCR_ASM_RESTART_INTERVAL = 1  #自动拉起ASM
DMDCR_DB_RESTART_INTERVAL = 1   #自动拉起数据库实例

在这里插入图片描述

配置监视器(可选择其中一台)

CSSM_OGUID = 63635

CSSM_CSS_IP = 192.168.232.138:9341

CSSM_CSS_IP = 192.168.232.139:9343

CSSM_LOG_PATH =/dm8/log

CSSM_LOG_FILE_SIZE = 256

CSSM_LOG_SPACE_LIMIT = 2048

在这里插入图片描述
bin目录下启动监视器

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

关闭集群

关闭数据库:监视器中执行 ep stop dsc
关闭 asm:监视器中执行 ep stop asm
在这里插入图片描述
了解更多详情请访问达梦数据库-新一代大型通用关系型数据库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值