【达梦数据库】共享存储集群(DSC)的搭建学习

目录

一、前言

二、部署规划

 三、虚拟机准备

2.1 添加第二张网卡

2.2 添加共享磁盘

四、数据库软件安装

五、DSC集群部署配置

5.1 使用udev绑定裸设备 (2个节点)

 5.2 配置 DCR 初始化配置文件 (2个节点)

5.3 初始化磁盘组 (1个节点)

5.4 配置ASM的MAL系统配置文件 (2个节点)

5.5 配置 DCR 启动配置文件

5.6 启动DMCSS、DMASM服务

5.7 创建 ASM 磁盘组 (1个节点)

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

5.9 配置 dmarch.ini 文件

5.10 注册服务

5.11 配置集群监视器

5.12 重启集群


一、前言

本篇博客仅为个人在学习搭建DSC的过程记录,大部分操作均参考的官方文档,并结合自己实际的测试环境来进行搭建。官网指路:共享存储集群安装部署 | 达梦技术文档

二、部署规划

以2节点DSC集群为例

数据库以及操作系统规划:

数据库版本DM 8
操作系统Redhat 7

IP规划:

主机名

服务ip

心跳ip

数据库名

实例名

dmdsc01

192.168.11.100

10.0.1.100

DSC

DSC1

dmdsc02

192.168.11.101

10.0.1.101

DSC

DSC2

端口规划:

实例名

实例端口

MAL系统端口

CSS端口

ASM端口

ASM的MAL端口

DCR检查实例端口

DSC1

5236

9236

9341

9351

7236

9741

DSC2

5236

9236

9341

9351

7236

9741

共享存储规划:

磁盘

裸设备名/用途

/dev/sdb (10G)

/dev/asmdata0 (数据磁盘)

/dev/sdc (5G)

/dev/asmdcr (DCR磁盘)

/dev/sdd (5G)

/dev/asmvote(vote磁盘)

/dev/sde (10G)

/dev/asmlog0(redo日志磁盘)

/dev/sdf (10G)

/dev/asmarch0(归档日志磁盘)

目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)

数据库软件安装目录

/home/dmdba/dmdbms

DSC配置文件目录

/home/dmdba/config

DSC1本地归档目录

+DMARCH/dsc1

DSC1远程归档目录

+DMARCH/dsc2

DSC2本地归档目录

+DMARCH/dsc2

DSC2远程归档目录

+DMARCH/dsc1

 三、虚拟机准备

2.1 添加第二张网卡

主要是用作集群的心跳ip,

第二张网卡配置 (IP请根据实际的环境进行调整)

cd /etc/sysconfig/network-scripts
vi ifcfg-ens34

修改参数
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.0.1.100

重启网络服务
systemctl restart network

用相同的方式给集群的另一个节点配置第二张网卡 

2.2 添加共享磁盘

命令行创建共享磁盘(如果指定的共享磁盘的存放目录如果不存在需要提前创建)

d:
cd VMware\VMware Workstation
.\vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 "D:\DM-DSC1\sharedisk\share-data0.vmdk" 
.\vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 "D:\DM-DSC1\sharedisk\share-dcr.vmdk" 
.\vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 "D:\DM-DSC1\sharedisk\share-vote.vmdk" 
.\vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\DM-DSC1\sharedisk\share-log0.vmdk"
.\vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\DM-DSC1\sharedisk\share-arch0.vmdk"

 执行结果如下图所示

编辑两台虚拟机的vmx文件

vmx文件就在两台虚拟机对应的的安装目录下,直接在文件末添加内容即可,需要在关闭虚拟机的情况下进行

#shared disks configure
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"

scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:\DM-DSC1\sharedisk\share-data0.vmdk" 
scsi1:0.redo = ""

scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\DM-DSC1\sharedisk\share-dcr.vmdk" 
scsi1:1.redo = ""

scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\DM-DSC1\sharedisk\share-vote.vmdk" 
scsi1:2.redo = ""

scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:\DM-DSC1\sharedisk\share-log0.vmdk" 
scsi1:3.redo = ""

scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:\DM-DSC1\sharedisk\share-arch0.vmdk"
scsi1:4.redo = ""

 

 查看虚拟机的配置是否已经新增了5块磁盘

 查看全部的磁盘

fdisk -l | grep dev/sd*

四、数据库软件安装

