注册
两节点共享存储集群搭建安装记录
技术分享/ 文章详情 /

两节点共享存储集群搭建安装记录

Phi Sagittarii Merak 2026/05/14 95 0 0

安装前准备

虚拟机开启磁盘uuid显示

在虚拟机配置文件中添加参数disk.EnableUUID = “TRUE”

创建共享磁盘

.\vmware-vdiskmanager.exe -c -s 1g -a lsilogic -t 2 D:\VMware\DSC\dcr_disk1.vmdk

.\vmware-vdiskmanager.exe -c -s 1g -a lsilogic -t 2 D:\VMware\DSC\vote_disk1.vmdk

.\vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 D:\VMware\DSC\dmdata_disk1.vmdk

.\vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 D:\VMware\DSC\dmlog_disk1.vmdk

image.png

配置虚拟机共享磁盘参数

关闭虚拟机,在配置文件添加以下参数。添加完成后重启虚拟机

disk.locking = “FALSE”

diskLib.dataCacheMaxSize = “0”

diskLib.dataCacheMaxReadAheadSize = “0”

diskLib.dataCacheMinReadAheadSize = “0”

diskLib.maxUnsyncedWrites = “0”

scsi1.present = “TRUE”

scsi1.virtualDev = “lsilogic”

scsil.sharedBus = “VIRTUAL”

scsi1:0.present = “TRUE”

scsi1:0.mode = “independent-persistent”

scsi1:0.fileName = “D:\VMware\DSC\dcr_disk1.vmdk”

scsi1:0.deviceType = “disk”

scsi1:0.redo = “”

scsi1:1.present = “TRUE”

scsi1:1.mode = “independent-persistent”

scsi1:1.fileName = “D:\VMware\DSC\vote_disk1.vmdk”

scsi1:1.deviceType = “disk”

scsi1:1.redo = “”

scsi1:2.present = “TRUE”

scsi1:2.mode = “independent-persistent”

scsi1:2.fileName = “D:\VMware\DSC\dmdata_disk1.vmdk”

scsi1:2.deviceType = “disk”

scsi1:2.redo = “”

scsi1:3.present = “TRUE”

scsi1:3.mode = “independent-persistent”

scsi1:3.fileName = “D:\VMware\DSC\dmlog_disk1.vmdk”

scsi1:3.deviceType = “disk”

scsi1:3.redo = “”

获取共享磁盘UUID

for i in `cat /proc/partitions | awk '{print 4}' |grep sd | grep [b-z]`; do echo “### i: \`/usr/lib/udev/scsi_id -g -u -d /dev/i`”; done

创建规则文件

vim /etc/udev/rules.d/66-dmdevices.rules

KERNEL==“sd*”,SUBSYSTEM==“block”, PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT==“36000c29ec7411cc843e19b048194b6b0”, SYMLINK+=“DCR”,OWNER=“dmdba”, GROUP=“dinstall”,MODE=“0660”,RUN+="/bin/sh -c ‘chown dmdba:dinstall /dev/$name;ln -s /dev/DCR /dev_dmdsc/DCR’"

KERNEL==“sd*”,SUBSYSTEM==“block”, PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT==“36000c29aa50547c6140bd93926dcb0b6”, SYMLINK+=“VOTE”,OWNER=“dmdba”, GROUP=“dinstall”,MODE=“0660”,RUN+="/bin/sh -c ‘chown dmdba:dinstall /dev/$name;ln -s /dev/VOTE /dev_dmdsc/VOTE’"

KERNEL==“sd*”,SUBSYSTEM==“block”, PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT==“36000c290335567e2f0fcd402def69836”, SYMLINK+=“DMDATA”,OWNER=“dmdba”, GROUP=“dinstall”,MODE=“0660”,RUN+="/bin/sh -c ‘chown dmdba:dinstall /dev/$name;ln -s /dev/DMDATA /dev_dmdsc/DMDATA’"

KERNEL==“sd*”,SUBSYSTEM==“block”, PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT==“36000c29f6fe2a7fe4fb8dd380493b1c6”, SYMLINK+=“DMLOG”,OWNER=“dmdba”, GROUP=“dinstall”,MODE=“0660”,RUN+="/bin/sh -c ‘chown dmdba:dinstall /dev/$name;ln -s /dev/DMLOG /dev_dmdsc/DMLOG’"

生效udev规则

systemctl restart systemd-udev-trigger

ls -lth /dev_dmdsc

