DM数据库DSC VMware部署测试

一、创建共享磁盘

1.1 命令行创建共享磁盘

需要提前创建E:\DSC_share目录,进到VMware目录执行

.\vmware-vdiskmanager.exe -c -s 15000Mb -a lsilogic -t 2 "E:\DSC_share\sharedisk.vmdk"

1.2 配置dmdsc0、dmdsc1两台虚拟机文件

进入文件目录,在.vmx中添加

disk.locking="FALSE"

scsi0:1.SharedBus="Virtual"

disk.locking="FALSE" 参数是设置虚拟磁盘的锁定行为。FALSE 表示禁用磁盘锁定,禁用磁盘锁定允许多个虚拟机同时访问同一个虚拟磁盘,这在一些特定的配置(例如共享磁盘集群)中是有用的。

scsi0:1.SharedBus="Virtual" 这个参数设置 SCSI 控制器 0 上的第 1 个设备(通常是虚拟磁盘)的共享总线行为。SharedBus="Virtual" 表示 SCSI 总线处于虚拟共享模式,使多个虚拟机可以共享同一个 SCSI 总线上的设备。

*找不到.vmx文件显示的时候打开显示后缀名*

1.3 虚拟机添加共享磁盘

两台虚拟机新增永久磁盘,两台虚拟机操作步骤相同 ,步骤如下

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1、点击编辑虚拟机设置 2、选择硬盘,点击添加 3、点击硬盘,点击下一步 4、选择磁盘类型,选择SCSI,点击下一步 5、选择使用现有虚拟磁盘,点击下一步 6、选择之前创建好的虚拟磁盘文件(根据自己创建的来),点击完成,最后选择保持现有格式 |

1.4、到控制节点机器中执行磁盘分区操作

开启虚拟机dmdsc0 ,执行fdisk -l命令查看系统新添加的磁盘信息

复制代码
1、输入fdisk /dev/sdb进入划分命令 
2、依次输入 n --> p--> 1--> 回车--> +1500M--> 回车,完成第一块磁盘划分 
3、依次输入 n --> p--> 2--> 回车--> +4500M--> 回车,完成第二块磁盘划分  
4、依次输入 n --> p--> 3--> 回车--> 回车-->回车,完成第三块磁盘划分 
5、输入w,保存退出

1两个节点查看fdisk -l 查询结果应都包括新分区磁盘

1.5、两节点修改udev规则文件

所有节点都添加并执行命令重启后生效查看

二、部署DM应用

本文忽略可见DM数据库基础安装及使用_dm数据库安装及使用-CSDN博客

三、集群组件

3.1 配置 DCR 初始化配置文件(主节点修改即可)

dmdcr_cfg.ini 是格式化 DCR 磁盘和 Voting 磁盘的配置文件。配置信息包括三类:集群环境全局信息、集群组信息、以及组内节点信息。使用 dmasmcmd 工具初始化共享磁盘时,可以根据 dmdcr_cfg.ini 配置文件,格式化 DCR 和 Voting Disk。

dmdba用户添加以下内容

dmdba@localhost \~$ cd dm_config/

dmdba@localhost dm_config$ cat 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 = DMCSS0

DCR_EP_HOST = 192.168.1.100

DCR_EP_PORT = 9341

GRP_CSS

DCR_EP_NAME = DMCSS1

DCR_EP_HOST = 192.168.1.101

DCR_EP_PORT = 9341

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

DCR_EP_SHM_KEY = 93360

DCR_EP_SHM_SIZE = 20

DCR_EP_HOST = 192.168.1.100

DCR_EP_PORT = 7349

DCR_EP_ASM_LOAD_PATH = /dev/raw

GRP_ASM

DCR_EP_NAME = DMASM1

DCR_EP_SHM_KEY = 93361

DCR_EP_SHM_SIZE = 20

DCR_EP_HOST = 192.168.1.101

DCR_EP_PORT = 7349

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

DCR_EP_SEQNO = 0

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9741

GRP_DSC

DCR_EP_NAME = DMDSC1

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9742

3.2、创建ASM磁盘

进行初始化之前对dmdba用户进行授权/dev/raw文件。

授权需要登录root用户,dmdsc0、dmdsc1两台机器都需要授权,执行以下命令:

