简介:openGauss开源数据库案例
openGauss 资源池化是 openGauss 推出的一种新型的集群架构.通过 DMS 和 DSS 组件,实现集群中多个节点的底层存储数据共享和节点间的内存实时共享
达到节省底层存储资源以及集群内部支持一写多读且可以实时一致性读的目的.
本系列的主旨在于帮助对资源池化开发感兴趣的开发者快速入门
以及提供一些对开发有帮助的经验总结
开发者最好具备以下基础:
注意:
#-3rd后面跟三方库对应的绝对路径
sh build.sh -3rd /xxx/.../binarylibs -t cmake -m DebugDsstest
下面是以 2 个节点为例 3. 配置好环境变量/home/cctest/envfile, 参考示例, 其中 DSS_HOME 是 dn 实例 1 的 dssserver 运行时需要的目录, 需要手动新建
export GAUSSHOME=/home/test/openGauss-server/dest/
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$PATH
export DSS_HOME=/home/test/dss/dss0/dssdba
cd /home/test
mkdir -p dss/dss0/dssdba/cfg
mkdir -p dss/dss0/dssdba/log
mkdir -p dss/dss1/dssdba/cfg
mkdir -p dss/dss1/dssdba/log
mkdir -p dss/dev
dd if=/dev/zero of=/home/test/dss/dev/dss-dba bs=2M count=1024000 >/dev/null 2>&1
实例 1 配置:
vim /home/test/dss/dss0/dssdba/cfg/dss_inst.ini
dss 实例 1 的内容如下:
INST_ID=0
_LOG_LEVEL=255
DSS_NODES_LIST=0:***.***.***.***:17102,1:***.***.***.***:18102
DISK_LOCK_FILE_PATH=/home/test/dss/dss0
LSNR_PATH=/home/test/dss/dss0
_LOG_MAX_FILE_SIZE=20M
_LOG_BACKUP_FILE_COUNT=128
dss 卷配置:
vim /home/test/dss/dss0/dssdba/cfg/dss_vg_conf.ini
dss 实例 1 的内容如下, 里面就是卷名加 dd 模拟出来的设备名字:
data:/home/test/dss/dev/dss-dba
实例 2 配置:
vim /home/test/dss/dss1/dssdba/cfg/dss_inst.ini
dss 实例 2 的内容如下, 注意 DISK_LOCK_FILE_PATH 配置的与 1 一致:
INST_ID=1
_LOG_LEVEL=255
DSS_NODES_LIST=0:***.***.***.***:17102,1:***.***.***.***:18102
DISK_LOCK_FILE_PATH=/home/test/dss/dss0
LSNR_PATH=/home/test/dss/dss1
_LOG_MAX_FILE_SIZE=20M
_LOG_BACKUP_FILE_COUNT=128
dss 卷配置:
vim /home/test/dss/dss1/dssdba/cfg/dss_vg_conf.ini
dss 实例 2 的内容如下, 里面就是卷名加 dd 模拟出来的设备名字:
data:/home/test/dss/dev/dss-dba
##这里是步骤3中配好的环境变量
source /home/cctest/envfile
dsscmd cv -g data -v /home/test/dss/dev/dss-dba
dssserver -D /home/test/dss/dss0/dssdba &
#上个命令显示DSS SERVER STARTED即为成功
dssserver -D /home/test/dss/dss1/dssdba &
#上个命令显示DSS SERVER STARTED即为成功
#创建完可以通过如下命令确认是否建卷成功
dsscmd lsvg -U UDS:/home/test/dss/dss0/.dss_unix_d_socket
dsscmd ls -m M -p +data -U UDS:/home/test/dss/dss0/.dss_unix_d_socket
mkdir -p /home/test/data
rm -rf node1 node2
gs_intdb -D /home/test/data/node1 --nodename=node1 -U tester -w Pasword --vgname=+data --enable-dss --dms_url="0:***.***.***.***:1613,1:***.***.***.***:1614" -I 0 --socketpath='UDS:/home/test/dss/dss0/.dss_unix_d_socket'
echo "ss_enable_ssl = off
listen_addresses = '*'
port=12210
ss_enable_reform = off
ss_work_thread_count = 32
enable_segment = on
ss_log_level = 255
ss_log_backup_file_count = 100
ss_log_max_file_size = 1GB
" >> /home/test/data/node1/postgresql.conf
sed '91 ahost all all ***.***.***.***/0 sha256' -i /home/test/data/node1/pg_hba.conf
gs_intdb -D /home/test/data/node2 --nodename=node2 -U tester -w Pasword --vgname=+data --enable-dss --dms_url="0:***.***.***.***:1613,1:***.***.***.***:1614" -I 1 --socketpath='UDS:/home/test/dss/dss1/.dss_unix_d_socket'
echo "ss_enable_ssl = off
listen_addresses = '*'
port=13210
ss_enable_reform = off
ss_work_thread_count = 32
enable_segment = on
ss_log_level = 255
ss_log_backup_file_count = 100
ss_log_max_file_size = 1GB
" >> /home/test/data/node2/postgresql.conf
sed '91 ahost all all ***.***.***.***/0 sha256' -i /home/test/data/node2/pg_hba.conf
gs_ctrl start -D /home/test/data/node1
gs_ctrl start -D /home/test/data/node2
rm -rf /home/test/data/node1 /home/test/data/node2
dd if=/dev/zero of=/home/test/dss/dev/dss-dba bs=2M count=10 conv=notrunc >/dev/null 2>&1