openGauss资源池化开发者入门指南(二)

一、内容简介

openGauss 资源池化是 openGauss 推出的一种新型的集群架构.通过 DMS 和 DSS 组件,实现集群中多个节点的底层存储数据共享和节点间的内存实时共享

达到节省底层存储资源以及集群内部支持一写多读且可以实时一致性读的目的.

本系列的主旨在于帮助对资源池化开发感兴趣的开发者快速入门

以及提供一些对开发有帮助的经验总结

二、预备知识

开发者最好具备以下基础:

  1. Linux 的基础命令,比如 dd 命令,iscis 等
  2. 对磁阵有一定的了解
  3. 对传统的 openGauss 编译方式十分熟悉

三、开发自验证编译安装指南

  1. 资源池化架构参考:
  2. 在社区正式发布的版本中, 如果需要搭建资源池化架构, 硬件上需要准备磁阵, 服务器和光交换机.
  3. 在社区正式发布的版本中, CM 和 OM 是必选的组件
  4. 这里介绍一种可以用于开发者自己学习或开发的编译环境搭建方式, 不需要 cm 和 om, 不需要磁阵, 仅需要一台普通的物理机就可以搭建出资源池化的环境.
  5. 需要注意的是, 因为没用到 cm, 这种方式搭建的环境不能用于调试主备倒换或 failover 场景, 只能用于验证集群正常运行时的场景

四、独立编译安装指南

注意:

  • 以下请勿用于生产环境
  • 必须是 debug 版本,不能用 release 版本
  • 因为本博客介绍的安装方式为非 cm 安装,需要对 DSS 组件使用 Dsstest 方式进行编译,因此在编译数据库之前,需要下载 DSS 对应代码并自行采用 dsstest 方式对 DSS 进行编译。方法为 a.下载最新版本 CBB 代码,编译安装替换三方库中的 CBB; b.下载最新版本的 DSS 代码,并根据 src/gausskernel/ddes/ddes_commit_id 内的版本号,回退 DSS 至指定版本; c.编译安装替换三方库中的 DSS 组件,命令如下:

#-3rd后面跟三方库对应的绝对路径 sh build.sh -3rd /xxx/.../binarylibs -t cmake -m DebugDsstest