DM8数据库DSC集群配置


DM8数据库DSC集群配置

一、部署规划

本次部署为2节点DSC集群

IP规划:

主机名

服务ip

心跳ip

实例名

节点用途

DSC1

192.168.3.31

192.168.4.3

DSC1

DSC节点1

DSC2

192.168.3.32

192.168.4.4

DSC2

DSC节点2

端口规划:

实例名

实例端口

MAL系统端口

CSS端口

ASM端口

ASM的MAL端口

DCR检查实例端口

DSC1

5236

9236

9341

9351

7236

9741

DSC2

5236

9236

9341

9351

7236

9741

共享存储规划:

磁盘

裸设备名/用途

/dev/sdb(5G)

/dev/raw/raw1 (DCR磁盘)

/dev/sdc(5G)

/dev/raw/raw2 (vote磁盘)

/dev/sdd(10G)

/dev/raw/raw3(redo日志磁盘)

/dev/sde(10G)

/dev/raw/raw4(数据磁盘)

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

数据库软件安装目录

/dm/dmdbms

DSC配置文件目录

/dm/dmdbms/config

DSC1本地归档目录

+DMDATA/dsc/dsc1/arch

DSC1远程归档目录

+DMDATA/dsc/dsc2/arch

DSC2本地归档目录

+DMDATA/dsc/dsc2/arch

DSC2本地归档目录

+DMDATA/dsc/dsc1/arch

二、数据库软件安装

注:所有服务器节点都需要安装数据库软件。

2.1 操作系统配置

2.1.1 操作系统用户创建

groupadd -g 12349 dinstall

useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

passwd dmdba

2.1.2 修改操作系统用户变量

使用dmdba用户执行以下命令:

vi .bash_profile

添加如下内容:

export DM_HOME=/dm/dmdbms

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

变量生效:

[dmdba@DM1 ~]$ source .bash_profile

2.1.3 修改操作系统用户资源限制

使用root用户执行以下命令:

vi /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      nproc      65536

dmdba  hard      nproc      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

2.1.4 修改操作系统参数

使用root用户执行以下命令:

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=/coredump/%e.core.%p

参数生效:

sysctl -p

2.1.5 安装目录创建

使用root用户执行以下命令:

mkdir -p /dm/dmdbms

chown -R dmdba:dinstall /dm

2.2 数据库软件安装

2.2.1 解压软件包

使用root用户执行以下命令:

unzip dm8_20210630_x86_rh6_64_ent.zip

chown dmdba:dinstall DM*

2.2.2 数据库软件安装

注:主备节点和监视器节点都需安装数据库软件

使用dmdba用户执行以下命令:

./DMInstall.bin -i

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c

解压安装程序..........

欢迎使用达梦数据库安装程序

 

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

 

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:21

 

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:1

所需空间: 1178M

 

请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms

可用空间: 36G

是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

 

安装前小结

安装位置: /dm/dmdbms

所需空间: 1178M

可用空间: 36G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):y

2021-10-07 18:11:25

[INFO] 安装达梦数据库...

2021-10-07 18:11:25

[INFO] 安装 基础 模块...

2021-10-07 18:12:10

[INFO] 安装 服务器 模块...

2021-10-07 18:12:11

[INFO] 安装 客户端 模块...

2021-10-07 18:12:19

[INFO] 安装 驱动 模块...

2021-10-07 18:12:21

[INFO] 安装 手册 模块...

2021-10-07 18:12:23

[INFO] 安装 服务 模块...

2021-10-07 18:12:24

[INFO] 移动日志文件。

2021-10-07 18:12:24

[INFO] 安装达梦数据库完成。

 

请以root系统用户执行命令:

/dm/dmdbms/script/root/root_installer.sh

 

安装结束

三、集群配置

3.1 使用UDEV绑定存储

所有节点都需使用UDEV绑定存储。

使用root用户执行以下命令:

vi /etc/udev/rules.d/90-raw.rules

