想请教一个备份方案设计问题,不是已发生的生产故障,暂无报错原文。 目标环境是 CVM 上自建 PostgreSQL 16,Linux/ext4,数据目录与 pg_wal 分别放在两块 CBS 云硬盘上,暂不考虑外置表空间。希望用快照组做整机故障后的恢复点,允许短暂停写,但不希望把整个快照后台生成时间都变成停机时间。 目前做了资料检索和方案对比:查到 CBS 的 CreateSnapshotGroup 接口,也比较了分别创建两个普通快照的做法;后者无法从两次请求的成功推断出共同时间点,因此不打算采用。尚未做恢复演练,也没有把“接口返回成功”等同于“恢复点已固定”。参考文档:https://cloud.tencent.com/document/product/362/116249 主要想确认三点: 1. 对同一 CVM 上的两块盘,快照组提供的跨盘一致性具体到哪一层?在 PostgreSQL 正常开启 fsync 和 full_page_writes 的前提下,不做文件系统冻结时,是否可以将其作为完整的崩溃一致性恢复点,还是仍需要数据库备份协议配合? 2. 如果采用先停库或冻结文件系统、再发起快照组的方式,应观察哪个 API 状态或事件才能解除冻结?请求受理、恢复点固定、快照可用是否是不同阶段;是否有公开可查询的中间状态,避免一直等待后台数据复制结束? 3. 如果一块盘快照失败或接口超时但服务端实际已受理,应该如何识别整组是否可用于恢复,避免把不同批次的盘拼到一起?恢复演练除检查数据库能启动外,还建议验证哪些跨盘一致性条件?
相似问题