达梦数据库DSC集群部署
前言
提示:
达梦的DSC集群式和Oracle RAC集群同架构的解决方案,属于RAC的国产化平行替代产品。
在实际的生产环境中不管是DSC集群还是RAC集群对硬件环境都有较高的要求。
在生产环境中硬件需求:
1、2台服务器,CPU:最少32核,内存:256G,本地磁盘:1T ,安装Linux操作系统
2、每台服务器需要有2张网卡,最少一张万兆,一张千兆。
3、一台存储阵列
4、最少一台万兆网络交换机,一台千兆网络交换机,一台存储交换机
5、HBA卡,16GB/s,存储和服务器连接需要通过存储交换机,每台服务器至少需要一张HBA卡
共享存储的需求:
1、存储空间和预期业务数据有关,例如预计数据量为3T,建议空间规划如下:
2、2个1GB的LUN 用于存储 [dcr,vote]
3、1个100G的LUN 用于存储[redo]
4、N个500G的LUN,(N=3T*2/500) 用于存储[数据3TB,备份,归档日志]
提示:以下仅以测试环境为例,实验达梦DSC的部署过程
一、部署前准备
1、 集群规划
集群规划如下:
| 指标项 | A节点 | B节点 | 共享存储 |
|---|---|---|---|
| 节点IP | 10.12.10.78 | 10.12.10.79 | 10.12.10.77 |
| 实例名 | DSC1 | DSC2 | \ |
| 实例端口 | 5236 | 5236 | \ |
| 数据库安装路径 | /dm8/dmdbms | /dm8/dmdbms | \ |
| 配置文件路径 | /dm8/config | /dm8/config | \ |
| 本地归档路径 | /dm8/arch_1 | /dm8/arch_2 | \ |
| CSS端口 | 5336 | 5337 | \ |
| DCR检查端口 | 5536 | 5537 | \ |
| DCR_OGUID | 45331 | 45331 | \ |
2、相关概念解释
了解DSC集群的基本架构和工作原理可以更好理解DSC,做到知其然知其所以然。特别是遇到问题或故障的时候可以准确的判断出故障的位置,进而做到精确的排错。
1、集群架构图

2、架构说明
- 1、DMDSC 集群是一个多实例、单数据库的系统。 多个数据库实例可以同时访问、修改同一个数据库的数据。
- 2、数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件, 这些文件保存在共享存储上。
- 3、 每个节点有自己独立的联机日志和归档日志,其中联机日志保存在共享存储上,归档日志可以保存在本地存储上也可以保存在共享存储上。
- 4、DMDSC 支持的共享存储有两种:裸设备和DMASM。 使用 DMASM 文件系统可以方便对裸设备上的磁盘或文件进行管理,推荐用户使用。
- 5、DMDSC 集群主要由数据库和数据库实例、 共享存储、 本地存储、 通信网络、以及集群控制软件 DMCSS 组成。
3、服务说明
达梦DSC集群主要依赖以下几个服务的协作来实现:
DMCSS(DM Cluster Synchronization Services)
DMCSS 是 DM 集群同步服务的简称,是 DMDSC 集群应用的基础, DMCSS 负责集群环境中节点的启动、 故障处理、 节点重加入等操作。每个集群节点都需要有一个 DMCSS 服务。这些 DMCSS 服务又共同构成一个 DMCSS 集群。
DMCSSM(DM Cluster Synchronization Services Monitor)
DMCSSM是 DM 集群监视器的简称。 DMCSSM 与 DMCSS 相互通信,获取并监控整个集群系统的状态信息。 DMCSSM还提供了一系列的命令来管理、维护集群。
DMASMSVR
DMASMSVR 是提供 DMASM 服务的主要载体,每个提供 DMASM 服务的节点都必须启动一
个 DMASMSVR 服务器,这些 DMASMSVR 一起组成共享文件集群系统,提供共享文件的全局
并发控制。 DMASMSVR 启动时扫描/dev/raw/路径下的所有裸设备,加载 DMASM 磁盘,构
建 DMASM 磁盘组和 DMASM 文件系统。 DMASMSVR 实例之间使用 MAL 系统进行信息和数据
的传递。
4、运行机制
除了必要的服务以外DSC集群内部还有一些组件来为整个集群提供运行基础
DCR(DM Clusterware Registry)
DCR 是 DM 集群注册表的简称,用于存储、维护集群配置的详细信息,整个集群环境共享 DCR 配置信息,包括 DMDSC、 DMASM、 DMCSS 资源,包括实例名、 监听端口、 集群中故障节点信息等。 DCR 必须存储在集群中所有节点都可以访问到的共享存储中, 并且只支持裸设备。 在一个集群环境中只能配置一个 DCR 磁盘。
表决磁盘(Voting Disk)
表决磁盘记录了集群成员信息, DM 集群通过 Voting Disk 进行心跳检测,确定集群中节点的状态,判断节点是否出现故障。 当集群中出现网络故障时,使用 Voting Disk来确定哪些 DMDSC 节点应该被踢出集群。表决磁盘还用来传递命令,在集群的不同状态(启动、节点故障、节点重加入等) DMCSS 通过 Voting Disk 传递控制命令,通知节点执行相应命令。 Voting Disk 必须存储在集群中所有节点都可以访问到的共享存储中, 并且只支持裸设备。 在一个集群环境中只能配置一个表决磁盘。
HeartBeat(心跳机制)
DMCSS 的心跳机制是通过 Voting Disk 的 Disk Heartbeat。这种机制有最大时延,只有超过最大时延,才认为监测对象故障。
MAL 链路
MAL 系统是达梦数据库基于 TCP 协议实现的一种内部通信机制,使用 DMASM 文件系统的 DMDSC 集群中存在两套 MAL 系统, DMASM 服务器之间配置一套 MAL 系统, dmserver 服务器之间配置一套 MAL 系统。一旦 MAL 链路出现异常,DMCSS 会进行裁定,并从集群中踢出一个节点,保证集群环境正常运行。
共享内存
共享内存是一种快速、高效的进程间通信手段。所谓共享内存,就是同一块物理内存被映射到多个进程的地址空间,进程 A 可以即时看到进程 B 对共享内存的修改,反之亦然。DMASM 服务器进程和 DMASM 客户端进程之间通过共享内存方式共享 DMASM 文件到实际磁盘的映射关系。
VIP
VIP(虚拟IP地址),是一个不与特定计算机或者计算机中的网络接口相连的IP地址。数据包被发送到这个 VIP 地址,但是所有的数据还是经过真实的网络接口。在集群环境中,应用通过 VIP 连接数据库服务器,实例故障后,把实例配置的 VIP 设置到其他活动节点(叫做 IP 漂移),这样应用可以不用修改配置,继续访问数据库服务。
二、共享存储搭建
说明:实验环境没有真实的共享存储设备,为了满足部署条件,本章节介绍如何使用虚拟机或者一台Linux服务器自行搭建一套IP-SAN共享存储。
SAN (存储区域网络 storage area network and SAN protocols ,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输。常见的分类是FC-SAN和IP-SAN两种。
FC-SAN通过光纤通道协议转发scsi协议;IP-SAN通过TCP协议转发scsi协议,也就是IP 地址。
1、磁盘准备
首先在服务器上挂载一块或多块新的磁盘,或者创建一个或多个新的磁盘分区用于作为共享存储使用
使用fdisk 可以创建新的分区。挂载新的磁盘就不展开说明了。
我这边增加了2块磁盘用于组建共享存储分别是:/dev/sdb 和 /dev/sdc
2、安装相关软件包
[root@node01 ~]# yum -y install scsi-target-utils
3、编写配置文件
包安装完成后会自动生成这个配置文件,在原有配置文件下追加即可。
[root@node01 ~]# vim /etc/tgt/targets.conf
<target iqn.2021-12.cn.node01.www:target> ##这里是共享存储的名字 iqn.2021-12.cn.node01.www,可以根据实际情况修改
backing-store /dev/sdb # 这里是增加的磁盘
backing-store /dev/sdc # 这里是增加的磁盘
initiator-address 10.12.10.78 # 这里访问控制列表
initiator-address 10.12.10.79 # 这里访问控制列表
</target>
4、启动服务
启动服务并将服务加入到启动项
[root@node01 ~]# systemctl restart tgtd.service
[root@node01 ~]# chkconfig tgtd on
5、通过命令查看存储是否部署成功
执行tgt-admin --show 命令效果如下即为成功。
[root@node01 ~]# tgt-admin --show
Target 1: iqn.2021-12.cn.node01.www:target
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 10737 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: rdwr
Backing store path: /dev/sdb
Backing store flags:
LUN: 2
Type: disk
SCSI ID: IET 00010002
SCSI SN: beaf12
Size: 8590 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type

本文详细介绍达梦DSC集群的部署过程,包括集群规划、共享存储搭建、集群部署及应用连接配置等内容。
最低0.47元/天 解锁文章
3802





