达梦数据库DSC集群搭建:两节点与多节点(三节点)集群搭建

目录

说明... 4

两节点集群搭建... 5

一、创建共享磁盘... 6

1、DMDSC01添加硬盘... 6

2、DMDSC02添加共享磁盘... 8

二、搭建DMDSC集群... 12

1、安装完成数据库配置资源限制... 12

2、添加用户变量... 13

3、共享磁盘分区... 14

4、新建udev规则文件-裸设备绑定... 15

5、检查是否配置成功... 16

6、配置DCR初始化配置文件-创建配置文件存放目录... 16

7、新建dmdcr_cfg.ini文件... 17

8、创建ASM磁盘... 19

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk。... 19

10、配置ASM的MAL系统配置文件... 20

11、配置DCR启动配置文件... 20

12、启动DMCSS服务... 22

13、dmasmtool工具创建redo日志磁盘组和数据文件磁盘组... 22

13、初始化DSC集群数据库实例... 23

15、将dsc2目录(节点数据库实例配置文件)复制到节点二指定目录下... 26

16、启动css,asm,server服务... 26

17、配置监视器... 27

18、启动监视器... 28

19、注册服务--后台启动... 29

20、启动方式... 30

21、客户端验证... 31

三、多节点(3节点)集群+单节点监控搭建... 33

1、安装完成数据库配置资源限制... 34

2、添加用户变量... 35

3、共享磁盘分区... 35

4、新建udev规则文件-裸设备绑定... 37

5、检查配置是否成功... 38

6、配置DCR初始化配置文件... 38

7、新建dmdcr_cfg.ini文件... 38

8、创建ASM磁盘... 41

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk. 42

10、配置ASM的MAL系统配置文件... 42

11、配置DCR启动配置文件... 43

12、启动DMCSS服务... 45

13、Asm启动后dmdba用户启动dmasmtool工具创建redo日志磁盘组和数据文件磁盘组... 46

14、初始化DCS集群数据库实例(生成达梦数据库实例配置文件)... 47

15、将对应目录复制到对应节点的指定目录下... 48

16、启动css,asm,server 49

17、配置监视器... 50

18、启动监视器... 51

19、注册服务--后台启动... 51

20、启动方式... 53

21、客户端验证... 54

说明

1、启动DMDSC集群之前,必须先启动集群同步服务DMCSS,若使用了DMASM文件系统,则DMASMSVR服务也必须先启动。

2、DMCSS可以配置DMASMSVR/DMSERVER 自动拉起;可以先仅启动 DMCSS,然后启动 DMCSSM。

3、DMCSSM 控制台执行命令

"ep startup asm"启动 DMASMSVR 集群

"ep startup dsc"启动 DMSERVER 集群(asm/dsc集群的组名)

"ep stop asm/dsc"关闭 DMASMSVR/DMSERVER 集群环境。

4、关闭 DMDSC集群环境,先关闭DMSERVER,再关闭asm 和 css。

5、dmasmcmd工具(asm初始化工具)可以根据DMDCR_CFG.INI配置文件,格式化DCR DISK和VOTE DISK。详细命令见手册。

dmasmtool是asm管理工具。详细命令见手册。

dmasmcmd工具使用说明:(DMDCR_CFG.INI配置说明)

1)dmasmcmd执行 init votedisk disk_path from dcr_cfg_path指定的disk_path必须和dcr_cfg_path里面配置的DCR_VTD_PATH 相同。

2)如果配置dmcssm,dmcssm的OGUID必须和DCR_OGUID保持一致。

3)DCR_N_GRP必须和实际配置的组数目保持一致。

4)CSS和ASM组的DCR_GRP_N_EP要相等,DB的DCR_GRP_N_EP要小于等于CSS/ASM的DCR_GRP_N_EP。

5)ASM节点的DCR_EP_NAME必须和DMASM系统使用的DMASVRMAL.INI配置文件里的 MAL_INST_NAME一致。

6)DB节点的DCR_EP_NAME必须和DMMAL.INI文件里的MAL_INST_NAME、以及DM.INI文件里的INSTANCE_NAME一致。

7)所有DB节点的DCR_EP_NAME都不能重复,DB组内的DCR_EP_SEQNO不能重复。

