已部署了单机的opengauss 6.0 LTS 企业版,现在想要再做个备机, 没找到相关操作文档。
1 系统版本 centos7.9
2 数据库版本 6.0 LTS
请问有具体的操作文档或者步骤吗?
已部署了单机的opengauss 6.0 LTS 企业版,现在想要再做个备机, 没找到相关操作文档。
1 系统版本 centos7.9
2 数据库版本 6.0 LTS
请问有具体的操作文档或者步骤吗?
答案内容由AI生成,仅供参考:
| 任务 | 说明 |
|---|---|
| 已部署 openGauss 6.0 LTS 单机版(CentOS 7.9) | |
| 不支持 | |
| 备份 → 重新部署主备集群 → 恢复数据 | |
| openGauss 6.0 LTS 支持主备部署 | |
上下文中提到的 openGauss 6.0 LTS High Availability Primary-Backup Deployment on openEuler 是同类部署模式,逻辑一致,仅操作系统为 openEuler;本文适配至 CentOS 7.9 环境 |
您已在 CentOS 7.9 系统上部署了 openGauss 6.0 LTS 企业版 的单机实例,现希望在此基础上扩展为高可用的主备架构。根据您的需求,以下是基于现有上下文信息整理的详细指导。
gs_preinstall 和 gs_install 配置集群部署或使用批量部署工具(如 PTK),支持从单节点扩展为多节点。| 组件 | 要求 |
|---|---|
| 操作系统 | CentOS 7.6 或 CentOS 7.9(您已满足) |
| 数据库版本 | openGauss 6.0 LTS |
| 软件包 | openGauss 企业版安装包(需包含 OM 和 CM 模块) |
| CPU架构 | x86_64 或 ARM64 |
| 节点数量 | 至少 2 台服务器或虚拟机(1主 + 1备) |
| 网络配置 | 主备节点间可通信,关闭防火墙和 SELinux |
| 时间同步 | 所有节点时间需同步(建议使用 NTP) |
由于无法直接在运行中的单机上添加备机,推荐以下迁移式部署流程。
# 切换到 omm 用户
su - omm
# 使用 gs_dump 导出数据
gs_dump postgres -f /data/backup/opengauss_backup.sql -p 5432
建议同时备份配置文件(如
postgresql.conf,pg_hba.conf)
cp $GAUSSHOME/data/single_node/*.conf /data/backup/conf_bak/
确保下载的是支持 主备部署 的 openGauss 企业版安装包,例如:
openGauss-x.x.x-RHEL-x86_64.tar.gz
版本需为 6.0 LTS,支持 CentOS 7.9。可从 openGauss 官网 下载。
# 主节点
hostnamectl set-hostname primary-node
echo "192.168.x.x primary-node" >> /etc/hosts
echo "192.168.x.y standby-node" >> /etc/hosts
# 备节点
hostnamectl set-hostname standby-node
echo "..." >> /etc/hosts
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
创建 cluster_config.xml 文件(关键步骤):
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="dbCluster"/>
<PARAM name="nodeNames" value="primary-node,standby-node"/>
<PARAM name="gaussdbAppPath" value="/opt/openGauss/app"/>
<PARAM name="gaussdbLogPath" value="/var/log/omm"/>
<PARAM name="tmpMppdbPath" value="/tmp"/>
<PARAM name="gaussdbToolPath" value="/opt/openGauss/om"/>
<PARAM name="corePath" value="/opt/openGauss/corefile"/>
<PARAM name="backIp1s" value="192.168.x.x,192.168.x.y"/>
</CLUSTER>
<DEVICELIST>
<!-- 主节点 -->
<DEVICE sn="primary-node">
<PARAM name="name" value="primary-node"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.x.x"/>
<PARAM name="sshIp1" value="192.168.x.x"/>
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/openGauss/data/dn"/>
</DEVICE>
<!-- 备节点 -->
<DEVICE sn="standby-node">
<PARAM name="name" value="standby-node"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.x.y"/>
<PARAM name="sshIp1" value="192.168.x.y"/>
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/openGauss/data/dn"/>
</DEVICE>
</DEVICELIST>
</ROOT>
修改所有 IP 和路径以匹配您的实际环境。
以 root 身份执行预安装:
./gs_preinstall -U omm -G dbgrp -X /path/to/cluster_config.xml
以 omm 用户执行安装:
gs_install -X /path/to/cluster_config.xml
安装完成后,恢复之前导出的数据:
gs_restore -d postgres /data/backup/opengauss_backup.sql
或使用
gsql执行 SQL 导入:
gsql -d postgres -p 15400 -f /data/backup/opengauss_backup.sql
gs_om -t status --detail
正常输出应显示:
[ Cluster State ]
cluster_state : Normal
[ Datanode State ]
node node_ip instance state
--------------------------------------------------
1 primary-node 15400 Primary Normal
2 standby-node 15400 Standby Normal
不支持。openGauss 目前无法在单机运行时动态加入备节点。必须通过重新部署实现。
查看是否包含 CM(Cluster Manager)和 OM 模块:
ls $GAUSSHOME/bin | grep cm_ctl
ls $GAUSSHOME/bin | grep gs_om
如有,则支持主备。
是。官方支持 CentOS 7.6+,openGauss 6.0 LTS 支持 6.0.2LTS-centos7.9(见文档 chunk #2 和 KG 数据)。
| 任务 | 说明 |
|---|---|
| 已部署 openGauss 6.0 LTS 单机版(CentOS 7.9) | |
| 不支持 | |
| 备份 → 重新部署主备集群 → 恢复数据 | |
| openGauss 6.0 LTS 支持主备部署 | |
上下文中提到的 openGauss 6.0 LTS High Availability Primary-Backup Deployment on openEuler 是同类部署模式,逻辑一致,仅操作系统为 openEuler;本文适配至 CentOS 7.9 环境 |
如您追求完全自动化或图形化部署,可尝试使用 PTK(Planned Toolkit) 自动化部署工具,支持模板化安装主备集群。
如需进一步协助,欢迎提供当前 $GAUSSHOME 路径、数据路径、端口等信息,可为您定制 XML 示例。
由于原有的数据库已经提供线上服务 我不能这样停机重新部署。
有没有其他方式能实现? 比如找etl工具 实时同步数据到 备库, 达到类似的效果。 可以允许有1分钟的延迟
openGauss提供了gs_expansion工具对数据库的备机进行扩容。支持从单机或者一主多备最多扩容到一主八备。
我单机部署的 也可以使用此方案 实现增加备机吗?
可以的
不需要cm环境也可以是吗
单机部署时的xml配置是:
<?xml version="1.0" encoding="UTF-8"?>不需要有cm,比如你要部署一主两备,只需要配好一主两备的xml文件,注意现在的单机作为主机,然后直接扩就行了。
好的 多谢!
等于我现在用gs_expansion命令 + 需要配置的备机配置文件(xml) 直接执行即可。
可以完全参考:gs_expansion | openGauss文档 | openGauss社区 这个吧
是的
感谢!!!! 我试下
好的,扩容有什么问题可以再交流。