资源池化特性介绍
特性简介
资源池化特性主要提供主备机共享一份存储的能力,提供一种新的高可用部署形态,解决传统的高可用部署下存储容量较单机翻倍的问题,满足降低存储容量及成本的诉求,同时备机支持实时一致性读。
架构介绍
资源池化整体架构图如图1所示。
读写节点和只读节点共享一份底层存储。
读写节点和只读节点之间通过TCP或RDMA协议使用DMS组件共享Shared Buffer Pool中的热数据页。
读写节点和只读节点通过DSS API和DSS Server的协同访问底层共享存储中的持久化的数据。
资源池化依赖于以下两个组件:
分布式存储服务DSS(Distributed Storage Service)
DSS组件分为DSSAPI和DSSSERVER。DSSSERVER是独立进程,直接管理磁阵裸设备,并对外提供类似分布式文件系统的能力;DSSAPI是动态库,集成在数据库内部。DSS组件通过共享内存和客户端API动态库,为数据库提供创建文件、删除文件、扩展和收缩文件、读写文件的能力。
分布式内存服务DMS(Distributed Memory Service)
DMS是动态库,集成在数据库内部,通过TCP / RDMA网络传输PAGE内容,将主备内存融合,提供内存池化能力,以此实现备机实时一致性读功能。
磁阵,磁盘阵列。把多块独立的硬盘按不同的方式组合起来形成一个硬盘组,从而提供比单个硬盘更高的存储性能。
资源池化方案依赖于磁阵设备,磁阵的LUN需要支持SCSI3的PR协议(包括PR OUT(“PERSISTENT RESERVE OUT”)PR IN(“PERSISTENT RESERVE IN”)和INQUIRY),用于实现集群IO FENCE。除此之外,还需要支持SCSI3的CAW协议(COMPARE AND WRITE),用于实现共享磁盘锁。如Dorado 5000 V3磁阵设备。
功能特点
- 主备共享一份数据,显著降低传统高可用方案的存储容量。
- 主备之间去除了日志复制功能,增加了主备页面交换功能,备机支持实时一致性读。
- 默认情况下,主备之间是通过TCP网络进行页面实时交换。为了降低页面交换的延迟,可选通过OCK RDMA动态库加速备机实时一致性的性能。
主备页面交换通过RDMA加速,依赖CX5网卡,并且依赖OCK RDMA动态库。
适用场景与限制
参考资源池化当前架构特性约束。