一、共享存储集群介绍
DM Data Shared Cluster (DMDSC) 允许多个数据库实例同时访问和操作同一数据库,具备高可用、高性能和负载均衡特性,并支持故障自动切换和自动重加入。某个实例故障不会导致数据库服务中断。
DMDSC 是多实例、单数据库系统。多个实例可同时访问和修改同一个数据库。用户可登录任意实例,享受完整数据库服务。数据文件和控制文件在共享存储上只有一份,所有节点平等使用;各节点有独立的联机日志和归档日志,这些日志也需保存在共享存储上。
DMDSC 集群主要由数据库和数据库实例、共享存储、DMASM 或 DMASM 镜像、本地存储、通信网络、集群控制软件 DMCSS、集群监视器 DMCSSM 组成。DMDSC 集群最多支持 8 个数据库实例节点。
两节点的 DMDSC 集群系统结构图如下:
DMDSC 主要特点包括:
- 高可用性:集群中只要有一个活动节点,数据库服务即可正常提供。当出现磁盘损坏或数据丢失时,可利用镜像副本继续服务或进行数据恢复。
- 高吞吐量:多个节点同时提供数据库服务,显著提升集群的整体事务处理能力。
- 负载均衡:通过服务名分配连接请求,确保各节点间的负载平衡;条带化技术保证数据均匀分布在不同磁盘上,实现数据负载均衡。
二、DMDSC 实现原理
DMDSC 是一个共享存储的数据库集群系统。多个数据库实例同时访问、修改同一个数据库,因此必然带来了全局并发问题。DMDSC 集群基于单节点数据库管理系统之上,改造了 Buffer 缓冲区、事务系统、封锁系统和日志系统等,来适应共享存储集群节点间的全局并发访问控制要求。同时,引入缓存交换技术,提升数据在节点间的传递效率。
(一)DMCSS 介绍
达梦集群同步服务(DMCSS)是 DMASM 集群或 DMDSC 集群的必要配置,每个节点都需配置 DMCSS 服务。这些 DMCSS 服务构成一个集群,其中负责监控和管理整个集群的称为控制节点(Control Node),其他为普通节点(Normal Node)。普通节点不参与管理,但控制节点故障时,会从普通节点中选出新的控制节点。
DMCSS 的基本原理是在 VOTE 磁盘(非镜像)或 DCRV 磁盘(镜像)中分配存储区域,被监控对象定时写入信息;控制节点定时读取这些信息,检查状态变化并启动相应处理流程。被监控对象被动接收命令并响应。
DMCSS 主要功能包括:写入心跳信息、选举控制节点、管理启动流程、监控集群状态、处理节点故障和节点重加入,并可接收执行 DMCSSM 指令。
(二)DMASM 介绍
DM 自动存储管理器(DMASM)是专用的分布式文件系统。直接使用块设备作为 DMDSC 的共享存储会因其功能限制导致使用和维护不便。为克服这些限制,DM 设计了 DMASM 来灵活管理块设备的磁盘和文件,为 DMDSC 提供完美的解决方案。
DMASM 提供了便捷的管理方案,其主要部件包括:块设备、DMASMSVR 服务器、DMASMAPI 接口、初始化工具 DMASMCMD 和管理工具 DMASMTOOL 等。
DMASM结构图如下:
(三)DMASM 镜像介绍
共享存储上的数据非常宝贵,为确保其安全性和高可用性,达梦提供了 DMASM 镜像功能。镜像是 DMASM 的重要功能,具备多副本和条带化特性。
多副本技术确保同一数据的多个副本分别写入不同磁盘,仅一个主副本对外提供服务,其余作为镜像副本。当主副本故障时,系统自动从镜像副本中挑选一个继续服务。条带化技术保证数据均匀分布在磁盘组内,实现负载均衡。
DMDSC 使用配置了镜像功能的 DMASM 管理块设备作为共享存储,当磁盘损坏或数据丢失时,可利用镜像副本继续提供服务或进行数据恢复。
DMASM 镜像结构图如下: