注册
DMDSC 集群搭建全攻略:从环境准备到功能验证
培训园地/ 文章详情 /

DMDSC 集群搭建全攻略:从环境准备到功能验证

萦于 2025/09/13 217 0 0

目录

前言

在数据库高可用方案中,达梦数据共享集群(DMDSC)是一种常见的选择,它通过共享存储实现多个数据库实例对同一组数据的访问,提供了高可用性和负载均衡能力。本文将详细介绍如何在 VMware 环境下搭建 DMDSC 集群,包括环境准备、磁盘配置、数据库安装、集群部署及功能验证等全过程。

一、前期准备:VMware 权限配置

在开始搭建集群之前,首先需要确保 VMware 相关文件夹的权限设置正确,避免后续操作中频繁出现权限问题。

权限配置步骤

  1. 找到 VMware 安装目录(本文以 E:\VMware 为例),右键点击文件夹选择「属性」
  2. 切换到「安全」选项卡,在「组或用户名」中确保包含 EveryoneSYSTEM 和管理员组
  3. 点击「编辑」按钮,为 Everyone 赋予「读取和执行」「列出文件夹内容」「读取」等基础权限(根据实际需求可调整)
  4. 点击「应用」保存设置
    image.png

注意

提前配置好权限可以避免在创建共享磁盘、编辑虚拟机配置文件时出现「拒绝访问」的错误,减少后续操作的麻烦。

二、环境准备:共享存储配置

DMDSC 集群需要共享存储来存放数据文件、日志文件等,这里我们通过 VMware 配置共享磁盘来模拟共享存储。

2.1 共享存储规划

根据集群需求,我们需要规划以下共享磁盘,用途分别如下:

裸设备名 容量 用途 对应共享磁盘文件
/dev/sdb 10G 数据磁盘(/dev/asmdata0) share-data0.vmdk
/dev/sdc 5G DCR 磁盘(/dev/asmdcr) share-dcr.vmdk
/dev/sdd 5G 投票磁盘(/dev/asmvote) share-vote.vmdk
/dev/sde 10G 重做日志磁盘(/dev/asmlog0) share-log0.vmdk
/dev/sdf 10G 归档日志磁盘(/dev/asmarch0) share-arch0.vmdk

说明
DCR(Disk Configuration Repository)磁盘用于存储集群配置信息,投票磁盘(Vote Disk)用于集群节点间的投票选举,数据磁盘和日志磁盘分别用于存储数据库数据和事务日志。

2.2 创建共享磁盘

使用 VMware 提供的 vmware-vdiskmanager.exe 工具创建共享磁盘,该工具位于 VMware 安装目录下。

操作步骤

  1. 首先创建共享磁盘存放目录(如果不存在):
mkdir -p E:\VMtools\dsc1\sharedisk
  1. 打开 cmd 命令行,切换到 VMware 安装目录,执行以下命令创建磁盘:
# 创建数据磁盘(10G)
.\vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 "E:\VMtools\dsc1\sharedisk\share-data0.vmdk"
# 创建DCR磁盘(5G)
.\vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 "E:\VMtools\dsc1\sharedisk\share-dcr.vmdk"
# 创建投票磁盘(5G)
.\vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 "E:\VMtools\dsc1\sharedisk\share-vote.vmdk"
# 创建日志磁盘(10G)
.\vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMtools\dsc1\sharedisk\share-log0.vmdk"
# 创建归档日志磁盘(10G)
.\vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMtools\dsc1\sharedisk\share-arch0.vmdk"

image.pngimage.png

命令参数说明

  • -c:创建新磁盘

  • -s:指定磁盘大小(支持 g/G 或 gb/GB 单位)

  • -a:指定适配器类型(lsilogic 为 SCSI 适配器,兼容性较好)

  • -t 2:指定磁盘类型为「预分配的厚磁盘」,这种类型的磁盘性能较好,适合数据库场景

执行成功后,会显示 “Virtual disk creation successful.” 的提示信息。

2.3 配置虚拟机共享磁盘

创建好共享磁盘后,需要将其添加到集群的两个节点(虚拟机)中,并通过编辑虚拟机配置文件(.vmx)来启用共享设置。

