达梦共享存储集群探讨

达梦共享存储集群探讨

一、达梦共享存储集群所要解决的问题
随着各行业对信息技术服务的依赖程度不断加深,对数据库的高可用性、大规模数据实时处理提出了更高要求。单实例数据库存在单点故障,无法提供7×24服务,在高可用性、高性能计算方面存在天然缺陷。达梦共享存储集群(DMDSC)是解决这一问题的利刃,它具有的高可用、高性能、易扩展、自动负载均衡等特性,克服了单实例数据库在大规模实时应用场景中的不足。

二、达梦共享存储集群系统架构
达梦共享存储集群通过高速存储网络将多个相互独立的节点连接在一起,实现对共享磁盘的并发读写操作。对用户而言,从外部看到的只是一个数据库。数据文件、控制文件等文件放在共享存储上,各节点平等地使用这些文件。每个节点管理一个实例,各实例拥有自己的内存空间和后台进程,通过DMCSS软件协助操作数据库。DMASM是实现存储共享的基础,它提供了分布式管理、磁盘组管理、文件管理和完备的访问接口,全局并发控制机制,实现了多节点并发访问DMASM 磁盘和文件。达梦共享存储集群架构如图1示。
在这里插入图片描述
图1 达梦共享存储集群系统架构
三、达梦共享存储集群缓存交换技术
该集群实现基础是缓存交换技术,而它的实现则依赖于GBS/LBS 服务,通过缓存交换,减少了磁盘IO。GBS/LBS服务维护Buffer 数据页的相关信息,实现全局并发访问控制要求。通过查询V D S C G B S C T L D E T A I L , 可 以 了 解 G B S 控 制 块 详 细 信 息 , 如 图 2 示 , 显 示 各 数 据 页 访 问 情 况 及 目 前 封 锁 模 式 。 M O D E 值 0 / 1 / 2 / 4 分 别 对 应 N L A T C H / X L A T C H / S L A T C H / F L A T C H 。 V DSC_GBS_CTL_DETAIL,可以了解GBS控制块详细信息,如图2示,显示各数据页访问情况及目前封锁模式。MODE值0/1/2/4分别对应N_LATCH/X_LATCH/S_LATCH/F_LATCH。V DSCGBSCTLDETAILGBS2访MODE0/1/2/4NLATCH/XLATCH/SLATCH/FLATCHVDSC_LBS_CTL_DETAIL则存储了LBS控制块详细信息, 查看V D S C L O C K , V DSC_LOCK,V DSCLOCKVDSC_TRX,V D S C T R X W A I T , V DSC_TRXWAIT,V DSCTRXWAITVDSC_TRX_VIEW,可以了解到全局活动的事务锁,事务等待,可见活动事务信息。通过对相关视图、日志和表的分析,对共享存储集群全局并发控制机制有了一定的理解。
在这里插入图片描述
图2共享存储集群全局缓冲区服务视图信息
集群对于某数据页的访问,会有3种不同角色参与,数据页申请过程如下。
1.申请节点发送请求到数据页控制节点;
2.控制节点将对应请求发送给数据页持有节点;
3.持有节点将本地持有的封锁模式进行相应改变,再将数据页发送给申请节点;
4.申请节点获得数据页后,通知数据页控制节点更新数据页相关封锁模式。如图3所示。
在这里插入图片描述
图3 数据页申请过程

四、达梦共享存储集群运维常用工具
1.通过DEM 对集群各节点进行监控,及时发现故障和异常。DEM以WEB界面形式实现对数据库及集群系统的管理和监控,运维人员通过DEM,可监测到DSC系统各指标,图4、5、6为自己测试环境监控情况。
在这里插入图片描述
图4 DEM对共享存储集群状态监控
在这里插入图片描述
图5 DEM对共享存储集群监控选项
在这里插入图片描述
图6 DEM对共享存储集群各子项监控
2. Linux系统中,iostat, top, iotop, uptime, free,netstat,ps等命令,为运维人员查看运行环境网络、CPU、内存和磁盘IO等指标提供便捷。图7为top命令显示系统CPU、内存、swap交换分区使用状况。
在这里插入图片描述
图7 通过系统命令查看运行状态
3.达梦数据库系统跟踪日志、事件日志及各子模块日志记录了各会话执行操作、参数信息、错误信息,以及系统启动、关闭、内存申请失败、IO 错误等一些日志,其是错误分析和性能分析的重要参考。
在这里插入图片描述
图8 日志文件记录CSS进程运行部分日志
五、小结 达梦共享存储集群作为一个实例级别冗余的产品,为用户提供了高可用性、高吞吐量、负载均衡的优势。优越性显而易见,但在实践中,仍要着重考虑该集群的适用场合和一些局限,例如对存在全文索引、闪回查询等应用的特定场合则需慎重考虑,同时它对运维人员的能力提出更高要求。另外,对于数据文件级别的冗余也需要权衡,将实例级别和数据层面的冗余结合起来,形成一个完备的可靠系统,即将达梦共享存储集群和数据守护集群结合起来,也是一个不错的选择。