bash 复制代码
[root@localhost ~]# chown -R dmdba:dinstall /dev/raw
[root@localhost ~]# ll /dev/raw
total 0
crw-rw---- 1 dmdba dinstall 162, 1 Aug 29 21:28 raw1
crw-rw---- 1 dmdba dinstall 162, 2 Aug 29 21:28 raw2
crw-rw---- 1 dmdba dinstall 162, 3 Aug 29 21:28 raw3
crw-rw---- 1 dmdba dinstall 162, 0 Aug 29 21:28 rawctl

创建磁盘(dmdba用户执行)

bash 复制代码
[root@localhost ~]# su - dmdba
Last login: Sat Aug 29 21:33:58 PDT 2026 on pts/1
[dmdba@localhost ~]$ cd dmdbms/bin
[dmdba@localhost bin]$ ./dmasmcmd
dmasmcmd V8
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
[TRACE]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr
Used time: 6.206(ms).
ASM>create votedisk '/dev/raw/raw2' 'vote'
[TRACE]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote
Used time: 4.531(ms).
ASM>create asmdisk '/dev/raw/raw3' 'DATA0'
[TRACE]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMDATA0
Used time: 4.896(ms).
init dcrdisk '/dev/raw/raw1' from '/home/dmdba/dm/dm_config/dmdcr_cfg.ini'identified by 'Dwtest_11' 
init votedisk '/dev/raw/raw2' from '/home/dmdba/dm/dm_config/dmdcr_cfg.ini' 

3.3 、配置dmasvrmal.ini文件

bash 复制代码
su - dmdba 
cat /dm8/dmdata/dmasvrmal.ini 

[MAL_INST0] 
MAL_INST_NAME = DMASM0 
MAL_HOST = 192.168.1.100
MAL_PORT = 7239
[MAL_INST1] 
MAL_INST_NAME = DMASM1 
MAL_HOST = 192.168.1.101
MAL_PORT = 7239

3.4 配置dmdcr.ini文件

使用dmdba用户配置 DCR 启动文件,两个节点都要操作,配置如下:

DSC0:

cpp 复制代码
su - dmdba 
cat /dm8/dmdata/dmdcr.ini 

DMDCR_PATH = /dev/raw/raw1 
DMDCR_MAL_PATH =/home/dmdba/dm/dm_config/dmasvrmal.ini 
DMDCR_SEQNO = 0 
DMDCR_AUTO_OPEN_CHECK = 60 

DSC1:

cpp 复制代码
su - dmdba 
cat /dm8/dmdata/dmdcr.ini 

DMDCR_PATH = /dev/raw/raw1 
DMDCR_MAL_PATH =/home/dmdba/dm/dm_config/dmasvrmal.ini 
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 60 

3.5、启动集群DMCSS服务程序

复制启动脚本并修改配置文件目录后启动

cpp 复制代码
[dmdba@localhost bin]$ cp service_template/DmCSSService ./DmCSSService0
[dmdba@localhost bin]$
[dmdba@localhost bin]$
[dmdba@localhost bin]$ vi ./DmCSSService0
[dmdba@localhost bin]$ cat ./DmCSSService0|grep dcr
DCR_INI_PATH=/home/dmdba/dm/dm_config/dmdcr.ini
STARTUP_PARAMS="dcr_ini=\"$DCR_INI_PATH\""
PS_STARTUP_PARAMS="dcr_ini=$DCR_INI_PATH"
        elif [ "$1" = "dcr_ini" ]
[dmdba@localhost bin]$ ./DmCSSService0 status
DmCSSService0 (pid 26787) is running.

3.6、启动集群DMASM服务程序

同上也是复制启动脚本并修改配置文件目录后启动

bash 复制代码
[dmdba@localhost bin]$ cp service_template/DmASMSvrService ./DmASMSvrServiceDMASM0
[dmdba@localhost bin]$ cat DmASMSvrServiceDMASM0 |grep -i dcr_ini_path=
DCR_INI_PATH=/home/dmdba/dm/dm_config/dmdcr.ini
[dmdba@localhost bin]$
[dmdba@localhost bin]$ ./DmASMSvrServiceDMASM0 status
DmASMSvrServiceDMASM0 (pid 26905) is running.
[dmdba@localhost bin]$

3.7、使用 dmasmtool 工具创建 DMASM 磁盘组

其中一个节点即可

cpp 复制代码
[dmdba@localhost bin]$ ./dmasmtool dcr_ini=/home/dmdba/dm/dm_config/dmdcr.ini
dmasmtool V8
ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw3'
Used time: 22.603(ms).
ASM>exit

