注册
达梦dsc搭建
培训园地/ 文章详情 /

达梦dsc搭建

Dog-walking boy 2026/05/15 327 0 0

说明:该安装在Vware虚拟机中进行。
一、准备工具
1、节点名:
(1)dsc0
(2)dsc1
(3)watcher
2、ip
(1)192.168.139.121
(2)192.168.139.122
(3)192.168.139.129
3、操作系统
麒麟V10
4、数据库
dm8
5、主机名
(1)dmdsc1
(2)dmdsc2
(3)watcher
6、实例名
(1)DMDSC0
(2)DMDSC1
(3)none
说明:
达梦dsc一般只配置两个节点,监控不需要自己机器,本文章是为了方便进行部署,用了三台机器。
二、创建共享磁盘
1、使用命令行产创建共享磁盘
在VMware Workstation虚拟机产品安装的目录下找到vmware-vdiskmanager.exe,打开终端(也可以用cmd打开),执行命令创建共享磁盘,语句如下:
.\vmware-vdiskmanager.exe -c -s 15000Mb -a lsilogic -t 2 "E:\share\sharedisk.vmdk" # -c:表示创建一个新的虚拟磁盘。
# -s 15000Mb:指定虚拟磁盘的大小为 15000 兆字节(即 15GB)。
# -a lsilogic:指定虚拟磁盘的适配器类型为 LSI Logic(这是一个 SCSI 控制器)。
# -t 2:指定虚拟磁盘的类型。类型 2 表示“growable”虚拟磁盘,即磁盘文件在创建时很小,但随着数据的增加而增长,直到达到指定的最大大小。
# "E:\share\sharedisk.vmdk":指定虚拟磁盘文件的路径和名称,E:\share这个目录要提前创建好。
image.png
2、配置dmdsc1、dmdsc2两台虚拟机文件
到两台虚拟机(dmdsc1、dmdsc2)目录下的.vmx查看是否末尾有以下参数,如果没有的手动加入,系统会起不来。
disk.locking="FALSE"
scsi0:1.SharedBus="Virtual"
# disk.locking="FALSE" 参数是设置虚拟磁盘的锁定行为。FALSE 表示禁用磁盘锁定,禁用磁盘锁定允许多个虚拟机同时访问同一个虚拟磁盘,这在一些特定的配置(例如共享磁盘集群)中是有用的。
# scsi0:1.SharedBus="Virtual" 这个参数设置 SCSI 控制器 0 上的第 1 个设备(通常是虚拟磁盘)的共享总线行为。SharedBus="Virtual" 表示 SCSI 总线处于虚拟共享模式,使多个虚拟机可以共享同一个 SCSI 总线上的设备。
image.png
3、虚拟机添加共享磁盘
两台虚拟机新增永久磁盘,两台虚拟机操作步骤相同,步骤如下:

(1)点击编辑虚拟机设置
image.png
(2)选择硬盘,点击添加
image.png
(3)点击硬盘,点击下一步
image.png
(4)选择磁盘类型,选择SCSI,点击下一步
image.png
(5)选择使用现有虚拟磁盘,点击下一步
image.png
(6)选择之前创建好的虚拟磁盘文件(根据自己创建的来),点击完成,最后选择保持现有格式
image.png
image.png
image.png
(7)点击高级按钮
(8)选择新添加的磁盘设置成独立+永久模式,最后点击确定、确定,完成操作
image.png
4、到控制节点机器中执行磁盘分区操作
开启虚拟机dmdsc0,执行fdisk -l命令查看系统新添加的磁盘信息
(1)输入fdisk /dev/sdb进入划分命令
(2)依次输入 n --> p--> 1--> 回车--> +1G--> 回车,完成第一块磁盘划分
(3)依次输入 n --> p--> 2--> 回车--> +1G--> 回车,完成第二块磁盘划分
(4)依次输入 n --> p--> 3--> 回车--> +3G--> 回车,完成第三块磁盘划分
(5)依次输入 n --> p--> 4--> 回车--> 回车-->回车,完成第四块磁盘划分
(6)输入w,保存退出
image.png
image.png
fdisk -l
image.png
5、两节点修改udev规则文件
所有节点添加以下内容
# 如果没有70-persistent-ipoib.rules这个文件,新创建一个就可以 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"
image.png
所有节点执行以下命令,规则生效
udevadm trigger --type=devices --action=change
# 重启dmdsc0、dmdsc1机器 reboot

# 查看dmdsc0、dmdsc1集群配置的udev是否生效,两个机器都要查看
ll /dev/raw/raw*
image.png
三、安装达梦数据库软件(dsc0、dsc1、watcher)
三台机器在用户dmdba上安装数据库(不初始化实例)存放于/dm8/dminstall目录中,下面操作在三台机器上是一样的。
1、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
image.png
2、创建用户组、用户、以及安装目录
# 创建用户组和用户

