新闻详情

新闻详情

首页 / 资讯中心 / 详情

用 pgBackRest把 PostgreSQL备份进RustFS

发布时间:2026/11/16 3:54:26来源:尧图网络
用 pgBackRest把 PostgreSQL备份进RustFS
PostgreSQL 的备份有两种老毛病要么全量 dump 落在数据库本机盘盘满了才慌要么 WAL 归档目录和主库同机器主库一挂归档也跟着没。pgBackRest 是社区里最稳的 Postgres 备份工具它原生支持把仓库放进 S3 兼容对象存储repo-type设成s3备份和 WAL 归档就直接写进对象存储的桶里。下面把接自建 S3 端点的配置和备份、恢复流程走一遍。先建备份桶和专用身份别拿管理员账号建一个只管备份桶的 IAM 用户。下面这条路径用 rc 客户端演示rcaliassetrustfs http://rustfs:9000$RUSTFS_ACCESS_KEY$RUSTFS_SECRET_KEYrc mb rustfs/pg-backup rc admin useraddrustfs pgbackrestChangeMe-Strong-Secretcatpg-policy.jsonEOF { Version: 2012-10-17, Statement: [ { Effect: Allow, Action: [s3:ListBucket, s3:GetBucketLocation], Resource: [arn:aws:s3:::pg-backup] }, { Effect: Allow, Action: [s3:GetObject, s3:PutObject, s3:DeleteObject, s3:ListMultipartUploadParts], Resource: [arn:aws:s3:::pg-backup/*] } ] } EOFrc admin policy create rustfs pg-policy pg-policy.json rc admin policy attach rustfs pg-policy pgbackrest内置的readwrite策略对所有桶开放读写不符合权限收在备份桶的意图所以用自定义策略。服务端 1.0.0 已于 2026 年 9 月 16 日 GArc 启动的服务必须显式设置RUSTFS_ACCESS_KEY/RUSTFS_SECRET_KEY默认口令已废弃。pgbackrest.conf 的 s3 仓库怎么配核心是把repo1从本地文件系统改成s3endpoint指到存储的 9000 端口uri-style用pathS3 兼容存储的稳妥写法[global] repo1-types3 repo1-s3-endpointrustfs:9000 repo1-s3-bucketpg-backup repo1-s3-regionus-east-1 repo1-s3-keypgbackrest repo1-s3-key-secretpgbackrest 的 secret repo1-s3-uri-stylepath repo1-path/pgcluster01 repo1-retention-full7 [main] pg1-path/var/lib/postgresql/16/main几个参数的官方口径repo-s3-uri-style只有host和path两种取值默认host连 bucket.endpoint 域名自建端点没有这套 DNS用path。证书校验选项现在的名字是repo1-storage-verify-tls默认y老的repo-s3-verify-tls已列入废弃名单、暂时兼容。端点是 http 时没有 TLS 这回事不用管它用 https 加自签证书时才需要设n官方注明这只该用于测试或自签场景。stanza 段就是 stanza 名本身上面配的是[main]pg1-path指数据目录别放错段。repo1-path建议给个前缀而不是桶根官方的理由是桶里可能还要放日志等其他内容。repo-retention-full不配的话只出警告不清理要么显式给值要么接受备份无限累积。region参与签名计算自定义端点下填一个两端一致的值即可us-east-1是惯例占位。PostgreSQL 侧开 WAL 归档备份要连续得让 Postgres 把 WAL 段实时推进桶里。改postgresql.confarchive_mode on archive_command pgbackrest --stanzamain archive-push %p wal_level replica%p是当前 WAL 文件路径archive-push会把它传到repo1指向的桶。改完SELECT pg_reload_conf();或重启生效。WAL 归档连续才谈得上 PITR时间点恢复。备份与恢复一条 stanza 走全pgbackrest--stanzamain stanza-create pgbackrest--stanzamain backup--typefull pgbackrest--stanzamain backup--typeincr systemctl stop postgresql pgbackrest--stanzamain restore systemctl start postgresql恢复时 pgBackRest 会把需要的全量、增量和 WAL 从桶里拉回来重组。备份落在对象存储的好处是数据库机和备份彻底解耦主库机器挂了备份还在桶里换一台机器restore就行。边界与代价WAL 归档是前提。只跑backup不配archive_command恢复点就只能到上一次备份做不到连续PITR 必须archive_modeon。网络要通。pgBackRest 在数据库机执行得能访问存储的 9000 端口跨网段挂 TLS 反向代理并保持证书校验开启。保留策略在 pgBackRest 侧。retention-full控制留几个全量过期的备份集由 pgBackRest 自己从桶里清理不用手动删对象。大库首备放低峰。首次全量要把整个数据目录读一遍、压缩、分片传到存储端点耗时按数据库体积和网络吞吐算量级和增量的只传差异块完全不是一回事同时process-max拉起的并行压缩会同时吃 CPU、磁盘 IO 和带宽。挑业务低峰跑跑的时候别顺手做 VACUUM 或重索引。桶里不是全部。官方在说明自包含导出时讲得很透仓库除了备份集和 WAL 归档还保存着压缩、加密、文件打包这类功能所必需的关键元数据只把备份文件和一部分 WAL 拷出去通常跑不起来。留在数据库机上的还有配置本身/etc/pgbackrest.conf、日志目录/var/log/pgbackrest以及开了异步归档之后的本地队列目录spool-path。真出灾难要恢复这些和桶里的数据是一套只恢复桶等于丢掉 stanza 的配置前提。断网会重试但不会自己救场。归档命令失败时 PostgreSQL 会攥着 WAL 段反复重试pg_wal里的段越堆越多严重的会把写操作顶住。官方 FAQ 把这类could not find WAL segment归到归档命令、pgBackRest 配置、网络或权限、第三方存储配置、WAL 积压这几类原因上排查时用check并把--archive-timeout调得比配置值更高看清理队列要多久写入量大的集群可以开异步归档把卡在返回给数据库这一环的窗口压短。备份本身也能续跑中断的备份会拿清单里的校验和比对本已传完的文件从断点继续。pgBackRest 接 S3 兼容存储的全部门槛就是 repo1 那几行加一个能写能删的专用身份剩下的是备份策略本身的设计。主库故障不再连带归档丢失这一条就值得把仓库从本地盘挪出来。RustFS 1.0.0 已于 2026 年 9 月 16 日 GA源码和 issue 在 github.com/rustfs/rustfspgBackRest 的配置参考在 pgbackrest.org。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/15 4:54:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/15 2:04:12

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/14 17:14:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/15 4:06:36

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