DM8 DSC集群部署

1、介绍

1.1 DSC介绍

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

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

1.2 DSC架构

1.3 环境介绍

1、IP规划:

主机名

服务ip

心跳ip

实例名

节点用途

dsc01

192.168.10.21

192.168.11.21

DSC1

DSC节点1

dsc02

192.168.10.22

192.168.11.22

DSC2

DSC节点2

2、端口规划:

实例名

实例端口

MAL系统端口

CSS端口

ASM端口

ASM的MAL端口

DCR检查实例端口

DSC1

5236

9236

9341

9351

7236

9741

DSC2

5236

9236

9341

9351

7236

9741

3、共享存储规划:

磁盘

裸设备名/用途

/dev/dm_data01(10G)

/dev/sde(数据盘)

/dev/dm_dcr(1G)

/dev/sdb (DCR磁盘)

/dev/dm_vote(1G)

/dev/sdc(vote磁盘)

/dev/dm_log(5G)

/dev/sdd(redo日志磁盘)

4、目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)

数据库软件安装目录

/dm/dmdbms

DSC配置文件目录

/dm/config

DSC1本地归档目录

+DMDATA/dsc/dsc1/arch

DSC1远程归档目录

+DMDATA/dsc/dsc2/arch

DSC2本地归档目录

+DMDATA/dsc/dsc2/arch

DSC2本地归档目录

+DMDATA/dsc/dsc1/arch

2、dsc环境配置

2.1 安装数据库软件

创建用户

groupadd dinstall

useradd -g dinstall -m -d /home/dmdba dmdba

创建数据库软件安装目录dmdbms和coredump目录core

mkdir -pv /dm/{dmdbms,core}

chown dmdba:dinstall /dm -R

配置内核参数

vi /etc/sysctl.conf

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

vm.swappiness = 0

vm.dirty_background_ratio = 3

vm.dirty_ratio = 80

vm.dirty_expire_centisecs = 500

vm.dirty_writeback_centisecs = 100

kernel.core_pattern=/dm/core/%e.core.%p

配置生效

sysctl -p

配置资源限制

vim /etc/security/limits.conf

dmdba soft nice 0

dmdba hard nice 0

dmdba soft as unlimited

dmdba hard as unlimited

dmdba soft fsize unlimited

dmdba hard fsize unlimited

dmdba soft noproc 65536

dmdba hard noproc 65536

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft data unlimited

dmdba hard data unlimited

安装数据库软件

./DMInstall.bin -i

根据提示进行安装。

2.2 配置udev规则

使用/usr/lib/udev/scsi_id -g -u -d /dev/sdb命令,取出sdb到sde磁盘的uuid。

编辑udev规则

vi /etc/udev/rules.d/99-dm-asmdevices.rules

KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode ",RESULT=="3c4d373a-00bc-11ec-aedc-1c20db5677de", SYMLINK+="dm_vote",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode ",RESULT=="487717ce-00bc-11ec-aedc-1c20db5677de", SYMLINK+="dm_dcr",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode ",RESULT=="5450fea2-00bc-11ec-aedc-1c20db5677de", SYMLINK+="dm_redo",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode ",RESULT=="6737235c-00bc-11ec-aedc-1c20db5677de", SYMLINK+="dm_data001",OWNER="dmdba", GROUP="dinstall",MODE="0660"

生效编辑的udev规则

sudo udevadm control --reload

sudo udevadm trigger --type=devices --action=change

2.3 配置DCR初始化配置文件

创建配置文件存放目录,2 个节点都要执行,使用 dmdba 用户,执行以下命令:

mkdir -p /dm/config

新建 dmdcr_cfg.ini 文件,节点 1 使用 dmdba 用户,执行以下命令:

vim /dm/config/dmdcr_cfg.ini

添加以下内容:

DCR_N_GRP             = 3

DCR_VTD_PATH          = /dev/dm_vote

DCR_OGUID             = 20210909