这一节不再过多赘述,参考官方文档,创建数据库用户并安装软件即可(注意是集群的每个节点都需要安装数据库软件)

单机安装部署 | 达梦技术文档

五、DSC集群部署配置

5.1 使用udev绑定裸设备 (2个节点)

两台主机上都需要配置。

sdb-sdf 是需要配置的共享磁盘。

执行以下命令,新建 udev 规则文件。

for disk in `ls /dev/sd*`
                  do
                    echo $disk
                    /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=$disk
                  done

写入配置文件

vi /etc/udev/rules.d/99-dm-asmdevices.rules 

KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="36000c29e63a7fce61d48295b05215e48", SYMLINK+="asmdata0", OWNER="dmdba", GROUP="dinstall", MODE="0660" 
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="36000c29b3b883583e9284b1cf0ae7586", SYMLINK+="asmdcr", OWNER="dmdba", GROUP="dinstall", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="36000c29e5f88d0d89238a604ac759f82", SYMLINK+="asmlog0", OWNER="dmdba", GROUP="dinstall", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="36000c29962e698a82288995af20810a1", SYMLINK+="asmvote", OWNER="dmdba", GROUP="dinstall", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="36000c29438db2c3fa4106131104ac187", SYMLINK+="asmarch0", OWNER="dmdba", GROUP="dinstall", MODE="0660"

执行以下命令,使 udev 生效。

/sbin/udevadm trigger --type=devices --action=change
/sbin/udevadm control --reload-rules

检查是否配置成功

ll /dev/asm*
blockdev --getsize64 /dev/asmarch0

 5.2 配置 DCR 初始化配置文件 (2个节点)

创建配置文件存放目录,2 个节点都要执行

使用 dmdba 用户,执行以下命令:

su - dmdba

mkdir -p /home/dmdba/config

新建 dmdcr_cfg.ini 文件,节点 1 使用 dmdba 用户,执行以下命令:

vi /home/dmdba/config/dmdcr_cfg.ini

添加以下内容:

DCR_N_GRP             = 3
DCR_VTD_PATH          = /dev/asmvote 
DCR_OGUID         = 63635 

[GRP] 
 DCR_GRP_TYPE         = CSS  
 DCR_GRP_NAME         = CSS 
 DCR_GRP_N_EP         = 2 
 DCR_GRP_DSKCHK_CNT   = 60 
[CSS] 
 DCR_EP_NAME          = CSS0 
 DCR_EP_HOST          = 10.0.1.100
 DCR_EP_PORT          = 9341 
[CSS] 
 DCR_EP_NAME          = CSS1 
 DCR_EP_HOST          = 10.0.1.101
 DCR_EP_PORT          = 9341 

[GRP] 
 DCR_GRP_TYPE         = ASM 
 DCR_GRP_NAME         = ASM 
 DCR_GRP_N_EP         = 2 
 DCR_GRP_DSKCHK_CNT   = 60 
[ASM] 
 DCR_EP_NAME          = ASM0 
 DCR_EP_SHM_KEY       = 93360 
 DCR_EP_SHM_SIZE      = 500 
 DCR_EP_HOST          = 10.0.1.100
 DCR_EP_PORT          = 9351
 DCR_EP_ASM_LOAD_PATH  = /dev/ 
[ASM] 
 DCR_EP_NAME          = ASM1 
 DCR_EP_SHM_KEY       = 93361 
 DCR_EP_SHM_SIZE      = 500 
 DCR_EP_HOST          = 10.0.1.101
 DCR_EP_PORT          = 9351
 DCR_EP_ASM_LOAD_PATH  = /dev/

[GRP] 
 DCR_GRP_TYPE         = DB 
 DCR_GRP_NAME         = DSC
 DCR_GRP_N_EP         = 2 
 DCR_GRP_DSKCHK_CNT   = 60 
[DSC] 
 DCR_EP_NAME         = DSC0 
 DCR_EP_SEQNO        = 0
 DCR_EP_PORT         = 5236
 DCR_CHECK_PORT      = 9741  
[DSC] 
 DCR_EP_NAME         = DSC1
 DCR_EP_SEQNO        = 1
 DCR_EP_PORT         = 5236
 DCR_CHECK_PORT      = 9741

5.3 初始化磁盘组 (1个节点)

使用 dmdba 用户,执行以下命令(只需在一个节点执行)。

dmasmcmd

