当前位置: 首页 > news >正文

DM 数据库集群共享存储集群:架构解析与实战部署指南

一、DM 数据库集群共享存储集群:架构与原理

1.1 DSC 集群:概念与价值

DM 数据库集群共享存储集群 (简称 DSC) 是达梦数据库提供的一种高可用、高性能的集群方案。与主备架构不同, DSC 允许多个数据库实例同时访问同一份磁盘数据, 从而实现了计算节点的冗余与负载均衡。其核心价值在于:

  1. 高可用性: 当某个节点发生故障时, 其他节点可以无缝接管业务, 避免单点故障。
  2. 高性能: 多节点并行处理请求, 提升系统整体吞吐量。
  3. 资源利用率高: 共享一份存储, 降低了存储成本和数据同步开销。

1.2 共享存储:底层机制与 ASM

在 DM 数据库集群共享存储集群中, 所有节点共享底层存储。为了保证文件的一致性, DSC 引入了达梦自动存储管理器 (ASM)。ASM 负责管理共享磁盘, 提供条带化、镜像等功能, 屏蔽了底层裸设备的复杂性。其架构如下:

心跳网络

客户端应用

DSC 节点 1

DSC 节点 2

ASM 集群

共享磁盘阵列

通过 ASM, DSC 集群能够统一管理数据文件、控制文件和日志文件, 确保各节点读取到的数据是一致的。

1.3 网络与锁:集群通信与并发控制

DSC 集群依赖于两种网络:

  1. 业务网络: 用于客户端连接和业务数据传输。
  2. 心跳网络: 用于节点间的通信、心跳检测以及锁信息的交互。

为了保证多个节点并发访问同一数据块时的数据一致性, DSC 采用了分布式锁管理器 (DLM)。当节点需要修改数据时, 必须先向 DLM 申请锁。通过内部高速网络交互锁信息, DLM 确保了在高并发下的数据正确性。

二、集群规划与部署:环境准备与配置

2.1 环境准备:网络与磁盘规划

部署 DM 数据库集群共享存储集群前, 需要进行严格的环境规划。以两节点 DSC 为例:

  1. 节点 1 (DSC01): 业务 IP 192.168.1.11, 心跳 IP 10.0.0.11。
  2. 节点 2 (DSC02): 业务 IP 192.168.1.12, 心跳 IP 10.0.0.12。
  3. 共享存储: 划分至少 3 个裸磁盘, 分别用于 DCRCFG (集群配置)、VOTE (表决磁盘)、DATA (数据存储)。

2.2 存储配置:ASM 磁盘组划分

在两个节点上配置 UDEV 规则, 绑定裸设备。假设绑定后的裸设备为 /dev/raw/raw1, /dev/raw/raw2, /dev/raw/raw3。

接着, 使用 dmasmcmd 工具初始化磁盘:

# 初始化 DCRCFG 磁盘 dmasmcmd create dcrdisk '/dev/raw/raw1' 'DCR' create votedisk '/dev/raw/raw2' 'VOTE' create asmdisk '/dev/raw/raw3' 'DATA' 0 0

初始化完成后, 需要配置 dmdcr.ini 文件, 该文件包含了 ASM 集群和 DB 集群的配置信息。

2.3 参数配置:dmdcr 与 dmasvrmal 设置

在两个节点上分别创建 dmdcr.ini 配置文件。节点 1 的配置如下:

DCR_N_GRP = 3 DCR_VTD_PATH = /dev/raw/raw2 DCR_OGUID = 63635 [GRP_ASM] DCR_GRP_TYPE = ASM DCR_GRP_NAME = GRP_ASM DCR_GRP_N_EP = 2 DCR_GRP_DSK_CHK_CNT = 60 [GRP_ASM_EP0] DCR_EP_NAME = ASM0 DCR_EP_SEQNO = 0 DCR_EP_IP = 10.0.0.11 DCR_EP_PORT = 9345 DCR_EP_ASM_LOAD_PATH = /dev/raw [GRP_ASM_EP1] DCR_EP_NAME = ASM1 DCR_EP_SEQNO = 1 DCR_EP_IP = 10.0.0.12 DCR_EP_PORT = 9345 DCR_EP_ASM_LOAD_PATH = /dev/raw

同时, 配置 dmasvrmal.ini 文件用于 ASM 节点间通信:

[MAL_INST0] MAL_INST_NAME = ASM0 MAL_HOST = 10.0.0.11 MAL_PORT = 9346 [MAL_INST1] MAL_INST_NAME = ASM1 MAL_HOST = 10.0.0.12 MAL_PORT = 9346