8)DMDCR_CFG.INI 配置文件中的所有路径均不支持中文路径。

6、DMDCR.INI:是DMCSS、DMASMSVR、DMASMTOOL等工具的输入参数。

7、DMASMSVR 实例启动命令:

/dm8/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini

8、DMSERVER 实例启动命令:

/dm8/bin/dmserver path=/home/dmdba/config/dscn/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

9、dmini.ini是DMINIT工具初始化数据库环境的配置文件。Control指定配置路径。

./dminit control=/home/dmdba/config/dminit.ini

10、mal配置文件包括dmmal.ini(初始化实例时自动生成)和dmasvrmal.ini(手动配置)。使用同一套MAL系统的所有实例,MAL系统配置文件要严格保持一致。

11、dmasmsvr组成的集群环境使用一套MAL系统进行通讯,需要在dmdcr.ini中配置DMDCR_MAL_PATH参数,指定MAL配置文件路径(dmasvrmal.ini绝对路径)。

集群搭建:

1)准备集群节点(双网卡)及监控服务器(3+1)

2)配置节点服务器的共享磁盘

3)服务器节点安装达梦数据库。(暂不初始化创建实例)

4)共享磁盘分区(4个区)(100M,100M,2G,77G数据盘)

5)配置DCR初始化配置文件(dmdcr_cfg.ini-)

6)dmasmcmd初始化工具创建ASM磁盘,并使用dmdcr_cfg.ini配置文件初始化dcr和vote磁盘。

7)配置asm的mal系统配置文件(dmasvrmal.ini)

8)配置DCR启动配置文件(dmdcr.ini—dmcss(集群同步(控制)软件))。(DCR系统磁盘,DCRV系统磁盘组)

9)启动dmcss集群同步软件(根据dmdcr.ini配置启动)。

10)启动dmasmtool工具(也是根据dmdcr.ini配置启动):创建redo日志磁盘组和数据文件磁盘组

11)配置dminit初始化实例配置文件

12)初始化DSC集群数据库实例(根据dminit.ini配置文件)

13)复制初始化好的各实例配置文件(目录包含:dm.ini、dmmal.ini、sqllog.ini)到各节点指定位置。

14)启动css,asm,server服务。(上面css、asm已启动就不需要操作,server服务会被css自动拉起(若没拉起再手动启动))

15)配置监视器服务(配置dmcssm.ini配置文件,启动dmcssm监控服务即可)

16)可以注册服务,后台启动。(需要修改dmdcr.ini中各服务启动命令)

两节点集群搭建

两台服务器

DMDSC01

192.168.16.220

10.10.10.220

DMDSC02

192.168.16.221

10.10.10.221

前提条件:两台服务器配置两个网卡,并安装完成数据库,未初始化实例。

 

 

一、创建共享磁盘

两台虚拟机关机

1、DMDSC01添加硬盘

 

 

 

指定共享盘路径及名称:H:\linux\dmdb\ShardDisk\CentOS7-2c4g-DMDSC01-2-gx0.vmdk

 

点击高级

 

2、DMDSC02添加共享磁盘

 

 

 

点击高级

 

 

添加完成后,虚拟机路径下的 .vmx 文件中会出现如下信息:两台都加

 

scsi1.virtualDev = "lsilogic"

scsi1.present = "TRUE"

scsi1:0.fileName = "E:\vmdk\test\Red Hat TEST RAC0-0.vmdk"

scsi1:0.present = "TRUE"

还需要手工在两台虚拟机 .vmx 文件中添加如下信息:

diskLib.dataCacheMaxSize=0

diskLib.dataCacheMaxReadAheadSize=0

diskLib.dataCacheMinReadAheadSize=0

diskLib.dataCachePageSize=4096

diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"

添加完成后,启动两台虚拟机

fdisk -l --可以查看共享磁盘信息

sd 代表的是 SCSI,SATA 接口硬盘

DMDSC01

 

DMDSC02

 

两台机器共享磁盘一致,共享磁盘添加成功。

二、搭建DMDSC集群

Dm8DSC安装步骤

1、安装完成数据库配置资源限制

root

修改dmdba用户资源限制:vim /etc/security/limits.conf

在文件末尾加入:

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft nproc  65536

dmdba hard nproc  65536

dmdba soft stack  65536