进入 ASM 提示符后执行以下命令:

create  dcrdisk '/dev/asmdcr' 'dcr'
create votedisk '/dev/asmvote'   'vote'
create asmdisk '/dev/asmlog0'   'LOG0'
create asmdisk '/dev/asmdata0'   'DATA0'
create asmdisk '/dev/asmarch0'   'ARCH0'
init dcrdisk '/dev/asmdcr'   from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'
init votedisk  '/dev/asmvote' from '/home/dmdba/config/dmdcr_cfg.ini'

5.4 配置ASM的MAL系统配置文件 (2个节点)

2 个节点都需要配置,且文件内容相同,执行以下命令:

vi /home/dmdba/config/dmasvrmal.ini

添加以下内容:

[MAL_INST1]     
MAL_INST_NAME              = ASM0
MAL_HOST                    = 10.0.1.100 
MAL_PORT                    = 7236
 
[MAL_INST2]     
MAL_INST_NAME              = ASM1
MAL_HOST                    = 10.0.1.101 
MAL_PORT                    = 7236

5.5 配置 DCR 启动配置文件

vi /home/dmdba/config/dmdcr.ini

节点一配置dmdcr.ini文件,dmdcr_seqno 为 0

DMDCR_PATH                   = /dev/asmdcr
DMDCR_MAL_PATH           = /home/dmdba/config/dmasvrmal.ini
DMDCR_SEQNO                  = 0
DMDCR_AUTO_OPEN_CHECK        = 111
DMDCR_ASM_TRACE_LEVEL        = 2

节点 2(DSC2) 添加以下内容:

DMDCR_PATH                   = /dev/asmdcr
DMDCR_MAL_PATH               = /home/dmdba/config/dmasvrmal.ini
DMDCR_SEQNO                  = 1
DMDCR_AUTO_OPEN_CHECK        = 111
DMDCR_ASM_TRACE_LEVEL        = 2

5.6 启动DMCSS、DMASM服务

在 2 个节点分别启动 dmcss 命令:

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

show命令查看状态

节点一

节点二

在 2 个节点分别启动 dmasmsvr 命令:

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

节点一

节点二

5.7 创建 ASM 磁盘组 (1个节点)

asm 启动成功后,节点 1 (DSC1,只需在一个节点执行即可)使用 dmdba 用户启动 dmasmtool 工具。

/home/dmdba/dmdbms/bin/dmasmtool DCR_INI=/home/dmdba/config/dmdcr.ini

##输入下列语句创建 DMASM 磁盘组
##创建redo日志磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/asmlog0'
##创建数据磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/asmdata0'
##创建归档磁盘组
create diskgroup 'DMARCH' asmdisk '/dev/asmarch0'

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

节点一和节点二配置相同

配置 dminit 控制文件,节点 1 使用 dmdba 用户执行以下命令:

vi /home/dmdba/config/dminit.ini

添加以下内容:

DB_NAME                  = DSC
SYSDBA_PWD               = SYSDBA_PWD
SYSTEM_PATH              = +DMDATA/data
SYSTEM                   = +DMDATA/data/SYSTEM.dbf
SYSTEM_SIZE              = 1024
ROLL                     = +DMDATA/data/ROLL.dbf
ROLL_SIZE                = 10000
MAIN                     = +DMDATA/data/MAIN.dbf
MAIN_SIZE                = 1024
CTL_PATH                 = +DMDATA/data/dm.ctl
CTL_SIZE                 = 8
LOG_SIZE                 = 2048
DCR_PATH                 = /dev/asmdcr
DCR_SEQNO                = 0
AUTO_OVERWRITE           = 1
PAGE_SIZE                = 32
EXTENT_SIZE              = 16
BLANK_PAD_MODE           = 1
[DSC0]
CONFIG_PATH              = /home/dmdba/config/dsc0
PORT_NUM                 = 5236
MAL_HOST                 = 10.0.1.100
MAL_PORT                 = 11246
LOG_PATH                 = +DMLOG/DSC0_LOG01.log
LOG_PATH                 = +DMLOG/DSC0_LOG02.log
[DSC1]
CONFIG_PATH              = /home/dmdba/config/dsc1
PORT_NUM                 = 5236
MAL_HOST                 = 10.0.1.101
MAL_PORT                 = 11246
LOG_PATH                 = +DMLOG/DSC1_LOG01.log
LOG_PATH                 = +DMLOG/DSC1_LOG02.log