节点 2 的配置类似, 只需将对应节点的 IP 和 SEQNO 进行调整。

三、集群启动与运维:管理实战指南

3.1 集群启停:服务顺序与命令

启动 DM 数据库集群共享存储集群需要严格按照顺序执行:

  1. 启动 ASM 集群: 在两个节点分别执行 dmasmsvr 命令。
  2. 启动 DMCSS 服务: 在两个节点分别执行 dmcss 命令。
  3. 启动数据库实例: 在两个节点分别执行 dmserver 命令。

启动 ASM 的示例命令:

./dmasmsvr dcr_ini=/dm/data/dmdcr.ini

启动数据库实例的示例命令:

./dmserver /dm/data/dsc/dm.ini dcr_ini=/dm/data/dmdcr.ini

停止集群时, 顺序相反, 先停数据库, 再停 CSS, 最后停 ASM。

3.2 日常运维:监控与故障处理

对于 DM 数据库集群共享存储集群, 日常运维主要关注节点状态和网络心跳。可以使用 dmcssm 工具监控集群状态:

./dmcssm ini_path=/dm/data/dmcssm.ini

在监控界面中, 可以查看各节点 (ASM 和 DB) 的运行状态。如果发现节点被踢出, 需检查:

  1. 心跳网络是否正常。
  2. 磁盘 I/O 是否存在瓶颈。
  3. 节点系统资源是否耗尽。

3.3 测试验证:故障切换与负载均衡

部署完成后, 需进行高可用测试。通过 kill 掉节点 1 的 dmserver 进程, 观察节点 2 是否能正常接管。同时, 配置客户端的 JDBC 连接串, 启用负载均衡:

jdbc:dm://192.168.1.11:5236,192.168.1.12:5236?epSelector=1&loginMode=2

通过此连接串, 客户端请求将均匀分布到两个节点, 实现了真正意义上的负载分担与高可用。

http://www.jsqmd.com/news/1379015/

相关文章:

  • 终极指南:如何安全禁用Windows Defender的5种方法与完整恢复方案
  • Playwright vs Puppeteer vs Selenium:2026年Web自动化终极选型指南
  • 双荧光素酶报告基因系统的技术原理、应用策略与实验优化
  • 2026颍上装修实测:颍上元和世家装饰,环保材料+闭口零增项到底怎么样? - 推途云
  • 公众号如何嵌入投票活动?云众评选分享链接嵌入教程 - 微信投票小程序
  • XAgent任务树与多Agent协作:动态规划与自我修正机制详解
  • 动态顺序表原理与Java实现深度解析
  • 从“枕靥”项目看AI视频应用工程化:FastAPI+Docker构建演示系统
  • CSP-J真题深度解析:从知识点溯源到解题思维构建
  • 如何快速掌握FreeReNamer:面向新手的完整文件批量重命名教程
  • Windows 10 命令行部署 MySQL 8.4 全流程指南与配置详解
  • GetQzonehistory终极指南:如何快速备份你的QQ空间历史数据
  • 2026株洲装修实测:株洲中策装饰,本土12年一条龙整装到底怎么样? - 推途云
  • AI编程助手实战:从Grok到Cursor,提升开发效率的核心配置与应用
  • 本地LLM部署效能诊断:从模型量化到RAG的系统优化指南
  • CVE-2023-22809漏洞解析:sudoedit权限提升的逻辑漏洞与防御实践
  • Maven 4重构:依赖解析与构建性能的革命性升级
  • Ubuntu 20.04配置Intel RealSense D435i深度相机完整指南与避坑实践
  • 如何实现闲鱼自动回复与客服自动化?isTrusted事件注入,浏览器视为真人操作
  • 华硕笔记本终极控制工具G-Helper:3步实现系统性能革命性优化
  • 2026西门子全系列代理商实力盘点:覆盖变频器、PLC与伺服系统甄选浙江拓峰 - 栗子测评
  • 【回眸】GPT-5.6 Luna 深度评测
  • Kimi K3开源大模型:2.8万亿参数部署实战与混合专家架构解析
  • 企业AI转型:跨越研发鸿沟的技术与组织实践
  • 从零构建生产级AI智能体:基于LangChain的工程化实践指南
  • Windows UAC绕过技术深度解析:原理、实践与防御策略
  • 2026 年 8 月惠州惠阳防水补漏公司对比评测:卫利奥防水补漏(惠阳大亚湾优选) - 启航优客
  • LLM应用开发:为何不能直接索要置信度及四种可靠评估方案
  • verilog HDLBits刷题[Verification:Writing Testbenches]“Tb/tb1”---Testbench1
  • 大语言模型核心原理:从分词、向量化到Transformer计算全解析