添加如下内容:

ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add",KERNEL=="sdb",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",KERNEL=="sdd",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",KERNEL=="sde",RUN+="/bin/raw /dev/raw/raw4 %N"

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

使用root用户执行以下命令:

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

reboot (重启服务器)

3.2 配置dmdcr_cfg.ini文件

所有节点都需要配置dmdcr_cfg.ini文件。

使用dmdba用户执行以下命令:

mkdir -p /dm/dmdbms/config

vi /dm/dmdbms/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.4.3

 DCR_EP_PORT          = 9341

[CSS]

 DCR_EP_NAME          = CSS2

 DCR_EP_HOST          = 192.168.4.4

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

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/raw

[ASM]

 DCR_EP_NAME          = ASM2

 DCR_EP_SHM_KEY       = 93361

 DCR_EP_SHM_SIZE      = 500

 DCR_EP_HOST          = 192.168.4.4

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

 DCR_CHECK_PORT            = 9741  

[DSC]

 DCR_EP_NAME         = DSC2

 DCR_EP_SEQNO                 = 1

 DCR_EP_PORT         = 5236

 DCR_CHECK_PORT            = 9741

3.3 创建ASM磁盘

只需在任意一个节点执行即可。

使用dmdba用户执行以下命令:

dmasmcmd

dmasmcmd命令行界面执行以下命令:

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

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

create asmdisk '/dev/raw/raw3' 'LOG0'

create asmdisk '/dev/raw/raw4' 'DATA0'

注:dmasmcmd命令行界面执行任何命令都不可以添加“;”符号。

初始化DCR盘

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

初始化VOTE盘

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

3.4 配置dmasvrmal.ini文件

所有节点都需要配置dmasvrmal.ini文件。

使用dmdba用户执行以下命令:

vi /dm/dmdbms/config/dmasvrmal.ini

添加如下内容:

[MAL_INST1]     

MAL_INST_NAME              = ASM1

MAL_HOST                    = 192.168.4.3

MAL_PORT                    = 7236

 

[MAL_INST2]     

MAL_INST_NAME              = ASM2

MAL_HOST                    = 192.168.4.4

MAL_PORT                    = 7236

3.5 配置dmdcr.ini文件

所有节点都需配置dmdcr.ini文件。

节点1:

使用dmdba用户执行以下命令:

vi /dm/dmdbms/config/dmdcr.ini

添加如下内容:

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini  

DMDCR_SEQNO   = 0

#ASM

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr  dcr_ini=/dm/dmdbms/config/dmdcr.ini

#DB

DMDCR_DB_RESTART_INTERVAL = 30

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

节点二:

使用dmdba用户执行以下命令:

vi /dm/dmdbms/config/dmdcr.ini

添加如下内容:

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini  

DMDCR_SEQNO   = 1

#ASM

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr  dcr_ini=/dm/dmdbms/config/dmdcr.ini

#DB

DMDCR_DB_RESTART_INTERVAL = 30

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

3.6 启动dmcss服务

使用dmdba用户在所有节点执行以下命令:

cd $DM_HOME/bin

./dmcss dcr_ini=/dm/dmdbms/config/dmdcr.ini

3.7 创建ASM磁盘组

只需在任意一个节点执行即可。

使用dmdba用户执行以下命令:

dmasmtool dcr_ini=/dm/dmdbms/config/dmdcr.ini

dmasmtool的命令行界面中执行以下命令:

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

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

注:dmasmcmd命令行执行任何命令都不可以添加“;”符号。

3.8 创建数据库实例

在节点1使用dmdba用户执行如下操作命令:

vi /dm/dmdbms/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

log_size     = 256

dcr_path     = /dev/raw/raw1   

dcr_seqno     = 0

auto_overwrite   = 1

charset =1 

page_size =32

[DSC1]

config_path    = /dm/dmdbms/config/dsc1

port_num     = 5236

mal_host     = 192.168.4.3 

mal_port     = 9236

log_path     = +DMLOG/log/dsc1_log01.log

log_path     = +DMLOG/log/dsc1_log02.log

[DSC2]  

config_path    = /dm/dmdbms/config/dsc2