3.8、使用 dminit 初始化共享存储集群数据库实例

创建dminit.ini初始化配置文件,根据配置文件初始化实例

cpp 复制代码
[dmdba@localhost ~]$ cd dm_config/
[dmdba@localhost dm_config]$ vi dminit.ini
[dmdba@localhost dm_config]$ cat dminit.ini
db_name = DAMENG
system_path = +DMDATA/
system = +DMDATA/DAMENG/system.dbf
system_size = 128
roll = +DMDATA/DAMENG/roll.dbf
roll_size = 128
main = +DMDATA/DAMENG/main.dbf
main_size = 128
ctl_path = +DMDATA/DAMENG/dm.ctl
ctl_size = 8
dcr_path =  /dev/raw/raw1
dcr_seqno = 0
auto_overwrite = 1
[DMDSC0]
config_path= /home/dmdba/dm/dm_config/conf0
port_num = 5236
mal_host = 192.169.1.00
mal_port = 9255
log_path = +DMDATA/dsc0_01.log
log_path = +DMDATA/dsc0_02.log
log_size = 2048
page_size= 32
extent_size=16
case_sensitive=Y
RLOG_GEN_FOR_HUGE=0
SYSDBA_PWD=Dwtest_11
SYSAUDITOR_PWD=Dwtest_11
[DMDSC1]
config_path= /home/dmdba/dm/dm_config/conf1
port_num = 5236
mal_host = 192.169.1.101
mal_port = 9266
log_path = +DMDATA/dsc1_01.log
log_path = +DMDATA/dsc1_02.log
log_size = 2048
page_size= 32
extent_size=16
case_sensitive=Y
RLOG_GEN_FOR_HUGE=0
SYSDBA_PWD=Dwtest_11
SYSAUDITOR_PWD=Dwtest_11

[root@localhost bin]# ./dminit control=/home/dmdba/dm/dm_config/dminit.ini
initdb V8
db version: 0x7000d
file dm.key not found, use default license!
License will expire on 2026-09-17
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: +DMDATA/dsc0_01.log


 log file path: +DMDATA/dsc0_02.log


 log file path: +DMDATA/dsc1_01.log


 log file path: +DMDATA/dsc1_02.log

write to dir [+DMDATA/DAMENG].
create dm database success. 2026-08-29 22:52:16

3.9、启动集群DMDSC实例

cpp 复制代码
[dmdba@localhost bin]$ ./dmserver /home/dmdba/dm/dm_config/conf0/dm.ini dcr_ini=/home/dmdba/dm/dm_config/dmdcr.ini
file dm.key not found, use default license!
version info: develop
csek2_vm_t = 1448
nsql_vm_t = 328
prjt2_vm_t = 176
ltid_vm_t = 216
nins2_vm_t = 1144
nset2_vm_t = 272
ndlck_vm_t = 192
ndel2_vm_t = 768
slct2_vm_t = 352
nli2_vm_t = 200
aagr2_vm_t = 304
pscn_vm_t = 416
dist_vm_t = 992
DM Database Server 64 V8 05134284368-20250917-293539-20149 startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2026-09-17



su - dmdba 
cd /dm8/dminstall/bin 
./disql 
# 执行下面sql,查看集群信息: 
select * from v$dsc_ep_info;
相关推荐
风哥2号2 天前
达梦DM数据库恢复工具FGDDU(FGEDU DM DUL)
数据库·达梦数据库·数据库恢复
保定公民4 天前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
醉颜凉4 天前
DM 数据库管理员的任务:保障系统高可用与数据安全的实践指南
达梦数据库·dm数据库·数据库管理员·数据库运维·dba任务
赵渝强老师2 个月前
【赵渝强老师】达梦数据库的回滚数据
数据库·达梦数据库·国产数据库
保定公民3 个月前
Oracle 层次查询(CONNECT BY)完全指南:从入门到精通
数据库·sql·oracle·达梦数据库·层次查询
晴天¥3 个月前
达梦数据库的内存结构
服务器·数据库·达梦数据库
晴天¥3 个月前
达梦数据库中的核心进程和线程(理论+实验)学习
达梦数据库
达梦产品与服务4 个月前
稳扎稳打,持续迭代 | SQLark V3.10 更新,30+ 项优化与修复
mysql·oracle·达梦数据库·pg·sqlark百灵连接
p@nd@4 个月前
DM删除用户后的不完全恢复测试
数据库·达梦数据库·备份还原·备份恢复