groupadd dinstall
useradd -g dinstall dmdba
echo "Dameng123" |passwd --stdin dmdba

# dminstall是达梦数据库软件安装的位置,dmdata是达梦数据库实例存放位置,dmarch是达梦数据库归档日志存放位置,dmbak是达梦数据库备份文件存放位置

mkdir -p /dm8/{dminstall,dmdata,dmarch,dmbak}
chown -R dmdba:dinstall /dm8
chmod -R 755 /dm8
3、安装步骤略
说明:
麒麟操作系统需要修改 RemoveIPC 参数,防止关闭asm服务时,进程还在,导致重新起来报错:
vim /etc/systemd/logind.conf
设置 RemoveIPC 参数为 no保存后重启服务
systemctl daemon-reload
systemctl restart systemd-logind
##检查验证
grep RemoveIPC /etc/systemd/logind.conf
# RemoveIPC=no
#结果验证确认
loginctl show-session|grep RemoveIPC
systemctl show systemd-logind|grep RemoveIPC
image.png
image.png
四、搭建集群
1、配置 DCR 初始化配置文件(dmdsc1和dmdsc2两个节点都用去配置这个文件)
dmdcr_cfg.ini 是格式化 DCR 磁盘和 Voting 磁盘的配置文件。配置信息包括三类:集群环境全局信息、集群组信息、以及组内节点信息。使用 dmasmcmd 工具初始化共享磁盘时,可以根据 dmdcr_cfg.ini 配置文件,格式化 DCR 和 Voting Disk。

dmdba用户添加以下内容
su - dmdba
vim /dm8/dmdata/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 = 1节点IP
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = DMCSS1
DCR_EP_HOST = 2节点IP
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 = 1节点IP
DCR_EP_PORT = 9349
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 = 2节点IP
DCR_EP_PORT = 9349
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
image.png
2、创建ASM磁盘
只在一台机器上执行即可,此处dmdcr_cfg.ini配置文件在主节点dmdsc1上,所以执行初始化,在主节点完成即可。进行初始化之前对dmdba用户进行授权/dev/raw文件。

(1)授权需要登录root用户,dmdsc1、dmdsc2两台机器都需要授权,执行以下命令:
# root用户执行
chown -R dmdba:dinstall /dev/raw
# 执行之后用命令查看赋权情况:
ll /dev/raw
(2)创建磁盘(dmdba用户执行)
su - dmdba
cd /dm8/dminstall/bin
./dmasmcmd
# 输入下面的内容初始化
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'
init dcrdisk '/dev/raw/raw1' from '/dm8/dmdata/dmdcr_cfg.ini'identified by 'Damenimage.pngg@123'
init votedisk '/dev/raw/raw2' from '/dm8/dmdata/dmdcr_cfg.ini'
exit
image.png

(3)两节点服务器一定要检查,共享磁盘的情况,是否如下所示:
su - dmdba
cd /dm8/dminstall/bin
./dmasmcmd
# 执行命令
listdisks /dev/raw
exit
3、配置dmasvrmal.ini文件
使用dmdba用户配置,所有节点(dmdsc0和dmdsc1)dmasvrmal.ini配置必须文件保持一致,这里是配置mal系统通信用的,用于dmasm节点之间的通信,配置如下:
su - dmdba
vim /dm8/dmdata/dmasvrmal.ini
# 内容如下
[MAL_INST0]
MAL_INST_NAME = DMASM0
MAL_HOST = 1节点IP
MAL_PORT = 7238
[MAL_INST1]
MAL_INST_NAME = DMASM1
MAL_HOST = 2节点IP
MAL_PORT = 7238
image.png
4、配置dmdcr.ini文件
使用dmdba用户配置 DCR 启动文件,两个节点都要操作,配置如下:

主节点
su - dmdba
vim /dm8/dmdata/dmdcr.ini
# 内容如下:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/dmdata/dmasvrmal.ini
DMDCR_ASM_TRACE_LEVEL = 3
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 60
image.png
二节点:
su - dmdba
vim /dm8/dmdata/dmdcr.ini
# 内容如下:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/dmdata/dmasvrmal.ini
DMDCR_ASM_TRACE_LEVEL = 3
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 60
image.png
5、启动集群DMCSS服务程序
# dsc所有节点都操作
su - dmdba
cd /dm8/dminstall/bin
./dmcss dcr_ini=/dm8/dmdata/dmdcr.ini
# 前台启动dmcss服务
image.png
确定没问题后,配置后台启动