blockdev --getsize64 /dev_dmdsc/*

image.png

搭建集群

配置集群全局信息文件

vim /dmdata/config/dmdcr_cfg.ini

DCR_N_GRP = 3 #集群环境有多少个GROUP,范围:1~16

DCR_VTD_PATH = /dev_dmdsc/VOTE #vote

DCR_OGUID = 63635

[GRP]

DCR_GRP_TYPE = CSS #组类型(CSS/ASM/DB)

DCR_GRP_NAME = GRP_CSS #组名

DCR_GRP_N_EP = 2 #组内节点个数

DCR_GRP_DSKCHK_CNT = 60 #磁盘心跳容错时间,单位:秒

[GRP_CSS]

DCR_EP_NAME = CSS1 #CSS节点名

DCR_EP_HOST = 192.168.43.130 #心跳地址

DCR_EP_PORT = 11286 #CSS端口

[GRP_CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 192.168.43.131

DCR_EP_PORT = 11287

[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 = ASM1 #ASM节点名,和dmasvrmal的MAL_INST_NAME一致

DCR_EP_SHM_KEY = 64735 #共享内存标识

DCR_EP_SHM_SIZE = 1024 #共享内存大小

DCR_EP_HOST = 192.168.43.130 #心跳地址

DCR_EP_PORT = 11276 #ASM端口

DCR_EP_ASM_LOAD_PATH = /dev_dmdsc

[GRP_ASM]

DCR_EP_NAME = ASM2

DCR_EP_SHM_KEY = 64736

DCR_EP_SHM_SIZE = 1024

DCR_EP_HOST = 192.168.43.131

DCR_EP_PORT = 11277

DCR_EP_ASM_LOAD_PATH = /dev_dmdsc

[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 = DSC1 #实例名,和dm.ini的INSTANCE_NAME一致

DCR_EP_SEQNO = 0 #组内序号,不能重复

DCR_EP_PORT = 5236 #实例端口,和dm.ini的PORT_NUM一致

DCR_CHECK_PORT = 11266 #DCR检查端口

[GRP_DSC]

DCR_EP_NAME = DSC2

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 11267

初始化ASM磁盘

/home/dmdba/dmdbms/bin/dmasmcmd

create dcrdisk ‘/dev_dmdsc/DCR’ ‘DCR’

create votedisk ‘/dev_dmdsc/VOTE’ ‘VOTE’

create asmdisk ‘/dev_dmdsc/DMDATA’ ‘DMDATA’

create asmdisk ‘/dev_dmdsc/DMLOG’ ‘DMLOG’

init dcrdisk ‘/dev_dmdsc/DCR’ from ‘/dmdata/config/dmdcr_cfg.ini’ identified by ‘Dameng123’

init votedisk ‘/dev_dmdsc/VOTE’ from ‘/dmdata/config/dmdcr_cfg.ini’
image.png

配置 ASM 的 MAL 系统文件

vim /dmdata/config/dmasvrmal.ini

[MAL_INST1]

MAL_INST_NAME = ASM1

MAL_HOST = 192.168.43.130

MAL_PORT = 11256

[MAL_INST2]

MAL_INST_NAME = ASM2

MAL_HOST = 192.168.43.131

MAL_PORT = 11257

配置 DMDCR 文件

vim /dmdata/config/dmdcr.ini

#节点一

DMDCR_PATH = /dev_dmdsc/DCR #dcr

DMDCR_MAL_PATH =/dmdata/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0

# ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 30

# 初次搭建环境时,取消该参数,需要手动运行ASM服务,后面搭建无误后,在使该参数生效

# DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/dmdata/config/dmdcr.ini

# DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 60

# 初次搭建环境时,取消该参数,需要手动运行DB服务,后面搭建无误后,在使该参数生效

# DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/dmdata/data/DSC1/dm.ini dcr_ini=/dmdata/config/dmdcr.ini

DMDCR_AUTO_OPEN_CHECK = 60

DMDCR_ASM_TRACE_LEVEL = 2

#节点二

DMDCR_PATH = /dev_dmdsc/DCR

DMDCR_MAL_PATH =/dmdata/config/dmasvrmal.ini

DMDCR_SEQNO = 1

# ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 30

# 初次搭建环境时,取消该参数,需要手动运行ASM服务,后面搭建无误后,在使该参数生效

# DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/dmdata/config/dmdcr.ini

# DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 60

# 初次搭建环境时,取消该参数,需要手动运行DB服务,后面搭建无误后,在使该参数生效

# DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/dmdata/data/DSC2/dm.ini dcr_ini=/dmdata/config/dmdcr.ini

DMDCR_AUTO_OPEN_CHECK = 60

DMDCR_ASM_TRACE_LEVEL = 2

启动 ASM 相关服务(后续操作保持服务运行)

##启动DMCSS服务

/home/dmdba/dmdbms/bin/dmcss DCR_INI=/dmdata/config/dmdcr.ini

/home/dmdba/dmdbms/bin/dmcss DCR_INI=/dmdata/config/dmdcr.ini

##启动DMASM服务

/home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/dmdata/config/dmdcr.ini

/home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/dmdata/config/dmdcr.ini

创建 DMASM 磁盘组

image.png

初始化数据库

vim /dmdata/config/dminit.ini

db_name = DSC

system_path = +DMDATA/data

system = +DMDATA/data/dsc/system.dbf

system_size = 128

main = +DMDATA/data/dsc/main.dbf

main_size = 128

roll = +DMDATA/data/dsc/roll.dbf

roll_size = 128

ctl_path = +DMDATA/data/dsc/dm.ctl

ctl_size = 8

log_size = 2048

dcr_path = /dev_dmdsc/DCR

dcr_seqno = 0

auto_overwrite = 1

PAGE_SIZE = 32

EXTENT_SIZE = 32

CASE_SENSITIVE = 0

BLANK_PAD_MODE = 1

CHARSET = 1

SYSDBA_PWD = Dameng123

SYSAUDITOR_PWD = Dameng123

[DSC1]

config_path = /dmdata/data/dsc1

port_num = 5236

mal_host = 192.168.43.130

mal_port = 11246

log_path = +DMLOG/log/dsc1_log01.log

log_path = +DMLOG/log/dsc1_log02.log

[DSC2]

config_path = /dmdata/data/dsc2

port_num = 5236

mal_host = 192.168.43.131

mal_port = 11247

log_path = +DMLOG/log/dsc2_log01.log

log_path = +DMLOG/log/dsc2_log02.log

#初始化节点

/home/dmdba/dmdbms/bin/dminit control=/dmdata/config/dminit.ini

#传输配置文件至备库

scp -r /dmdata/data/dsc2/ 192.168.43.131:/dmdata/data

image.png

配置归档文件

vi /dmdata/data/dsc1/dmarch.ini

ARCH_WAIT_APPLY = 0

ARCH_LOCAL_SHARE = 1

ARCH_LOCAL_SHARE_CHECK=0

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = +DMDATA/ARCH/DSC1/arch

ARCH_FILE_SIZE = 2048

ARCH_SPACE_LIMIT = 204800

ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC2

ARCH_INCOMING_PATH = +DMDATA/ARCH/DSC2/arch

ARCH_FILE_SIZE = 2048

ARCH_SPACE_LIMIT = 204800

ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_LOCAL2]

ARCH_TYPE = LOCAL

ARCH_DEST = /dmdata/arch

ARCH_FILE_SIZE = 2048

ARCH_SPACE_LIMIT = 409600

ARCH_FLUSH_BUF_SIZE = 32

vi /dmdata/data/dsc2/dmarch.ini

ARCH_WAIT_APPLY = 0

ARCH_LOCAL_SHARE = 1

ARCH_LOCAL_SHARE_CHECK=0

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = +DMDATA/ARCH/DSC2/arch

ARCH_FILE_SIZE = 2048

ARCH_SPACE_LIMIT = 204800

ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC1

ARCH_INCOMING_PATH = +DMDATA/ARCH/DSC1/arch

ARCH_FILE_SIZE = 2048

ARCH_SPACE_LIMIT = 204800

ARCH_FLUSH_BUF_SIZE = 32

[ARCHIVE_LOCAL2]

ARCH_TYPE = LOCAL

ARCH_DEST = /dmdata/arch

ARCH_FILE_SIZE = 2048

ARCH_SPACE_LIMIT = 409600

ARCH_FLUSH_BUF_SIZE = 32

启动数据库实例

/home/dmdba/dmdbms/bin/dmserver /dmdata/data/dsc1/dm.ini dcr_ini=/dmdata/config/dmdcr.ini

/home/dmdba/dmdbms/bin/dmserver /dmdata/data/dsc2/dm.ini dcr_ini=/dmdata/config/dmdcr.ini

配置监视器

创建配置文件并启动

vim /dmdata/config/cssm.ini

CSSM_OGUID = 63635

CSSM_CSS_IP = 192.168.43.130:11286

CSSM_CSS_IP = 192.168.43.131:11287

CSSM_LOG_PATH = /dmdata/log

CSSM_LOG_FILE_SIZE = 1024

CSSM_LOG_SPACE_LIMIT = 0

/home/dmdba/dmdbms/bin/dmcssm ini_path=/dmdata/config/cssm.ini

image.png

注册服务

创建 CSS 服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dmdata/config/dmdcr.ini -p CSS1

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dmdata/config/dmdcr.ini -p CSS2

创建 ASM 服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dmdata/config/dmdcr.ini -y DmCSSServiceCSS1.service -p ASM1

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dmdata/config/dmdcr.ini -y DmCSSServiceCSS2.service -p ASM2

创建 DSC 服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/dsc1/dm.ini -dcr_ini /dmdata/config/dmdcr.ini -y DmASMSvrServiceASM1.service -p DSC1

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/dsc2/dm.ini -dcr_ini /dmdata/config/dmdcr.ini -y DmASMSvrServiceASM2.service -p DSC2

创建 CSSM 服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /dmdata/config/cssm.ini -p CSSM

功能验证

数据共享

image.png
image.png

故障接管

Kill节点1dmserver服务,集群等待超时时间后,自动切换
image.png

达梦社区技术https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服