dmdba hard stack  65536

2、添加用户变量

dmdba

Vim /home/dmdba/.bash_profile

文件末尾添加如下内容:

export DM_HOME="/dm8"

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"

 

配置两台虚拟机不同主机名称

(这个可以不用,该集群与服务器名称无关)

vim /etc/hostname

DMDSC01

DMDSC02

重启服务器

reboot

3、共享磁盘分区

执行以下命令查看磁盘

[root@DMDSC01 ~]# lsblk

 

 

进行裸设备划分 (分区)--一个节点执行即可

因为是共享磁盘,只需在一台虚拟机操作即可

 输入 fdisk /dev/sdb

 依次输入 n → p → 1 →回车→回车→ +100M →回车,完成第一块磁盘划分

 依次输入 n → p → 2 →回车→回车→ +100M →回车,完成第二块磁盘划分

 依次输入 n → p → 3 →回车→回车→ +2048M →回车,完成第三块磁盘划分

 依次输入 n → p → 4 →回车→回车→回车,完成第四块磁盘划分

 w

保存配置并退出

[root@DMDSC01 ~]# fdisk -l

 

4、新建udev规则文件-裸设备绑定

(两台均需操作)

[root@DMDSC01 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

[root@DMDSC02 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.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"

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

 

执行以下命令使文件生效

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

5、检查是否配置成功

[root@DMDSC01 ~]# ll /dev/raw/raw*

 

没有绑定成功,重启服务器,再验证绑定成功

reboot

 

 

注意:如果查不到配置的裸设备,请重启服务器在验证。

6、配置DCR初始化配置文件-创建配置文件存放目录

两个节点用dmdba用户执行。

mkdir -p /home/dmdba/config

mkdir -p /home/dmdba/config

7、新建dmdcr_cfg.ini文件

使用dmdba用户--两个节点都配置

全部使用外网或全部为内网ip均可以。(规范内网ip配置)

vim /home/dmdba/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 = 10.10.10.220

DCR_EP_PORT = 9341

[CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 10.10.10.221

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

DCR_EP_HOST = 10.10.10.220

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

DCR_EP_HOST = 10.10.10.221

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

DCR_CHECK_PORT = 9741

[DSC]

DCR_EP_NAME = DSC2

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

8、创建ASM磁盘

使用dmdba用户

[dmdba@DMDSC01 bin]$ ./dmasmcmd

DMASMCMD V8

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

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

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

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

 

检查

listdisks '/dev/raw/'

 

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk。

并在ASM提示符执行以下命令:

ASM> init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'

ASM>init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini'

 

10、配置ASM的MAL系统配置文件

两个节点都需要配置,内容相同

vim /home/dmdba/config/dmasvrmal.ini

添加以下内容

[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                    = 10.10.10.220

MAL_PORT                    = 7236

 

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                    = 10.10.10.221

MAL_PORT                    = 7236

 

11、配置DCR启动配置文件

[dmdba@DMDSC01 bin]$ vim /home/dmdba/config/dmdcr.ini

节点一添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0

#ASM 重启参数,命令行方式启动,注释掉的CMD为注册后修改的启动命令

DMDCR_ASM_RESTART_INTERVAL =10

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

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc1 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

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

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc1 start

[dmdba@DMDSC02 bin]$ vim /home/dmdba/config/dmdcr.ini

节点二添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

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

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc2 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

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

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc2 start

12、启动DMCSS服务

查看防火墙状态:关闭

两个节点启动dmcss,dmdba用户到数据库安装目录bin下执行

节点一和二这里需要一起启动css只起一个节点会卡住不往下执行:

[dmdba@DMDSC01 bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

 

启动后会一直报错,不需要管,因为没初始化实例。后面初始化实例后就正常了

 

 

13、dmasmtool工具创建redo日志磁盘组和数据文件磁盘组

Asm启动后,dmdba用户启动dmasmtool工具

[dmdba@DMDSC01 bin]$ ./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini

创建redo日志磁盘组

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

创建数据文件磁盘组

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

 

ls --查看磁盘组信息是否正确

lsdsk --查看磁盘详细信息

 

 

13、初始化DSC集群数据库实例

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

[dmdba@DMDSC01 config]$ vim 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 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

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

config_path = /home/dmdba/config/dsc1

port_num = 5236

mal_host = 10.10.10.220

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 = /home/dmdba/config/dsc2

port_num = 5236

mal_host = 10.10.10.221

mal_port = 9236

log_path = +DMLOG/log/DSC2_log01.log

log_path = +DMLOG/log/DSC2_log02.log

[dmdba@DMDSC01 bin]$ ./dminit control=/home/dmdba/config/dminit.ini

 

启动报错:log_size设置不对,100改为256即可

 

15、将dsc2目录(节点数据库实例配置文件)复制到节点二指定目录下

[dmdba@DMDSC01 config]$ scp -r dsc2 192.168.16.221:/home/dmdba/config/

 

两台服务的dmcss均正常不报错了(节点2自动拉起的)

 

 

16、启动css,asm,server服务

两个节点都需要(css,asm前面已启动本次就不需要启动,server会被css自动拉起)

[dmdba@dm2 bin] ./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

 

直接找到端口kill掉再执行即可

[dmdba@DMDSC01 bin]$ netstat -lnupt

[dmdba@DMDSC01 bin]$ kill -9 2172

[dmdba@DMDSC01 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini --这里只需要一个节点执行启动asm即可,因为共用的!!

[dmdba@DMDSC01 bin]$ ./dmserver /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

 

 

17、配置监视器

[dmdba@dm1 config]$ vim dmcssm.ini

添加下列内容:

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

CSSM_OGUID = 63635

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 10.10.10.220:9341

CSSM_CSS_IP = 10.10.10.221:9341

CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

18、启动监视器

dmdba用户执行。

[dmdba@dm1 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

show

 

 

 

19、注册服务--后台启动

root

节点一:

[root@DMDSC01 root]# ./dm_service_installer.sh -t dmcss -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDSC01 root]# ./dm_service_installer.sh -t dmasmsvr -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc1

[root@DMDSC01 root]# ./dm_service_installer.sh -t dmserver -p dsc1 -dm_ini /home/dmdba/config/dsc1/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc1

 

节点二:

[root@DMDSC02 root]# ./dm_service_installer.sh -t dmcss -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDSC02 root]# ./dm_service_installer.sh -t dmasmsvr -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc2

[root@DMDSC02 root]# ./dm_service_installer.sh -t dmserver -p dsc2 -dm_ini /home/dmdba/config/dsc2/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc2

 

修改配置文件:--两个节点都需要

[dmdba@DMDSC01 config]$ vim dmdcr.ini  

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO   = 0

#ASM 重启参数,命令行方式启动 (注意Servicedsc1还是Servicedsc2)

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc1 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc1 start

20、启动方式

先启动css-再asm-最后server

[dmdba@DMDSC01 bin]$ ./DmCSSServicedsc1 start

[dmdba@DMDSC02 bin]$ ./DmCSSServicedsc2 start

 

 

[dmdba@DMDSC01 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC01 bin]$ ./dmserver /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

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

[dmdba@DMDSC01 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

 

21、客户端验证

(shutdown一个数据库,会被自动拉起重新加入集群)

任意节点配置dm_scv.conf文件

[dmdba@dm1 bin]$ vim /etc/dm_svc.conf

添加:

dmdsc=(192.168.16.220:5237,192.168.16.221:5237)

登录数据库验证:

 

select * from dept;

 

关闭220达梦数据库服务

kill -9

 

数据库客户端查询会有几秒钟中断

 

继续登录已经切换了。

 

异常节点自动拉起恢复后会重新加入集群中

 

三、多节点(3节点)集群+单节点监控搭建

准备四台双网卡2c4g服务器:(监控单独)

DMDSC03

192.168.16.222

10.10.10.222

DMDSC04

192.168.16.223

10.10.10.223

DMDSC05

192.168.16.224

10.10.10.224

DMDSC09

192.168.16.228

10.10.10.228

共享磁盘搭建一样的就是多增加一个服务器共享

 

 

Dm8DSC安装步骤

1、安装完成数据库配置资源限制

暂不初始化实例

root

修改dmdba用户资源限制:vim /etc/security/limits.conf

在文件末尾加入:

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft nproc  65536

dmdba hard nproc  65536

dmdba soft stack  65536

dmdba hard stack  65536

2、添加用户变量

dmdba

vim /home/dmdba/.bash_profile

文件末尾添加如下内容:

export DM_HOME="/dm8"

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"

 

3、共享磁盘分区

[root@DMDB ~]# lsblk

 

进行裸设备划分 (分区)--因为是共享磁盘,一个节点操作即可

因为是共享磁盘,只需在一台虚拟机操作即可

 输入 fdisk /dev/sdb

 依次输入 n → p → 1 →回车→回车→ +100M →回车,完成第一块磁盘划分

 依次输入 n → p → 2 →回车→回车→ +100M →回车,完成第二块磁盘划分

 依次输入 n → p → 3 →回车→回车→ +2048M →回车,完成第三块磁盘划分

 依次输入 n → p → 4 →回车→回车→回车,完成第四块磁盘划分

 w

保存配置并退出

[root@DMDB ~]# fdisk -l

 

4、新建udev规则文件-裸设备绑定

(三台均需操作)

[root@DMDSC03 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

[root@DMDSC04 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

[root@DMDSC05 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.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"

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

 

执行以下命令使文件生效

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

5、检查配置是否成功

[root@DMDSC03 ~]# ll /dev/raw/raw*

 

没有绑定成功,重启服务器,再验证绑定成功

reboot

 

注意:如果查不到配置的裸设备,请重启服务器在验证。

6、配置DCR初始化配置文件

创建配置文件存放目录,三个节点用dmdba用户执行。

mkdir -p /home/dmdba/config

7、新建dmdcr_cfg.ini文件

使用dmdba用户—三个节点都配置  (配置完全一样

DCR_EP_HOST和MAL_HOST全部都为内网网段(这里集群搭建配置文件中就都没配置外网ip)

vim /home/dmdba/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 = 3

DCR_GRP_DSKCHK_CNT = 60

[CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 10.10.10.222

DCR_EP_PORT = 9341

[CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 10.10.10.223

DCR_EP_PORT = 9341

[CSS]

DCR_EP_NAME = CSS3

DCR_EP_HOST = 10.10.10.224

DCR_EP_PORT = 9341

[GRP]

DCR_GRP_TYPE = ASM

DCR_GRP_NAME = ASM

DCR_GRP_N_EP = 3

DCR_GRP_DSKCHK_CNT = 60

[ASM]

DCR_EP_NAME = ASM1

DCR_EP_SHM_KEY = 93360

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.222

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

DCR_EP_HOST = 10.10.10.223

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[ASM]

DCR_EP_NAME = ASM3

DCR_EP_SHM_KEY = 93362

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.224

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = DSC

DCR_GRP_N_EP = 3

DCR_GRP_DSKCHK_CNT = 60

[DSC]

DCR_EP_NAME = DSC3

DCR_EP_SEQNO = 0

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

[DSC]

DCR_EP_NAME = DSC4

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

[DSC]

DCR_EP_NAME = DSC5

DCR_EP_SEQNO = 2

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

8、创建ASM磁盘

使用dmdba用户一个节点执行

标注青绿色的初始化报错时可尝试重新创建

[dmdba@DMDB bin]$ ./dmasmcmd

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

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

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

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

 

检查

listdisks '/dev/raw/'

 

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk

ASM> init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'

ASM> init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini'

 

10、配置ASM的MAL系统配置文件

三个节点都需要配置,内容相同

vim /home/dmdba/config/dmasvrmal.ini

添加以下内容

[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                    = 10.10.10.222

MAL_PORT                    = 7236

 

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                    = 10.10.10.223

MAL_PORT                    = 7236

[MAL_INST3]

MAL_INST_NAME              = ASM3

MAL_HOST                    = 10.10.10.224

MAL_PORT                    = 7236

 

11、配置DCR启动配置文件

[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini

节点一添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0

#ASM 重启参数,命令行方式启动,注释掉的CMD为注册后修改的启动命令

DMDCR_ASM_RESTART_INTERVAL =10

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

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc3 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc3 start

[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini

节点二添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

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

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc4 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc4 start

[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini

节点三添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 2

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

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

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc5 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc5 start

12、启动DMCSS服务

查看防火墙状态:关闭

dmdba

三个节点启动dmcss

[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

 

启动后会一直报错,不需要管,因为没初始化实例。后面初始化实例后就正常了

 

 

13、Asm启动后dmdba用户启动dmasmtool工具创建redo日志磁盘组和数据文件磁盘组

一个节点启动即可

[dmdba@DMDB bin]$ ./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini

创建redo日志磁盘组

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

创建数据文件磁盘组

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

 

ls --查看磁盘组信息是否正确

lsdsk --查看磁盘详细信息

 

 

14、初始化DCS集群数据库实例(生成达梦数据库实例配置文件)

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

[dmdba@DMDB config]$ vim 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 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

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

config_path = /home/dmdba/config/dsc3

port_num = 5236

mal_host = 10.10.10.222

mal_port = 9236

log_path = +DMLOG/log/DSC3_log01.log

log_path = +DMLOG/log/DSC3_log02.log

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

config_path = /home/dmdba/config/dsc4

port_num = 5236

mal_host = 10.10.10.223

mal_port = 9236

log_path = +DMLOG/log/DSC4_log01.log

log_path = +DMLOG/log/DSC4_log02.log

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

config_path = /home/dmdba/config/dsc5

port_num = 5236

mal_host = 10.10.10.224

mal_port = 9236

log_path = +DMLOG/log/DSC5_log01.log

log_path = +DMLOG/log/DSC5_log02.log

初始化实例,节点一使用dmdba用户执行

[dmdba@DMDB bin]$ ./dminit control=/home/dmdba/config/dminit.ini

15、将对应目录复制到对应节点的指定目录下

 

[dmdba@DMDB config]$ scp -r dsc4 192.168.16.223:/home/dmdba/config/

[dmdba@DMDB config]$ scp -r dsc5 192.168.16.224:/home/dmdba/config/

 

三台台服务的dmcss均正常不报错了(节点45自动拉起的)

 

 

 

16、启动css,asm,server

三个节点都需要

[dmdba@dm2 bin] ./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini --css前面没关它,就不需要重启

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini --asm这里后台已经全部自动拉起了不需要执行

 

报这个错直接netstat -lnupt| grep 9351后kill即可 (之前启动了asm,占用了端口,再启动就报错)

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini --dmserver服务也都自动拉起了不需要操作

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

 

 

17、配置监视器  

228单独服务器

[dmdba@dm1 config]$ vim dmcssm.ini

添加下列内容:

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

CSSM_OGUID = 63635

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 10.10.10.222:9341

CSSM_CSS_IP = 10.10.10.223:9341

CSSM_CSS_IP = 10.10.10.224:9341

CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

18、启动监视器

dmdba用户执行。

[dmdba@dm1 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

show

 

 

19、注册服务--后台启动

root

节点一:

[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc3 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc3 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc3

[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc3 -dm_ini /home/dmdba/config/dsc3/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc3

节点二:

[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc4 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc4 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc4

[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc4 -dm_ini /home/dmdba/config/dsc4/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc4

节点三:

[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc5 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc5 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc5

[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc5 -dm_ini /home/dmdba/config/dsc5/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc5

修改配置文件:--三个节点都需要

[dmdba@DMDB config]$ vim dmdcr.ini  

 

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO   = 0

#ASM 重启参数,命令行方式启动 (注意Servicedsc345还是Servicedsc345)

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc3 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc3 start

 

20、启动方式

先启动css-再asm-最后server

[dmdba@DMDB bin]$ ./DmCSSServicedsc3 start

[dmdba@DMDB bin]$ ./DmCSSServicedsc4 start

[dmdba@DMDB bin]$ ./DmCSSServicedsc5 start

 

 

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

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

[dmdba@DMDB bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

 

21、客户端验证

shutdown一个数据库,会被自动拉起重新加入集群

208监控服务器做客户端测试

任意节点配置dm_scv.conf文件

[dmdba@dm1 bin]$ vim /etc/dm_svc.conf

添加:

dmdsc=(192.168.16.222:5237,192.168.16.223:5237,192.168.16.224:5237)

登录数据库验证:

 

关闭222达梦数据库服务

kill -9

 

数据库客户端链接到222服务器的查询会有几秒钟中断,后自动拉起并重新加入集群后就好了

 

后自动拉起并重新加入集群后就好了

 

达梦数据库社区地址:https://eco.dameng.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值