注册
DSC集群安装配置
培训园地/ 文章详情 /

DSC集群安装配置

Invictus 2025/06/03 41 0 0

一、环境说明

1、主机环境

测试环境用workstation软件来安装管理虚拟机。

主机名称 主机ip 实例名称 操作系统
dmsrv01 192.168.18.71(内部)、192.168.20.71(业务) CSS0、ADM0、DSC0 Kylin Linux Advanced Server release V10 (Sword)
dmsrv02 192.168.18.72(内部)、192.168.20.72(业务) CSS1、ADM1、DSC1 Kylin Linux Advanced Server release V10 (Sword)

2、磁盘环境

测试环境使用starwind软件来管理iscsi共享盘。

裸设备路径 用途 大小 ASM盘名称
/dev/raw/raw1 DCR磁盘 2GB dcr
/dev/raw/raw2 VOTE磁盘 2GB vote
/dev/raw/raw3 数据文件 50GB data
/dev/raw/raw4 日志文件 20GB log

二、主机磁盘配置

安装达梦8数据库软件。

1、target服务端配置磁盘

一共在target服务端配置4块磁盘。
image.png

2、节点挂载iscsi san盘

主机节点1

yum install -y iscsi-initiator-utils iscsiadm -m discovery -t st -p 192.168.18.1 iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.18.1-dzw -p 192.168.18.1 --login [root@dmsrv01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 2G 0 disk sdb 8:16 0 2G 0 disk sdc 8:32 0 50G 0 disk sdd 8:48 0 20G 0 disk nvme0n1 259:0 0 100G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot └─nvme0n1p2 259:2 0 99G 0 part ├─klas-root 253:0 0 63.9G 0 lvm / └─klas-swap 253:1 0 4G 0 lvm [SWAP]

主机节点2

yum install -y iscsi-initiator-utils iscsiadm -m discovery -t st -p 192.168.18.1 iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.18.1-dzw -p 192.168.18.1 --login [root@dmsrv02 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 2G 0 disk sdb 8:16 0 2G 0 disk sdc 8:32 0 50G 0 disk sdd 8:48 0 20G 0 disk nvme0n1 259:0 0 100G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot └─nvme0n1p2 259:2 0 99G 0 part ├─klas-root 253:0 0 63.9G 0 lvm / └─klas-swap 253:1 0 4G 0 lvm [SWAP]

节点1使用udev固定盘名称

[root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sda 218f0ca5506ebe813 [root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb 2b680b7f9d8012eaa [root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc 2c75803d44fa76162 [root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd 2c71a274f8a10e7c4 [root@dmsrv01 ~]# cat /etc/udev/rules.d/99-dm-disk.rules # 规则语法:通过SCSI ID绑定固定名称 SUBSYSTEM=="block", ENV{ID_SERIAL}=="218f0ca5506ebe813", SYMLINK+="raw/raw1", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2b680b7f9d8012eaa", SYMLINK+="raw/raw2", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c75803d44fa76162", SYMLINK+="raw/raw3", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c71a274f8a10e7c4", SYMLINK+="raw/raw4", OWNER="dmdba", GROUP="dinstall", MODE="0660" [root@dmsrv01 ~]# udevadm control --reload-rules [root@dmsrv01 ~]# udevadm trigger [root@dmsrv01 ~]# ls -lrt /dev/raw/ 总用量 0 crw-rw---- 1 root disk 162, 0 5月 27 22:31 rawctl lrwxrwxrwx 1 root root 6 5月 27 22:31 raw4 -> ../sdd lrwxrwxrwx 1 root root 6 5月 27 22:31 raw1 -> ../sda lrwxrwxrwx 1 root root 6 5月 27 22:31 raw3 -> ../sdc lrwxrwxrwx 1 root root 6 5月 27 22:31 raw2 -> ../sdb

节点2使用udev固定盘名称

[root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sda 218f0ca5506ebe813 [root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb 2b680b7f9d8012eaa [root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc 2c75803d44fa76162 [root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd 2c71a274f8a10e7c4 [root@dmsrv02 ~]# cat /etc/udev/rules.d/99-dm-disk.rules SUBSYSTEM=="block", ENV{ID_SERIAL}=="218f0ca5506ebe813", SYMLINK+="raw/raw1", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2b680b7f9d8012eaa", SYMLINK+="raw/raw2", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c75803d44fa76162", SYMLINK+="raw/raw3", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c71a274f8a10e7c4", SYMLINK+="raw/raw4", OWNER="dmdba", GROUP="dinstall", MODE="0660" [root@dmsrv02 ~]# udevadm control --reload-rules [root@dmsrv02 ~]# udevadm trigger [root@dmsrv02 ~]# ls -lrt /dev/raw/ 总用量 0 crw-rw---- 1 root disk 162, 0 5月 27 22:34 rawctl lrwxrwxrwx 1 root root 6 5月 27 22:34 raw4 -> ../sdd lrwxrwxrwx 1 root root 6 5月 27 22:34 raw1 -> ../sda lrwxrwxrwx 1 root root 6 5月 27 22:34 raw3 -> ../sdc lrwxrwxrwx 1 root root 6 5月 27 22:34 raw2 -> ../sdb

三、基础环境搭建

1、初始化磁盘

节点1、2配置配置文件

[dmdba@dmsrv02 ~]$ cat /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 = GRP_CSS DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 [GRP_CSS] DCR_EP_NAME = CSS0 DCR_EP_HOST = 192.168.18.71 DCR_EP_PORT = 9341 [GRP_CSS] DCR_EP_NAME = CSS1 DCR_EP_HOST = 192.168.18.72 DCR_EP_PORT = 9343 [GRP] DCR_GRP_TYPE = ASM DCR_GRP_NAME = GRP_ASM DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 [GRP_ASM] DCR_EP_NAME = ASM0 DCR_EP_SHM_KEY = 93360 DCR_EP_SHM_SIZE = 20 DCR_EP_HOST = 192.168.18.71 DCR_EP_PORT = 9349 DCR_EP_ASM_LOAD_PATH = /dev/raw [GRP_ASM] DCR_EP_NAME = ASM1 DCR_EP_SHM_KEY = 93361 DCR_EP_SHM_SIZE = 20 DCR_EP_HOST = 192.168.18.72 DCR_EP_PORT = 9351 DCR_EP_ASM_LOAD_PATH = /dev/raw [GRP] DCR_GRP_TYPE = DB DCR_GRP_NAME = GRP_DSC DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 [GRP_DSC] DCR_EP_NAME = DSC0 DCR_EP_SEQNO = 0 DCR_EP_PORT = 5236 DCR_CHECK_PORT = 9741 [GRP_DSC] DCR_EP_NAME = DSC1 DCR_EP_SEQNO = 1 DCR_EP_PORT = 5237 DCR_CHECK_PORT = 9742

主机1配置asm盘

[dmdba@dmsrv02 bin]$ ./dmasmcmd dmasmcmd V8 ASM>create dcrdisk '/dev/raw/raw1' 'dcr' [TRACE]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr Used time: 29.768(ms). ASM>create votedisk '/dev/raw/raw2' 'vote' [TRACE]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote Used time: 30.732(ms). ASM>create asmdisk '/dev/raw/raw3' 'data' [TRACE]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMdata Used time: 40.448(ms). ASM>create asmdisk '/dev/raw/raw4' 'log' [TRACE]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMlog Used time: 17.076(ms). ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/config/dmdcr_cfg.ini' identified by '123456' [TRACE]DG 126 alloc extent for inode (0, 0, 1) [TRACE]DG 126 alloc 4 extents for 0xfe000002 (0, 0, 2)->(0, 0, 5) init /dev/raw/raw1 from /dm8/config/dmdcr_cfg.ini failed! [code: -2504], 密码长度不符合要求 ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/config/dmdcr_cfg.ini' identified by 'Aa123456_' [TRACE]DG 126 alloc extent for inode (0, 0, 1) [TRACE]DG 126 alloc 4 extents for 0xfe000002 (0, 0, 2)->(0, 0, 5) Used time: 194.914(ms). ASM>init votedisk '/dev/raw/raw2' from '/dm8/config/dmdcr_cfg.ini' [TRACE]DG 125 alloc extent for inode (0, 0, 1) [TRACE]DG 125 alloc 4 extents for 0xfd000002 (0, 0, 2)->(0, 0, 5) Used time: 156.644(ms).

2、准备dmasvrmal.ini

[dmdba@dmsrv01 config]$ cat /dm8/config/dmasvrmal.ini [MAL_INST1] MAL_INST_NAME = ASM0 MAL_HOST = 192.168.18.71 MAL_PORT = 7236 [MAL_INST2] MAL_INST_NAME = ASM1 MAL_HOST = 192.168.18.72 MAL_PORT = 7236

3、准备dmdcr.ini

节点1

[dmdba@dmsrv01 config]$ cat /dm8/config/dmdcr.ini DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini DMDCR_SEQNO = 0 DMDCR_ASM_RESTART_INTERVAL = 10 DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini DMDCR_DB_RESTART_INTERVAL = 30 DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/config/dsc1/dm.ini dcr_ini=/dm8/config/dmdcr.ini

节点2

[dmdba@dmsrv02 bin]$ cat /dm8/config/dmdcr.ini DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini DMDCR_SEQNO = 1 DMDCR_ASM_RESTART_INTERVAL = 10 DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini DMDCR_DB_RESTART_INTERVAL = 30 DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/config/dsc2/dm.ini dcr_ini=/dm8/config/dmdcr.ini

4、启动DMCSS服务

两节点执行

./dmcss DCR_INI=/dm8/config/dmdcr.ini

5、启动DMASM服务

./dmasmsvr DCR_INI=/dm8/config/dmdcr.ini

dmcss会自动拉起dmasmsvr,以上命令可能会执行失败

[dmdba@dmsrv01 bin]$ ps -ef|grep dmasm dmdba 2430 1 0 23:12 ? 00:00:00 /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini dmdba 2654 2562 0 23:18 pts/1 00:00:00 grep dmasm [dmdba@dmsrv01 bin]$ ps -ef|grep dmcss dmdba 2405 2271 0 23:12 pts/0 00:00:00 ./dmcss DCR_INI=/dm8/config/dmdcr.ini dmdba 2659 2562 0 23:19 pts/1 00:00:00 grep dmcss

6、创建磁盘组

[dmdba@dmsrv01 bin]$ ./dmasmtool DCR_INI=/dm8/config/dmdcr.ini DMASMTOOL V8 ASM>create diskgroup 'DATA' asmdisk '/dev/raw/raw3' Used time: 103.367(ms). ASM>create diskgroup 'LOG' asmdisk '/dev/raw/raw4' Used time: 114.902(ms).

四、数据库创建

1、配置初始化文件

[dmdba@dmsrv01 ~]$ cat /dm8/config/dminit.ini db_name = dsc system_path = +DATA/data system = +DATA/data/dsc/system.dbf system_size = 128 roll = +DATA/data/dsc/roll.dbf roll_size = 128 main = +DATA/data/dsc/main.dbf main_size = 128 ctl_path = +DATA/data/dsc/dm.ctl ctl_size = 8 log_size = 256 dcr_path = /dev/raw/raw1 dcr_seqno = 0 auto_overwrite = 1 [DSC0] config_path = /dm8/config/dsc1 port_num = 5236 mal_host = 192.168.18.71 mal_port = 9340 log_path = +LOG/log/dsc0_log01.log log_path = +LOG/log/dsc0_log02.log [DSC1] config_path = /dm8/config/dsc2 port_num = 5237 mal_host = 192.168.18.72 mal_port = 9341 log_path = +LOG/log/dsc1_log01.log log_path = +LOG/log/dsc1_log02.log

2、节点1初始化数据库

[dmdba@dmsrv01 ~]$ mkdir -p /dm8/config/dsc1 [dmdba@dmsrv01 ~]$ mkdir -p /dm8/config/dsc2 [dmdba@dmsrv01 ~]$ cd /dm8/bin [dmdba@dmsrv01 bin]$ ./dminit control=/dm8/config/dminit.ini initdb V8 db version: 0x7000d file dm.key not found, use default license! License will expire on 2026-01-17 please set [SYSDBA_PWD] value. Passwords length [8, 48], contain uppercase and lowercase characters combined with numbers. fail to init db. [dmdba@dmsrv01 bin]$ ./dminit control=/dm8/config/dminit.ini SYSDBA_PWD=Aa123456_ initdb V8 db version: 0x7000d file dm.key not found, use default license! License will expire on 2026-01-17 please set [SYSAUDITOR_PWD] value. Passwords length [8, 48], contain uppercase and lowercase characters combined with numbers. fail to init db. [dmdba@dmsrv01 bin]$ ./dminit control=/dm8/config/dminit.ini SYSDBA_PWD=Aa123456_ SYSAUDITOR_PWD=Aa123456_ initdb V8 db version: 0x7000d file dm.key not found, use default license! License will expire on 2026-01-17 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: +LOG/log/dsc0_log01.log log file path: +LOG/log/dsc0_log02.log log file path: +LOG/log/dsc1_log01.log log file path: +LOG/log/dsc1_log02.log write to dir [+DATA/data/dsc]. create dm database success. 2025-05-27 23:31:46

3、拷贝配置文件,查看两节点数据库进程

节点1复制配置文件到节点2

[dmdba@dmsrv01 bin]$ scp /dm8/config/dsc /dm8/config/dsc1/ /dm8/config/dsc2/ [dmdba@dmsrv01 bin]$ scp -r /dm8/config/dsc2 192.168.18.72:/dm8/config/ The authenticity of host '192.168.18.72 (192.168.18.72)' can't be established. ECDSA key fingerprint is SHA256:PuKs3FR0ptimBXLYyIfRZSVfjaATJEH44kCF3y5vdwg. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.18.72' (ECDSA) to the list of known hosts. Authorized users only. All activities may be monitored and reported. dmdba@192.168.18.72's password: Permission denied, please try again. dmdba@192.168.18.72's password: dmmal.ini 100% 206 464.0KB/s 00:00 dm.ini 100% 80KB 40.9MB/s 00:00 sqllog.ini 100% 714 1.1MB/s 00:00 [dmdba@dmsrv01 bin]$

节点1 css服务可以查看数据库状态
image.png

节点2 css服务可以查看数据库状态
image.png

4、配置监视器

在节点2配置监视器

[dmdba@dmsrv01 bin]$ cat /dm8/config/dmcssm.ini CSSM_OGUID = 63635 CSSM_CSS_IP = 192.168.18.71:9341 CSSM_CSS_IP = 192.168.18.72:9343 CSSM_LOG_PATH = /dm8/cssm_log CSSM_LOG_FILE_SIZE = 32 CSSM_LOG_SPACE_LIMIT = 0 [dmdba@dmsrv01 bin]$ ./dmcssm ini_path=/dm8/config/dmcssm.ini [monitor] [2025-05-27 23:43:26:966] CSS MONITOR V8 [monitor] [2025-05-27 23:43:27:005] CSS MONITOR SYSTEM IS READY. [monitor] [2025-05-27 23:43:27:007] Wait CSS Control Node choosed... [monitor] [2025-05-27 23:43:28:109] Wait CSS Control Node choosed succeed. show monitor current time:2025-05-27 23:43:33, n_group:3 =================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ======================================== [CSS0] auto check = TRUE, global info: [ASM0] auto restart = TRUE [DSC0] auto restart = TRUE [CSS1] auto check = TRUE, global info: [ASM1] auto restart = TRUE [DSC1] auto restart = TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2025-05-27 23:43:33 CSS0 0 9341 Control Node OPEN WORKING OK TRUE 942284 2405 944118 2025-05-27 23:43:33 CSS1 1 9343 Normal Node OPEN WORKING OK TRUE 943838 2500 945670 =================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ======================================== n_ok_ep = 2 ok_ep_arr(index, seqno): (0, 0) (1, 1) sta = OPEN, sub_sta = STARTUP break ep = NULL recover ep = NULL crash process over flag is TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2025-05-27 23:43:33 ASM0 0 9349 Control Node OPEN WORKING OK TRUE 950821 2430 952636 2025-05-27 23:43:33 ASM1 1 9351 Normal Node OPEN WORKING OK TRUE 958575 2617 960374 =================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ======================================== n_ok_ep = 2 ok_ep_arr(index, seqno): (0, 0) (1, 1) sta = OPEN, sub_sta = STARTUP break ep = NULL recover ep = NULL crash process over flag is TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2025-05-27 23:43:33 DSC0 0 5236 Control Node OPEN WORKING OK TRUE 1779810 2940 1780447 2025-05-27 23:43:33 DSC1 1 5237 Normal Node OPEN WORKING OK TRUE 1957625 2996 1957932 ==================================================================================================================

5、注册服务

节点1、2注册css服务

[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmcss -p DSC -dcr_ini /dm8/config/dmdcr.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSServiceDSC.service → /usr/lib/systemd/system/DmCSSServiceDSC.service. 创建服务(DmCSSServiceDSC)完成
[root@dmsrv02 ~]# /dm8/script/root/dm_service_installer.sh -t dmcss -p DSC -dcr_ini /dm8/config/dmdcr.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSServiceDSC.service → /usr/lib/systemd/system/DmCSSServiceDSC.service. 创建服务(DmCSSServiceDSC)完成

节点1、2注册asm服务

[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmasmsvr -p DSC -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceDSC.service → /usr/lib/systemd/system/DmASMSvrServiceDSC.service. 创建服务(DmASMSvrServiceDSC)完成
[root@dmsrv02 ~]# /dm8/script/root/dm_service_installer.sh -t dmasmsvr -p DSC -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceDSC.service → /usr/lib/systemd/system/DmASMSvrServiceDSC.service. 创建服务(DmASMSvrServiceDSC)完成

节点1、2注册数据库服务

[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p dsc -dm_ini /dm8/config/dsc1/dm.ini -dcr_ini /dm8/config/dmdcr.ini -y DmASMSvrServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmServicedsc.service → /usr/lib/systemd/system/DmServicedsc.service. 创建服务(DmServicedsc)完成
[root@dmsrv02 ~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p dsc -dm_ini /dm8/config/dsc2/dm.ini -dcr_ini /dm8/config/dmdcr.ini -y DmASMSvrServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmServicedsc.service → /usr/lib/systemd/system/DmServicedsc.service. 创建服务(DmServicedsc)完成

节点1注册监听器

[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /dm8/config/dmcssm.ini -p Monitor Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSMonitorServiceMonitor.service → /usr/lib/systemd/system/DmCSSMonitorServiceMonitor.service. 创建服务(DmCSSMonitorServiceMonitor)完成
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服