openGauss5.1数据库管理指南:资源池化开发者环境部署指南
内容简介
openGauss资源池化是openGauss推出的一种新型的集群架构。该架构通过DMS和DSS组件,实现集群中多个节点的底层存储数据共享和节点间的内存实时共享,达到节省底层存储资源以及集群内部支持一写多读且可以实时一致性读的目的。 本文主要介绍开发者如何搭建一个可以用于自己学习或者开发的资源池化环境,请不要应用于生产场景。
预备知识
开发者最好具备以下基础:
- Linux的基础命令,比如dd命令,iscis等。
- 对磁阵有一定的了解。
- 对传统的openGauss编译方式十分熟悉。
注意事项
- 资源池化部署图参考:
图1: openGauss资源池化部署图
在社区上正式发布的企业版安装包中,如果需要搭建资源池化架构,在硬件上需要准备磁阵,服务器和光交换机,且需要部署CM和OM组件。
本文主要介绍可用于开发者进行开发的编译环境搭建方式,不需要磁阵、CM和OM组件,仅需要一台普通的物理机就可以搭建出资源池化的环境。
需要注意的是,因为没有使用到真正的CM,这种方式搭建的环境仅能够模拟集群内状态切换的场景,实际开发时还应当在磁针环境进行验证。
环境预备
- 一台单独的物理机,且至少存在一个剩余空间大于1000GB的磁盘分区。
- 已经自行使用编译方式编译出了openGauss带资源池化代码的debug版本的安装包,可以通过确认生成的bin目录下是否有dssserver,dsscmd,lib目录下是否有libdms.so,libdssapi.so ,libdssaio.so来判断,同时要保证编译openGauss时使用的是测试版本的DSS组件和DMS组件,详细参考下面的步骤。
独立编译安装指南
注意:
以下部署操作请勿用于生产环境
说明:
- openGauss必须用Debug模式编译,不能使用Release模式,DMS和DSS组件需要使用测试版本。
- 手动编译安装的方式中,没有包含CM和OM组件,而正式的使用环境中DSS组件和DMS组件对CM有依赖,所以在编译openGauss之前需要先用测试的模式分别编译DSS和DMS组件,参考下面的编译方式说明。
编译测试版本的DSS组件。
a.下载最新版本CBB代码,编译安装替换三方库中的CBB,CBB组件可以使用Release版本。
b.下载最新版本的DSS代码,并根据src/gausskernel/ddes/ddes_commit_id内的版本号,回退DSS至指定版本。
c.编译安装替换三方库中的DSS组件,命令如下(DSS_CODE_PATH表示解压后的DSS源码目录,ThirdParty_Binarylibs_Path表示解压后的三方库目录):
#-3rd后面跟三方库对应的绝对路径
cd [DSS_CODE_PATH]/build/linux/opengauss
sh build.sh -3rd [ThirdParty_Binarylibs_Path] -t cmake -m DebugDsstest
a.下载最新版本CBB代码,编译安装替换三方库中的CBB(如果在编译DSS组件中已经执行过该步骤,则本次可以跳过)。
b.下载最新版本的DMS代码,并根据src/gausskernel/ddes/ddes_commit_id内的版本号,回退DMS至指定版本。
c.编译安装替换三方库中的DMS组件,命令如下(DMS_CODE_PATH表示解压后的DMS源码目录,ThirdParty_Binarylibs_Path表示解压后的三方库目录):