port_num     = 5236

mal_host     = 192.168.4.4 

mal_port     = 9236

log_path     = +DMLOG/log/dsc2_log01.log

log_path     = +DMLOG/log/dsc2_log02.log

执行dminit命令:

dminit control=/dm/dmdbms/config/dminit.ini

将节点2的配置文件,从节点1复制到节点2对应目录:

scp -R dsc2 dmdba@192.168.3.32:/dm/dmdbms/config/

3.9 注册数据库服务

在所有数据库节点,使用root用户执行以下命令:

节点1:

/dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -p css1 -dcr_ini /dm/dmdbms/config/dmdcr.ini

节点2:

/dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -p css2 -dcr_ini /dm/dmdbms/config/dmdcr.ini

3.10 以服务方式启动css

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

节点1:

使用dmdba用户执行以下命令:

在以前台方式启动的css的命令行界面执行CTRL+C,关闭css服务。

使用root用户执行以下命令:

systemctl enable DmCSSServicecss1.service

systemctl start  DmCSSServicecss1.service

systemctl status  DmCSSServicecss1.servic

节点二:

使用dmdba用户执行以下命令:

在以前台方式启动的css的命令行界面执行CTRL+C,关闭css服务。

使用root用户执行以下命令:

systemctl enable DmCSSServicecss2.service

systemctl start DmCSSServicecss2.service

systemctl status DmCSSServicecss2.service

3.11 开启数据库归档模式

节点1:

vi /dm/dmdbms/config/dsc1/dm.ini

修改如下内容:

ARCH_INI=1

dm.ini同级目录下创建dm_arch.ini文件。

vi /dm/dmdbms/config/dsc1/dmarch.ini

添加如下内容:

ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST =+DMDATA/dsc/dsc1/arch

ARCH_FILE_SIZE = 256

ARCH_SPACE_LIMIT = 5000

[ARCH_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC2

ARCH_INCOMING_PATH =+DMDATA/dsc/dsc2/arch

ARCH_FILE_SIZE = 256

ARCH_SPACE_LIMIT = 5000

节点2:

vi /dm/dmdbms/config/dsc2/dm.ini

修改如下内容:

ARCH_INI=1

dm.ini同级目录下创建dm_arch.ini文件。

vi /dm/dmdbms/config/dsc2/dmarch.ini

添加如下内容:

ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST =+DMDATA/dsc/dsc2/arch

ARCH_FILE_SIZE = 256

ARCH_SPACE_LIMIT = 5000

[ARCH_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC1

ARCH_INCOMING_PATH =+DMDATA/dsc/dsc1/arch

ARCH_FILE_SIZE = 256

ARCH_SPACE_LIMIT = 5000

两节点重启数据库实例,开启数据库归档模式。

四、数据库参数调整

执行参数优化脚本,优化数据库参数。

五、配置集群监视器

在任意1个节点,使用dmdba用户执行以下命令:

vi /dm/dmdbms/config/dmcssm.ini

添加如下内容:

CSSM_OGUID = 63635

CSSM_CSS_IP = 192.168.4.3:9341

CSSM_CSS_IP = 192.168.4.4:9341

CSSM_LOG_PATH =/dm/dmdbms/log

CSSM_LOG_FILE_SIZE = 32

CSSM_LOG_SPACE_LIMIT = 0

启动监视器:

dmcssm ini_path=/dm/dmdbms/config/dmcssm.ini

六、重启数据库集群

关闭集群

在集群监视器命令行界面执行以下命令:

ep stop DSC

ep stop ASM

节点1

使用root用户执行以下命令:

systemctl stop DmCSSServicecss1

节点2:

使用root用户执行以下命令:

systemctl stop DmCSSServicecss2

启动集群

节点1:

使用root用户执行以下命令:

systemctl start DmCSSServicecss1

节点2:

使用root用户执行以下命令:

systemctl start DmCSSServicecss2

想要获取达梦数据库更多的学习资料,可登陆达梦数据云适配中心(https://eco.dameng.com/)获取。