注册
DSC集群搭建 3节点集群+单节点监控搭建
专栏/培训园地/ 文章详情 /

DSC集群搭建 3节点集群+单节点监控搭建

杨鹏程 2024/04/01 843 2 0
摘要

DSC集群搭建 3节点集群+单节点监控搭建

准备四台双网卡 2c4g 服务器:(监控单独)
DMDSC01
192.168.16.222
10.10.10.222
DMDSC02
192.168.16.223
10.10.10.223
DMDSC03
192.168.16.224
10.10.10.224
DMDSC09
192.168.16.228
10.10.10.228
共享存储客户自己准备。

Dm8DSC 安装步骤

1、修改服务器配置资源限制 完成数据库安装(参考单机安装即可)暂不初始化实例

root
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="/opt/dmdbms"
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/dmdbms/bin"

3、共享磁盘分区

lsblk
进行裸设备划分(分区)--共享磁盘,一个节点操作即可
fdisk /dev/sdb
依次输入 n → p → 1 →回车→ +100M →回车
依次输入 n → p → 2 →回车→ +100M →回车
依次输入 n → p → 3 →回车→ +2048M →回车
依次输入 n → p → 4 →回车→回车
w
fdisk -l
image.png

4、新建 udev 规则文件-裸设备绑定(三台均需操作)

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

5、检查配置是否成功

ll /dev/raw/raw*
没有绑定成功,重启服务器,再验证绑定成功
Reboot
image.png

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

创建配置文件存放目录,三个节点用 dmdba 用户执行。
mkdir -p /home/dmdba/config
chown -R dmdba:dinstall /home/dmdba/config

7、新建 dmdcr_cfg.ini 文件,使用 dmdba 用户—三个节点都配置 (配置完全一样)

DCR_EP_HOST 和 MAL_HOST 全部都为内网网段(DSC整个配置文件中就都不需要配置外网 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 = 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
[DSC]
DCR_EP_NAME = DSC3
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/'
image.png

9、使用 dmdcr_cfg.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'
image.png

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文件

节点一
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 = /opt/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/DmASMSvrServicedsc1 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/dmserver path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/DmServicedsc1 start
节点二
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 = /opt/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/DmASMSvrServicedsc2 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/dmserver path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/DmServicedsc2 start
节点三
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 = /opt/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/DmASMSvrServicedsc3 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/dmserver path=/home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/DmServicedsc3 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
启动后会一直报错,不需要管,因为没初始化实例。后面初始化实例后就正常了
image.png

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 --查看磁盘详细信息
image.png

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

配置 dminit 控制文件,节点一使用 dmdba 用户执行以下命令:
vim /home/dmdba/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 磁盘路径,目前不支持 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 = 5237
mal_host = 10.10.10.222
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 = 5237
mal_host = 10.10.10.223
mal_port = 9236
log_path = +DMLOG/log/dsc2_log01.log
log_path = +DMLOG/log/dsc2_log02.log
[dsc3] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc3
port_num = 5237
mal_host = 10.10.10.224
mal_port = 9236
log_path = +DMLOG/log/dsc3_log01.log
log_path = +DMLOG/log/dsc3_log02.log

初始化实例,节点一使用 dmdba 用户执行
./dminit control=/home/dmdba/config/dminit.ini
image.png

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

[dmdba@DMDB config]$ scp -r dsc2 dmdba@192.168.16.223:/home/dmdba/config/
[dmdba@DMDB config]$ scp -r dsc3 dmdba@192.168.16.224:/home/dmdba/config/
三台台服务的 dmcss 均正常不报错了(节点 自动拉起的)
image.png

16、启动 css,asm,server(本次不验证后台启动,直接注册服务后正式启动即可。调转及顺序19,20,17,18)

三个节点都需要
[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/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini --dmserver 服务也都自动拉起了不需要操作
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

17、配置监视器,单独服务器

mkdir -p /home/dmdba/config
chown -R dmdba:dinstall /home/dmdba/config
vim /home/dmdba/config/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 #不限定日志文件总占用空间
image.png

18、启动监视器

dmdba 用户执行。
[dmdba@dm1 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini
show
image.png
DSC集群配置完成

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

root
节点一:
[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini
[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc1
[root@DMDB 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@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini
[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc2
[root@DMDB 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
节点三:
[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

修改配置文件:--三个节点都需要(本次没使用后台启动直接注册后启动,前面已修改,该步骤忽略)
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 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/DmASMSvrServicedsc1 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/DmServicedsc1 start
image.png

20、启动集群(三个节点各自执行)

先启动 css-再 asm-最后 server
[dmdba@DMDB bin]$ ./DmCSSServicedsc1 start
[dmdba@DMDB bin]$ ./DmCSSServicedsc2 start
[dmdba@DMDB bin]$ ./DmCSSServicedsc3 start
[dmdba@DMDB bin]$ ./DmASMSvrServicedsc1 start
[dmdba@DMDB bin]$ ./DmASMSvrServicedsc2 start
[dmdba@DMDB bin]$ ./DmASMSvrServicedsc3 start
[dmdba@DMDB bin]$ ./DmServicedsc1 start
[dmdba@DMDB bin]$ ./DmServicedsc2 start
[dmdba@DMDB bin]$ ./DmServicedsc3 start

--
启动监视器,dmdba 用户执行。
[dmdba@DMDB bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

21、客户端验证

shutdown 一个数据库,会被自动拉起重新加入集群
配置 dm_scv.conf 文件
vim /etc/dm_svc.conf
添加:
dmdsc=(192.168.16.222:5237,192.168.16.223:5237,192.168.16.224:5237)
登录数据库验证:
关闭 222 达梦数据库服务
数据库客户端链接到 222 服务器的查询会有几秒钟中断,后自动拉起并重新加入集群
image.png
DSC集群搭建完成

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服