后台注册css服务
su - dmdba
cd /dm8/dminstall/bin
cp service_template/DmCSSService ./DmCSSServiceDMCSS0
# 修改DmCSSServiceDMCSS0文件
vim DmCSSServiceDMCSS0
#修改内容: DCR_INI_PATH=%DCR_INI_PATH% 改为 DCR_INI_PATH=/dm8/dmdata/dmdcr.ini
DCR_INI_PATH路径为第4步配置的dcr文件,可根据实际情况修改
image.png
image.png
6、启动集群DMASM服务程序
# dsc所有节点都操作
su - dmdba
cd /dm8/dminstall/bin
./dmasmsvr dcr_ini=/dm8/dmdata/dmdcr.ini
# 前台启动dmasm服务
image.png
image.png
没问题可配置后台启动:

注册asm服务
su - dmdba
cd /dm8/dminstall/bin
cp service_template/DmASMSvrService
./DmASMSvrServiceDMASM0
# 修改DmASMSvrServiceDMASM0文件
vim DmASMSvrServiceDMASM0
# 修改内容如下: DCR_INI_PATH=%DCR_INI_PATH% 改为 DCR_INI_PATH=/dm8/dmdata/dmdcr.ini
image.png
image.png
7、使用 dmasmtool 工具创建 DMASM 磁盘组
su - dmdba
cd /dm8/dminstall/bin
./dmasmtool dcr_ini=/dm8/dmdata/dmdcr.ini
# 执行下面的命令:
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
exit
image.png
8、使用 dminit 初始化共享存储集群数据库实例
选择主节点,创建 dminit.ini 配置文件,保存到/dm8/dmdata 目录,操作如下:
su - dmdba
vim /dm8/dmdata/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_seqno = 0
auto_overwrite = 1
[DMDSC0]
config_path = /dm8/dmdata/dsc0
port_num = 5236
mal_host = 1节点IP
mal_port = 9236
log_path = +DMLOG/log/DSC0_log01.log
log_path = +DMLOG/log/DSC0_log02.log
[DMDSC1]
config_path = /dm8/dmdata/dsc1
port_num = 5236
mal_host = 2节点IP
mal_port = 9236
log_path = +DMLOG/log/DSC1_log01.log
log_path = +DMLOG/log/DSC1_log02.log

初始化实例,主节点使用 dmdb用户在bin执行以下命令:
cd /dm8/dminstall/bin
./dminit control=/dm8/dmdata/dminit.ini
image.png
初始化完成后会在 dminit.ini控制文件配置的目录下生成 2 个实例的配置文件(配置的是/dm8/dmdata目录下)将 dsc1 目录复制到2节点上对应的目录下
cd /dm8/dmdata
scp -r dsc1 dmdba@192.168.139.122:/dm8/dmdata
# 输入192.168.139.122节点dmdba用户的密码
9、启动集群DMDSC实例
将主节点的/dm8/dmdata/dsc1目录拷贝到dmdsc1节点相同目录下,再分别启动 dmserver 即可完成 DMDSC 集群搭建。如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不需要手动启动。这里禁用了DMCSS自动拉起功能,需要手动启动,执行下面的操作步骤启动DMDSC实例:

主节点
su - dmdba
cd /dm8/dminstall/bin
./dmserver /dm8/dmdata/dsc0/dm.ini
dcr_ini=/dm8/dmdata/dmdcr.ini
# 前台启动dmdsc实例
image.png
二节点使用从主节点传过去的dsc1目录下的内容执行
image.png
没问题可配置后台启动dsc服务:

注册dm实例服务:
su - dmdba
cd /dm8/dminstall/bin
cp service_template/DmService ./DmServiceDMDSC0
# 修改DmServiceDMDSC0文件
vim DmServiceDMDSC0
# 修改内容如下: INI_PATH=%INI_PATH% 改为 INI_PATH=/dm8/dmdata/dsc0/dm.ini DCR_INI_PATH=%DCR_INI_PATH% 改为 DCR_INI_PATH=/dm8/dmdata/dmdcr.ini
image.png
image.png
至此,DMDSC集群部署完毕,可以使用dmdba用户启动disql工具,查看视图v$dsc_ep_info来查看集群信息,两节点均可以执行:
su - dmdba
cd /dm8/dminstall/bin
./disql
# 执行下面sql,查看集群信息:
select * from v$dsc_ep_info;
image.png
五、配置监视器
在监视器机器上,使用dmdba用户配置监视器,并启动监视器,操作如下:
su - dmdba
vim /dm8/dmdata/dmcssm.ini
#内容如下:
CSSM_OGUID = 63635
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
#配置所有 CSS 的连接信息和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 1节点IP:9341
CSSM_CSS_IP = 2节点IP:9341
CSSM_LOG_PATH =/dm8/dmdata/log
#监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 1024
#每个日志文件最大 1024 MB
CSSM_LOG_SPACE_LIMIT = 0
#不限定日志文件总占用空间
启动监视器
cd /dm8/dminstall/bin
./dmcssm ini_path=/dm8/dmdata/dmcssm.ini
# 输入 show 命令,查看 css、asm 和 db 的状态。
show
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服