初始化实例,节点 1 使用 dmdba 用户执行以下命令:

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

初始化完成后会在 init 控制文件配置的目录(config_path参数配置的目录)下生成 2 个实例的配置文件

需要手动将节点2的配置文件,从节点1复制到节点2对应目录

cd /home/dmdba/config
scp -r dsc1 10.0.1.101:/home/dmdba/config/

5.9 配置 dmarch.ini 文件

编辑dm.ini的ARCH_INI参数

vi /home/dmdba/config/dsc0/dm.ini
ARCH_INI                 = 1
创建 dmarch.ini
vi /home/dmdba/config/dsc0/dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/dsc0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMARCH/dsc1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048

节点二

vi /home/dmdba/config/dsc0/dm.ini
ARCH_INI                 = 1
创建 dmarch.ini
vi /home/dmdba/config/dsc0/dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/dsc1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMARCH/dsc0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048

5.10 注册服务

2 个节点都需要注册,使用 root 用户执行,到数据库安装目录的 script/root 目录。

su - root

cd /home/dmdba/dmdbms/script/root

节点 一执行以下命令:

./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/config/dmdcr.ini -p DSC
./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/config/dmdcr.ini -p DSC -y DmCSSServiceDSC.service
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/config/dsc0/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -p DSC -y DmASMSvrServiceDSC.service

节点二执行以下命令:

./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/config/dmdcr.ini -p DSC
./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/config/dmdcr.ini -p DSC -y DmCSSServiceDSC.service
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/config/dsc1/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -p DSC -y DmASMSvrServiceDSC.service

5.11 配置集群监视器

任意节点新建监视器配置文件,执行以下命令:

vi /home/dmdba/config/dmcssm.ini

添加以下内容:

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致   
CSSM_OGUID = 63635   #配置所有 CSS 的连接信息,   
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致   
CSSM_CSS_IP = 10.0.1.100:9341   
CSSM_CSS_IP = 10.0.1.101:9341   
CSSM_LOG_PATH = /home/dmdba/dmdbms/log #监视器日志文件存放路径   
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB   
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动监视器,dmdba 用户执行,

dmcssm ini_path=/home/dmdba/config/dmcssm.ini

 在监视器中查看集群状态

5.12 重启集群

停止: A/B 机器 DMSERVER→A/B 机器 ASM→A/B 机器 CSS

/home/dmdba/dmdbms/bin/DmServiceDSC stop
/home/dmdba/dmdbms/bin/DmASMSvrServiceDSC stop
/home/dmdba/dmdbms/bin/DmCSSServiceDSC stop

启动:A/B 机器 CSS (CSS 启动后 30 秒自动拉起 ASM,60 秒自动拉起 DMSERVER。)

/home/dmdba/dmdbms/bin/DmCSSServiceDSC start

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

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建共享存储集群可以按照以下步骤进行: 1. 硬件准备: - 确保每个节点都配备高速网络连接和足够的存储空间。 - 选择适当的共享存储设备,如SAN(存储区域网络)或NAS(网络附加存储)。 2. 操作系统安装: - 在每个节点上安装适当的操作系统,如Linux或Windows Server。确保所有节点的操作系统版本和配置相同。 3. 数据库安装: - 按照数据库的安装指南,在每个节点上分别安装数据库软件。确保使用相同的版本和配置参数。 4. 共享存储设置: - 配置共享存储设备,确保所有节点都可以访问共享存储。 - 在共享存储上创建一个共享目录,用于存放数据库文件和日志文件。 5. 集群配置: - 在每个节点上编辑数据库的配置文件,指定共享存储目录作为数据库文件和日志文件的存储路径。 - 配置集群管理工具,如数据库提供的集群管理工具,以管理和监控集群的状态。 6. 启动集群: - 在每个节点上启动数据库实例,并确保所有节点都成功启动。 - 使用集群管理工具,监控集群的状态,确保各个节点之间的通信正常。 7. 测试和验证: - 运行一些测试任务,验证集群的可用性和性能。 - 测试故障转移功能,确保在节点故障时集群可以自动切换到其他可用节点。 以上是共享存储集群搭建的一般步骤。具体的操作步骤和配置可能会根据具体环境和需求有所不同。建议在搭建过程中参考数据库的官方文档或咨询数据库的技术支持团队。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值