🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录
⛳️ 推荐
openGauss高可用之主备分开搭建教程
一、环境准备
1.1 服务器要求
1.2 软件准备
1.3 系统配置(主备机都要执行)
二、安装OpenGauss
2.1 主节点安装
2.2 备节点安装
三、主节点配置
3.1 编辑postgresql.conf
3.2 编辑pg_hba.conf
3.3 重启主节点数据库
3.4 创建复制槽
四、备节点配置
4.1 初始化备节点数据库
4.2 编辑postgresql.conf
4.3 创建recovery.conf文件
五、数据同步与启动
5.1 执行基础备份
5.2 启动备节点数据库
六、验证主备同步
6.1 检查主备状态
6.2 测试数据同步
七、高可用架构优势
八、注意事项
openGauss高可用之主备分开搭建教程
一、环境准备
1.1 服务器要求
- 准备两台服务器,分别作为主节点和备节点
- 操作系统:推荐使用Linux发行版(如CentOS 7.x、Ubuntu 18.04或openEuler 20.03 LTS)
- 硬件配置:建议主节点4核8GB内存及500GB磁盘,备节点配置相似或稍低
- 网络:确保主备节点能互相ping通,建议处于同一局域网内
1.2 软件准备
- 从OpenGauss官方网站下载适合操作系统的OpenGauss软件包
- 安装必要的依赖包:
yum install -y bzip2 bzip2-devel curl libaio libaio-devel readline-devel yum install expect
1.3 系统配置(主备机都要执行)
# 设置字符集 vi /etc/profile export LANG=en_US.UTF-8 source /etc/profile # 修改Python版本(如需要) cd /usr/bin mv python python.bak ln -s python3 /usr/bin/python # 关闭防火墙 systemctl disable firewalld.service systemctl stop firewalld.service # 关闭SELinux vi /etc/selinux/config SELINUX=disabled # 关闭swap swapoff -a # 关闭RemoveIPC vi /etc/systemd/logind.conf # 修改"RemoveIPC"值为"no"二、安装OpenGauss
2.1 主节点安装
# 创建安装目录 mkdir -p /opt/software/openGauss/ # 下载安装包(以x86架构为例) wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/x86_openEuler/openGauss-5.0.0-openEuler-64bit-all.tar.gz # 解压安装包 tar -zxvf openGauss-5.0.0-openEuler-64bit-all.tar.gz tar zxvf openGauss-5.0.0-openEuler-64bit-om.tar.gz # 修改目录权限 chmod 755 -R /opt/software/openGauss/ # 执行安装 cd /opt/software/openGauss/script/ ./install.sh -w YourPassword -p 54322.2 备节点安装
备节点安装步骤与主节点类似,但先不要启动数据库服务
三、主节点配置
3.1 编辑postgresql.conf
sudo vi $PGDATA/postgresql.conf修改以下参数:
listen_addresses = '*' # 允许所有IP连接 wal_level = replica # 设置WAL日志级别为replica max_wal_senders = 10 # 最大WAL发送进程数 wal_keep_segments = 32 # 保留的WAL段数量 synchronous_standby_names = 'standby1' # 同步备节点名称3.2 编辑pg_hba.conf
sudo vi $PGDATA/pg_hba.conf添加备节点的访问权限(假设备节点IP为192.168.1.2):
host replication all 192.168.1.2/32 md53.3 重启主节点数据库
gs_ctl restart -D $PGDATA3.4 创建复制槽
# 登录数据库 psql -U omm -d postgres # 创建物理复制槽 SELECT * FROM pg_create_physical_replication_slot('standby1_slot');四、备节点配置
4.1 初始化备节点数据库
gs_initdb -D $PGDATA4.2 编辑postgresql.conf
sudo vi $PGDATA/postgresql.conf修改以下参数:
wal_level = replica hot_standby = on # 允许备节点提供只读查询 max_standby_streaming_delay = 30s wal_receiver_status_interval = 10s4.3 创建recovery.conf文件
sudo vi $PGDATA/recovery.conf添加以下内容(假设主节点IP为192.168.1.1):
standby_mode = 'on' primary_conninfo = 'host=192.168.1.1 port=5432 user=replication_user password=replication_password' recovery_target_timeline = 'latest'五、数据同步与启动
5.1 执行基础备份
在主节点执行:
gs_basebackup -D /backup_path -Ft -p 5432 -U omm -X stream -R将备份数据传输到备节点:
scp -r /backup_path/* standby_user@192.168.1.2:/path/to/pgdata/5.2 启动备节点数据库
gs_ctl start -D $PGDATA备服务器将自动连接到主服务器并开始同步数据。
六、验证主备同步
6.1 检查主备状态
在主节点上:
SELECT * FROM pg_stat_replication;在备节点上:
SELECT * FROM pg_stat_wal_receiver;6.2 测试数据同步
在主节点上执行一些数据库操作:
CREATE TABLE test_sync(id INT, name VARCHAR(50)); INSERT INTO test_sync VALUES(1, 'test');然后在备节点上查询:
SELECT * FROM test_sync;如果能查询到相同的数据,说明主备同步成功。
七、高可用架构优势
根据知识库信息,openGauss的高可用架构具有以下特点:
传统主备架构:
- 主节点负责事务写入与实时更新
- 备节点负责日志重放与只读查询,实现读写分离
- 在AI场景中,主机可承担特征向量更新,备机负责语义检索任务
DCF自仲裁架构(基于Paxos协议):
- 三个节点通过Paxos协议交互,实现无中心选主
- 当主节点宕机时,多数派节点投票自动推举新主
- 全过程无人工干预,切换时间通常小于10秒
- Paxos保证日志复制一致性,无数据丢失(RPO=0)
八、注意事项
- 网络要求:主备数据库实例之间网络时延要求≤100毫秒
- 磁盘规格:如果磁盘混合部署,应采用低配部分的规格
- 容灾用户:搭建容灾前需要在主集群创建容灾用户,密码不可修改
- 升级维护:容灾状态下仅支持灰度升级,需先升级主集群,再升级备集群
- 安全性:建议使集群内的网络平面与跨集群网络平面分离,提高安全性
通过以上步骤,您已成功搭建了openGauss主备高可用环境,主服务器提供主要的读写功能,备服务器同步数据并保持与主服务器的一致性,实现高可用性和故障恢复能力。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