[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.10.21

 DCR_EP_PORT          = 9341

[CSS]

 DCR_EP_NAME          = CSS2

 DCR_EP_HOST          = 192.168.10.22

 DCR_EP_PORT          = 9341

[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      = 500

 DCR_EP_HOST          = 192.168.11.21

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/

[ASM]

 DCR_EP_NAME          = ASM2

 DCR_EP_SHM_KEY       = 93361

 DCR_EP_SHM_SIZE      = 500

 DCR_EP_HOST          = 192.168.11.22

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/

[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         = 5236

 DCR_CHECK_PORT      = 9741 

[DSC]

 DCR_EP_NAME         = DSC2

 DCR_EP_SEQNO        = 1

 DCR_EP_PORT         = 5236

 DCR_CHECK_PORT      = 9741

2.4 创建ASM磁盘

使用 dmdba 用户,执行以下命令(只需在一个节点执行)。

dmasmcmd

进入 ASM 提示符后执行以下命令:

create  dcrdisk '/dev/dm_dcr' 'dcr'

create votedisk '/dev/dm_vote' 'vote'

init dcrdisk '/dev/dm_dcr' from '/dm/config/dmdcr_cfg.ini' identified by '123456'

init votedisk  '/dev/dm_vote' from '/dm/config/dmdcr_cfg.ini'

create asmdisk '/dev/dm_redo' 'LOG0'

create asmdisk '/dev/dm_data001' 'DATA0'

2.5 配置ASM的MAL系统配置文件

2 个节点都需要配置,且文件内容相同,执行以下命令:

vi /dm/config/dmasvrmal.ini

添加以下内容:

[MAL_INST1]    
MAL_INST_NAME        = ASM1
MAL_HOST                   = 192.168.11.21
MAL_PORT                   = 7236
 
[MAL_INST2]    
MAL_INST_NAME        = ASM2
MAL_HOST                   = 192.168.11.22
MAL_PORT                   = 7236

2.6 配置DCR启动配置文件

vi /dm/config/dmdcr.ini

节点 1(DSC1) 添加以下内容:

DMDCR_PATH     = /dev/dm_dcr
DMDCR_MAL_PATH =/dm/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO   = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr  dcr_ini=/dm/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver 

path=/dm/config/dsc1/dm.ini dcr_ini=/dm/config/dmdcr.ini

节点 2(DSC2) 添加以下内容:

DMDCR_PATH     = /dev/dm_dcr
DMDCR_MAL_PATH =/dm/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO   = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr  dcr_ini=/dm/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver

path=/dm/config/dsc2/dm.ini dcr_ini=/dm/config/dmdcr.ini

2.7 启动DMCSS服务

2 个节点启动 dmcss,dmdba 用户到数据库安装目录 bin 下执行以下命令:(以前台方式启动,仅为测试部署是否成功)

dmcss dcr_ini=/dm/config/dmdcr.ini

css 服务启动后会自动拉起asm服务(出现 asm is ready 即表明启动成功)

注意:不要关闭,会面配置需要连接asm服务配置磁盘组,和初始化数据库。

2.8 创建ASM磁盘组

asm 启动成功后,节点 1 (DSC1,只需在一个节点执行即可)使用 dmdba 用户启动 dmasmtool 工具。

masmtool dcr_ini=/dm/config/dmdcr.ini

在 ASM 提示符下创建 asm 磁盘组,创建 redo 日志磁盘组,执行以下命令:

create diskgroup 'DMLOG' asmdisk '/dev/dm_redo'

创建数据文件磁盘组,执行以下命令:

create diskgroup 'DMDATA' asmdisk '/dev/dm_data001'

2.9 初始化dsc集群数据库

配置 dminit 控制文件,节点 1 使用 dmdba 用户执行以下命令:

vi /dm/config/dminit.ini

添加以下内容:

db_name        = DSC

system_path    = +DMDATA/data

system         = +DMDATA/data/dsc/system.dbf

system_size    = 2048

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

dcr_path       = /dev/dm_dcr   #dcr磁盘路径,目前不支持asm,只能是裸设备

dcr_seqno      = 0

auto_overwrite = 1

charset = 0 #字符集为gb18030

case_sensitive = 1 #大小写敏感

page_size =32

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

config_path    = /dm/config/dsc1

port_num       = 5236

mal_host       = 192.168.11.21

mal_port       = 9236

log_path       = +DMLOG/log/dsc1_log01.log

log_path       = +DMLOG/log/dsc1_log02.log

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

config_path    = /dm/config/dsc2

port_num       = 5236

mal_host       = 192.168.11.22

mal_port       = 9236

log_path       = +DMLOG/log/dsc2_log01.log

log_path       = +DMLOG/log/dsc2_log02.log

初始化实例,节点 1 使用 dmdba 用户执行以下命令:

dminit control=/dm/config/dminit.ini

初始化完成后会在 init 控制文件配置的目录(config_path参数配置的目录)下生成 2 个实例的配置文件,需要手动将节点2的配置文件,从节点1复制到节点2对应目录。

cd /dm/config

scp -r dsc2 192.168.11.22:/dm/config/

观察两个节点的 css 窗口日志,db 会被自动启动。出现 system is ready ep real open,说明数据库实例启动成功。

2.10 注册服务

以上启动方式为前台启动,仅用于验证集群配置过程。配置成功后需要注册为系统服务,方便启动和关闭集群,以及实现开机自动启动。

2 个节点都需要注册,使用 root 用户执行,到数据库安装目录的 script/root 目录。

节点 1 执行以下命令:

sudo ./dm_service_installer.sh -t dmcss -p css1 -dcr_ini /dm/config/dmdcr.ini

节点 2 执行以下命令:

sudo ./dm_service_installer.sh -t dmcss -p css2 -dcr_ini /dm/config/dmdcr.ini

关闭前台启动的 css,以服务方式启动 css。

节点 1 使用dmdba执行以下命令:

cd /dm/dmdbms/bin

./DmCSSServicecss1 start

节点 2 使用dmdba执行以下命令:

cd /dm/dmdbms/bin

./DmCSSServicecss2 start

CSS服务启动后,会自动拉起ASM服务,自动启动数据库实例。

3、其他配置

3.1 配置归档

2个节点修改配置文件

DSC1节点修改

vi /dm/config/dsc1/dm.ini

修改ARCH_INI =1

DSC2节点修改

vi /dm/config/dsc2/dm.ini

修改ARCH_INI =1

新建归档配置文件与dm.ini同目录

DSC1节点新建:

vi /dm/config/dsc1/dmarch.ini

ARCH_LOCAL_SHARE = 1

ARCH_LOCAL_SHARE_CHECK = 0

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = +DMDATA/dsc/dsc1/arch

ARCH_FILE_SIZE = 64

ARCH_SPACE_LIMIT = 512

[ARCH_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC2

ARCH_INCOMING_PATH = +DMDATA/dsc/dsc2/arch

ARCH_FILE_SIZE = 64

ARCH_SPACE_LIMIT = 512

[ARCHIVE_LOCAL2]

ARCH_TYPE = LOCAL

ARCH_DEST = /dmarch

ARCH_FILE_SIZE = 64

ARCH_SPACE_LIMIT = 512

DSC2节点新建:

vi /dm/config/dsc2/dmarch.ini

ARCH_LOCAL_SHARE = 1

ARCH_LOCAL_SHARE_CHECK = 0

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = +DMDATA/dsc/dsc2/arch

ARCH_FILE_SIZE = 64

ARCH_SPACE_LIMIT = 512

[ARCH_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC1

ARCH_INCOMING_PATH = +DMDATA/dsc/dsc1/arch

ARCH_FILE_SIZE = 64

ARCH_SPACE_LIMIT = 512

[ARCHIVE_LOCAL2]

ARCH_TYPE = LOCAL

ARCH_DEST = /dmarch

ARCH_FILE_SIZE = 64

ARCH_SPACE_LIMIT = 512

重启数据库开启归档模式。

3.2 配置集群监视器

任意节点新建监视器配置文件,执行以下命令:

vi /dm/config/dmcssm.ini

添加以下内容:

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 20210909
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.11.21:9341
CSSM_CSS_IP = 192.168.11.22:9341
CSSM_LOG_PATH =/dm/dmdbms/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动监视器,dmdba 用户执行.

dmcssm ini_path=/dm/config/dmcssm.ini

3.3 启停集群

在集群监视器交互界面停止DSC,执行

ep stop DSC

执行成功后再停止ASM ,执行

ep stop ASM

执行成功后,最后停止css服务

节点 1 执行以下命令:

./DmCSSServicecss1 stop

节点 2 执行以下命令:

./DmCSSServicecss2 stop

以上完成集群的停止。

启动集群:

节点 1 执行以下命令:

./DmCSSServicecss1 start

节点 2 执行以下命令:

./DmCSSServicecss2 stop

CSS启动后会自动拉起ASM和DSC服务。

总结

更多资讯请上达梦技术社区了解:https://eco.dameng.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值