操作步骤

  1. 关闭两个虚拟机(必须在关机状态下修改配置文件)
  2. 找到虚拟机配置文件(通常位于虚拟机存放目录,如 E:\VMtools\dsc1\DSC1.vmxE:\VMtools\dsc2\DSC2.vmx
  3. 用记事本或其他文本编辑器打开 .vmx 文件,在文件末尾添加以下配置:
# 共享磁盘配置

diskLib.dataCacheMaxSize=0         # 禁用数据缓存,确保数据一致性
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096
diskLib.maxUnsyncedWrites = "0"     # 禁用异步写入,保证数据同步
disk.locking = "FALSE"              # 禁用磁盘锁定,允许多个虚拟机访问
scsi1.sharedBus = "virtual"         # 启用虚拟共享总线
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"       # 指定SCSI适配器类型
# 数据磁盘(share-data0.vmdk)
scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "E:\VMtools\dsc1\sharedisk\share-data0.vmdk"
scsi1:0.redo = ""
# DCR磁盘(share-dcr.vmdk)
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "E:\VMtools\dsc1\sharedisk\share-dcr.vmdk"
scsi1:1.redo = ""
# 投票磁盘(share-vote.vmdk)
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "E:\VMtools\dsc1\sharedisk\share-vote.vmdk"
scsi1:2.redo = ""
# 日志磁盘(share-log0.vmdk)
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "E:\VMtools\dsc1\sharedisk\share-log0.vmdk"
scsi1:3.redo = ""
# 归档日志磁盘(share-arch0.vmdk)
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "E:\VMtools\dsc1\sharedisk\share-arch0.vmdk"
scsi1:4.redo = ""

image.png

保存配置文件后,启动虚拟机,通过「编辑虚拟机设置」可以看到已添加的 5 块共享磁盘。
image.png

三、DM 数据库安装

在配置好共享存储后,需要在两个节点上分别安装达梦数据库软件(无需初始化实例,实例将在集群部署时统一创建)。

安装步骤(两个节点均需执行)

  1. 上传达梦数据库安装包(如 dm8_20230808_x86_rh6_64.iso)到虚拟机
  2. 挂载 ISO 文件:mount /dev/cdrom /mnt
  3. 切换到 root 用户,执行安装脚本:/mnt/DMInstall.bin
  4. 按照安装向导提示进行操作,选择安装路径(本文以 /home/dmdba/dmdbms 为例)
  5. 安装完成后,创建数据库用户 dmdba 并设置权限:
groupadd dinstall
useradd -g dinstall dmdba
chown -R dmdba:dinstall /home/dmdba/dmdbms

详细步骤参考另一篇文档Linux全程命令行部署达梦数据库

四、DSC 集群部署

4.1 磁盘准备

(1)获取磁盘唯一标识

使用 scsi_id 工具获取共享磁盘的唯一标识符(WWID),用于后续的磁盘映射。在两个节点上分别执行以下命令:

/usr/lib/udev/scsi_id -g -u /dev/sdb  # 数据磁盘
/usr/lib/udev/scsi_id -g -u /dev/sdc  # DCR磁盘
/usr/lib/udev/scsi_id -g -u /dev/sdd  # 投票磁盘
/usr/lib/udev/scsi_id -g -u /dev/sde  # 日志磁盘

执行结果示例(节点 1):

36000c2907dfb78cd9a0a560d1ddf7a7a  # /dev/sdb的WWID
36000c29461ab9c70a04f03f9d6de9ad7  # /dev/sdc的WWID
36000c2921da76547029c22794d6ac6fb  # /dev/sdd的WWID
36000c2904952a3526c3e23bfdc3e8857  # /dev/sde的WWID

注意
两个节点上对应磁盘的 WWID 必须一致,否则说明共享磁盘配置有误。

(2)创建磁盘软链接(两节点)

为了统一磁盘访问路径并设置权限,需要通过 udev 规则创建磁盘软链接。

  1. 创建 udev 规则文件:
vi /etc/udev/rules.d/99-dm-asmdevices.rules
  1. 添加以下内容(注意替换为实际的 WWID):
# DCR磁盘配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29461ab9c70a04f03f9d6de9ad7",SYMLINK+="DCR", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name;mkdir -p /dev_DSC; ln -s /dev/DCR /dev_DSC/DCR'"

#VOTE磁盘配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2921da76547029c22794d6ac6fb",SYMLINK+="VOTE", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/VOTE /dev_DSC/VOTE'"

# 数据磁盘配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2907dfb78cd9a0a560d1ddf7a7a",SYMLINK+="DMDATA", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMDATA /dev_DSC/DMDATA'"

# 日志磁盘配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2904952a3526c3e23bfdc3e8857",SYMLINK+="DMLOG", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMLOG /dev_DSC/DMLOG ; chown -R dmdba:dmdba /dev_DSC '"

image.png

  1. 重新加载 udev 规则:
systemctl restart systemd-udev-trigger

注意:部分系统可能不允许直接重启systemd-udev-trigger服务。因为该服务被设计为仅通过依赖触发,不允许手动重新重启,这是系统为了保证 udev 规则加载等流程稳定性的一种限制。
可以改为使用以下命令:

sudo udevadm control --reload-rules && sudo udevadm trigger
  1. 验证配置:执行 ls -l /dev_DSC 查看是否创建了软链接,确保所有者为 dmdba
    image.png
    倘若所有者不是dmdba,如上图,root执行以下命令切换所有用户;
#[root@localhost ~]# chown dmdba:dinstall /dev/VOTE /dev/DMLOG /dev/DMDATA /dev/DCR 
#[root@localhost ~]# chmod 660 /dev/VOTE /dev/DMLOG /dev/DMDATA /dev/DCR

为什么需要软链接?

DMDSC 启动时会扫描指定目录下的所有磁盘,如果目录中存在无关磁盘可能导致启动失败。通过软链接将需要的共享磁盘统一放到 /dev_DSC 目录,便于管理和访问。

4.2 配置 DCR 初始化文件

DCR(Disk Configuration Repository)是集群的配置仓库,用于存储集群节点信息、磁盘信息等关键配置。需要在两个节点上创建相同的 DCR 配置文件。

操作步骤

  1. 切换到 dmdba 用户,创建配置文件目录:
su - dmdba
mkdir -p /home/dmdba/config
  1. 创建 dmdcr_cfg.ini 文件:
vi /home/dmdba/config/dmdcr_cfg.ini
  1. 添加以下内容:
DCR_N_GRP             = 3
DCR_VTD_PATH          = /dev_DSC/VOTE
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.112.141
 DCR_EP_PORT          = 9836
[GRP_CSS]
 DCR_EP_NAME          = CSS1
 DCR_EP_HOST          = 192.168.112.142
 DCR_EP_PORT          = 9837 
[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      = 512 
 DCR_EP_HOST          = 192.168.112.141
 DCR_EP_PORT          = 5836
 DCR_EP_ASM_LOAD_PATH  = /dev_DSC
[GRP_ASM]
 DCR_EP_NAME          = ASM1
 DCR_EP_SHM_KEY       = 93361
 DCR_EP_SHM_SIZE      = 512 
 DCR_EP_HOST          = 192.168.112.142
 DCR_EP_PORT          = 5837
 DCR_EP_ASM_LOAD_PATH  = /dev_DSC
[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         = DSC01 
 DCR_EP_SEQNO        = 0
 DCR_EP_PORT         = 5236
[GRP_DSC]
 DCR_EP_NAME         = DSC02
 DCR_EP_SEQNO        = 1
 DCR_EP_PORT         = 5236

另一个节点同上

4.3 初始化磁盘组(仅需在一个节点执行)

通过 `dmasmcmd` 工具初始化 DCR 磁盘、vote磁盘和 ASM 磁盘,将磁盘与 DCR 配置关联。

操作步骤

  1. 切换到 `dmdba` 用户,进入数据库安装目录的 `bin` 文件夹:
su - dmdba
cd /home/dmdba/dmdbms/bin
  1. 启动 dmasmcmd 工具:
./dmasmcmd
  1. 依次执行以下命令初始化磁盘(逐条执行,避免遗漏):
\-- 创建 DCR 磁盘标识
create dcrdisk '/dev_DSC/DCR' 'DCR'
\-- 创建投票磁盘标识
create votedisk '/dev_DSC/VOTE' 'VOTE'
\-- 创建数据磁盘标识
create asmdisk '/dev_DSC/DMDATA' 'DMDATA'
\-- 创建日志磁盘标识
create asmdisk '/dev_DSC/DMLOG' 'DMLOG'
\-- 从配置文件初始化 DCR 磁盘(密码自定义)
init dcrdisk '/dev_DSC/DCR' from '/home/dmdba/config/dmdcr_cfg.ini' identified by 'A1234a1234'
\-- 从配置文件初始化投票磁盘
init votedisk '/dev_DSC/VOTE' from '/home/dmdba/config/dmdcr_cfg.ini'

执行成功后,工具会返回类似 [TRACE] The ASM initialize dcrdisk ... 的提示信息。

4.4 配置 ASM 的 MAL 系统

MAL(Management Access Layer)是集群内部节点通信的基础,需要配置 MAL 信息确保节点间正常通信。

操作步骤

  1. 在两个节点上创建 dmasvrmal.ini 文件:
vi /home/dmdba/config/dmasvrmal.ini
  1. 添加以下内容(两个节点配置相同.ip请自行更改):
[MAL_INST1]
MAL_INST_NAME = ASM0               # 节点1的ASM实例名
MAL_HOST = 192.168.112.141         # 节点1IP
MAL_PORT = 4836                    # MAL通信端口(自定义,不冲突即可)
[MAL_INST2]
MAL_INST_NAME = ASM1               # 节点2的ASM实例名
MAL_HOST = 192.168.112.142         # 节点2IP
MAL_PORT = 4837                    # 与节点1端口不同

4.5 配置 DCR 启动文件(两个节点分别配置)

dmdcr.ini 是 DCR 服务的启动配置文件,用于指定 DCR 磁盘路径、MAL 配置路径等信息,两个节点的配置略有差异(主要是节点序号)。

节点 1 配置

vi /home/dmdba/config/dmdcr.ini

添加内容:

DMDCR_PATH = /dev_DSC/DCR
DMDCR_MAL_PATH = /home/dmdba/config/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/config/DSC01_conf/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

节点 2 配置

vi /home/dmdba/config/dmdcr.ini

添加内容(仅 DMDCR_SEQNO 和数据库路径不同):

DMDCR_PATH = /dev_DSC/DCR
DMDCR_MAL_PATH = /home/dmdba/config/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/config/DSC01_conf/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

4.6 启动 DMCSS 和 DMASM 服务

DMCSS(Cluster Synchronization Service)是集群同步服务,DMASM(Automatic Storage Management)是自动存储管理服务,需在两个节点分别启动。

(1)启动 DMCSS 服务

在两个节点的 bin 目录下执行以下命令(dmdba 用户):

./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini

启动成功后,节点 1 会显示类似以下信息(可输入 show 命令查看集群状态):

注意
若启动失败提示 “打开文件失败等提示”,需检查磁盘权限在dmdba的dinstall,下面为切换用户组命令:

chown dmdba:dinstall /dev/VOTE /dev/DMLOG /dev/DMDATA /dev/DCR
chmod 660 /dev/VOTE /dev/DMLOG /dev/DMDATA /dev/DCR

(2)启动 DMASM 服务

在两个节点的 bin 目录下执行以下命令(dmdba 用户):

./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

启动成功后,会显示 the ASM server is Ready. 的提示信息。
节点二同。

4.7 创建 ASM 磁盘组(仅需在一个节点执行)

ASM 磁盘组用于管理共享存储中的数据和日志,需创建 DMDATA(数据)和 DMLOG(日志)两个磁盘组。

操作步骤

  1. 在节点 1 的 bin 目录下启动 dmasmtool 工具:
./dmasmtool DCR_INI=/home/dmdba/config/dmdcr.ini
  1. 执行以下命令创建磁盘组:
\-- 创建数据磁盘组
CREATE DISKGROUP DMDATA asmdisk '/dev_DSC/DMDATA'
\-- 创建日志磁盘组
CREATE DISKGROUP DMLOG asmdisk '/dev_DSC/DMLOG'

4.8 初始化 DSC 集群数据库实例

通过 dminit 工具初始化数据库实例,生成两个节点的配置文件和数据文件。

操作步骤

  1. 在节点 1 创建 dminit.ini 配置文件:
vi /home/dmdba/config/dminit.ini
  1. 添加以下内容:
DB_NAME= dsc2
SYSTEM_PATH= +DMDATA/data
SYSTEM= +DMDATA/data/system.dbf
SYSTEM_SIZE= 128
ROLL= +DMDATA/data/roll.dbf
ROLL_SIZE= 128
MAIN= +DMDATA/data/main.dbf
MAIN_SIZE= 128
CTL_PATH= +DMDATA/data/dm.ctl
LOG_SIZE= 2048
DCR_PATH= /dev_DSC/DCR
DCR_SEQNO= 0
AUTO_OVERWRITE= 2
PAGE_SIZE = 16
EXTENT_SIZE = 16
SYSDBA_PWD=A123a123
SYSAUDITOR_PWD=A123a123
[DSC01]
CONFIG_PATH= /home/dmdba/config/DSC01_conf
PORT_NUM = 5236
MAL_HOST= 192.168.112.141
MAL_PORT= 6536
LOG_PATH= +DMLOG/log/DSC01_log1.log
LOG_PATH= +DMLOG/log/DSC01_log2.log
[DSC02]
CONFIG_PATH= /home/dmdba/config/DSC02_conf
PORT_NUM = 5237
MAL_HOST= 192.168.112.142
MAL_PORT= 6537
LOG_PATH= +DMLOG/log/DSC02_log1.log
LOG_PATH= +DMLOG/log/DSC02_log2.log
  1. 执行初始化命令(dmdba 用户,在 bin 目录,节点1):
./dminit control=/home/dmdba/config/dminit.ini

DMINIT 执行完成后,会在 config_path 目录下生成配置文件 DM.INI 和 DMMAL.INI

  1. 将节点1的配置文件DSC02_conf,从节点1复制到节点2对应目录:
    执行以下命令:
scp -r /home/dmdba/config/DSC02_conf dmdba@192.168.112.142:/home/dmdba/config/

输入节点 2 的 dmdba 用户密码完成复制。

4.9 启动数据库服务器

在两个节点分别启动数据库实例,加入集群。

节点 1 启动命令

./dmserver dcr_ini=/home/dmdba/config/dmdcr.ini /home/dmdba/config/DSC01_conf/dm.ini

节点 2 启动命令

./dmserver dcr_ini=/home/dmdba/config/dmdcr.ini /home/dmdba/config/DSC02_conf/dm.ini

启动成功的标志是控制台显示 SYSTEM IS READY

4.10 配置并启动 DMCSSM 监视器

DMCSSM 是集群监视器,用于监控集群状态、节点健康情况等,可以在任意节点配置并启动,此处在节点1配置。

操作步骤

  1. 创建监视器日志目录:
mkdir -p /home/dmdba/dm/cssmlog
  1. 创建监视器配置文件 dmcssm.ini
vi /home/dmdba/config/dmcssm.ini
  1. 添加以下内容:
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致   
CSSM_OGUID = 63635   #配置所有 CSS 的连接信息,   
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致   
CSSM_CSS_IP = 192.168.112.141:9836   
CSSM_CSS_IP = 192.168.112.142:9837   
CSSM_LOG_PATH = /home/dmdba/dm/cssmlog #监视器日志文件存放路径   
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB   
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
  1. 启动监视器(bin 目录):
./dmcssm /home/dmdba/config/dmcssm.ini
  1. 输入 show 命令查看集群状态,确认所有节点均为 WORKING 状态。

image.png

五、DSC 集群功能验证

集群搭建完成后,需验证数据同步、故障切换等核心功能是否正常。

5.1 数据同步测试

  1. 在节点 1 使用 disql 工具连接数据库:
./disql SYSDBA/A123a123@192.168.112.141:5236
  1. 执行建表和插入数据操作:
create table test_table(id int, data varchar(50));
insert into test_table values(1, 'test data 1');
insert into test_table values(2, 'test data 2');
commit;
  1. 在节点 2 连接数据库,查询数据是否同步:
./disql SYSDBA/A123a123@192.168.112.142:5237
select  * from test_table;

image.png

若能查询到节点 1 插入的数据,说明数据同步正常。

5.2 单节点故障测试

  1. 在节点 2 强制终止数据库进程(模拟故障):
ps -ef | grep dmserver  # 查找进程ID
kill  <进程ID>

也可将设备断网

  1. 在监视器中输入 show 命令,观察节点 2 状态变为 SYSHALT
  2. 在节点 1 继续执行数据操作:
create table test_table2(id int, data varchar(50));
insert into test_table2 values(3, 'test data 3');
commit;
  1. 重启节点 2 的数据库服务:
./dmserver dcr_ini=/home/dmdba/config/dmdcr.ini /home/dmdba/config/DSC02_conf/dm.ini

监视器显示正常
image.png

  1. 在节点 2 查询数据,确认故障期间节点 1 插入的数据已同步:
select  * from test_table2;

image.png
查询正常,说明集群故障恢复功能正常。

六、总结

本文详细介绍了 DMDSC 集群的搭建过程,从 VMware 共享磁盘配置到集群功能验证,覆盖了环境准备、磁盘管理、服务启动等关键步骤。实际操作中需注意以下几点:

  • 共享磁盘权限配置需确保 dmdba 用户有读写权限

  • 配置文件中的 IP、端口、路径等需根据实际环境修改

  • 启动服务的顺序:先启动 DMCSS,再启动 DMASM,最后启动数据库服务

通过搭建 DMDSC 集群,可显著提高数据库的可用性和可靠性,适合对业务连续性要求较高的场景。

达梦技术社区

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服