数据库故障排查,视频教程等,+微 DBAUTOS
DM Shared Storage Database Cluster (DMDSC)
DM Shared Storage Database Cluster(简称 DMDSC)是一种先进的数据库集群架构,允许多个数据库实例同时访问和操作同一个数据库。DMDSC 集群具备以下显著特性:
- 高可用性:支持故障自动切换和故障自动重加入功能。即使某个数据库实例出现故障,数据库服务仍可正常运行,确保业务连续性。
- 高性能与负载均衡:通过多实例协同工作,优化资源利用,提升整体性能。
- 多实例、单数据库架构:多个数据库实例能够实时访问和修改同一数据库中的数据。用户可以登录集群中的任意一个数据库实例,获得完整且一致的数据库服务体验。
集群架构
- 数据文件与控制文件:在集群系统中仅存储一份,所有节点平等地使用这些文件。这些文件保存在共享存储上。
- 日志管理:每个节点拥有独立的联机日志和归档日志,且这些日志也需保存在共享存储中,以确保数据的一致性和完整性。
组成部分
DMDSC 集群主要由以下组件构成:
- 数据库及其实例:核心数据处理单元。
- 共享存储:存储数据文件、控制文件和日志文件。
- DMASM 或 DMASM 镜像:用于管理共享存储。
- 本地存储:节点的本地存储空间。
- 通信网络:节点间通信的网络基础设施。
- 集群控制软件 DMCSS:用于集群的管理和控制。
- 集群监视器 DMCSSM:用于监控集群的状态。
DMDSC 集群最多支持 8 个数据库实例节点,能够灵活满足不同规模业务的需求。
系统架构图
下图展示了一个典型的两节点 DMDSC 集群系统架构图:
DMDSC 实现原理
DMDSC(达梦共享存储数据库集群)是一个创新的数据库集群系统,它通过共享存储技术,使得多个数据库实例能够同时访问和修改同一个数据库。这种设计虽然提高了资源的利用率,但也带来了全局并发控制的挑战。为了解决这一问题,DMDSC 集群在传统的单节点数据库管理系统的基础上,对Buffer缓冲区、事务系统、封锁系统和日志系统等关键组件进行了改造,以适应共享存储集群节点间的全局并发访问控制需求。此外,DMDSC 还引入了缓存交换技术,以提升数据在节点间的传递效率。
DMCSS 介绍
达梦集群同步服务(Dameng Cluster Synchronization Services,简称 DMCSS)是 DMASM 集群或 DMDSC 集群运行的必备服务。在这些集群中,每个节点都需要配置一个 DMCSS 服务。这些 DMCSS 服务自身也构成一个集群,其中负责监控和管理整个 DMASM 集群和 DMDSC 集群节点的 DMCSS 服务称为控制节点(Control Node),其他 DMCSS 节点称为普通节点(Normal Node)。普通节点不参与集群管理,当 DMCSS 控制节点发生故障时,系统会从活动的普通节点中重新选举一个 DMCSS 控制节点。
DMCSS 的工作原理是在 VOTE 磁盘(非镜像环境)或 DCRV 磁盘(镜像环境)中为每个被监控对象(如 DMASMSVR、DMSERVER、DMCSS)分配独立的存储区域。被监控对象定时向这些磁盘写入信息(包括时间戳、状态、命令及其执行结果等)。DMCSS 控制节点定时从磁盘读取信息,检查被监控对象的状态变化,并启动相应的处理流程。被监控对象仅被动接收 DMCSS 控制节点的命令,执行并响应。
DMCSS 的主要功能包括写入心跳信息、选举 DMCSS 控制节点、选取 DMASM/DMDSC 控制节点、管理被监控对象的启动流程、集群状态监控、节点故障处理、节点重加入等。DMCSS 还可以接收并执行来自 DMCSSM 的指令。
DMASM 介绍
DM 自动存储管理器(DM Auto Storage Manager,简称 DMASM)是一个专用的分布式文件系统。如果 DMDSC 直接使用块设备作为共享存储来存放数据库文件,会因块设备的功能限制导致 DMDSC 集群在使用和维护上的不便。为了克服这些限制,DM 设计了 DMASM 来管理块设备的磁盘和文件,为 DMDSC 灵活管理和使用块设备提供了完美的解决方案。使用 DMASM 自动存储管理方案可以帮助用户更便捷地管理 DMDSC 集群的数据库文件。
DMASM 的主要部件包括提供存储服务的块设备、DMASMSVR 服务器、DMASMAPI 接口、初始化工具 DMASMCMD 和管理工具 DMASMTOOL 等。
DMASM 镜像介绍
为了保障共享存储上数据的安全性和高可用性,达梦提供了 DMASM 镜像功能。镜像是 DMASM 的一个重要功能,提供了多副本和条带化功能。多副本技术确保同一数据的多个副本分别写入不同的磁盘中,只有一个副本作为主副本对外提供服务,其余作为镜像副本。当主副本发生故障时,系统会自动从镜像副本中选择一个继续提供服务。条带化技术确保写入的数据均匀分布到磁盘组内的不同磁盘中,实现负载均衡。
DMDSC 采用配置了镜像功能的 DMASM 管理的块设备作为共享存储。当出现磁盘损坏或数据丢失时,既可以利用其他镜像副本继续提供数据库服务,又可以使用其他镜像副本进行数据恢复。
下图为一个部署了 DMASM 镜像的 DMDSC 集群结构图: