GH GambleHub

备份和复制策略

简短摘要

强大的数据策略有三个支柱:备份、复制、恢复。复制副本减少了RTO(恢复时间),备份可保证RPO(数据丢失)并防止逻辑错误/勒索软件。基本原理是:3-2-1-1-0(3份副本,2种媒体类型,1个离站,1个不变,0个检查错误),定期的DR测试和关键集的固定性。

术语和目标

RPO-允许丢失多少数据(例如,≤ 5分钟)。
RTO-可以恢复多长时间(例如≤ 15分钟)。
PITR(点对点恢复)-使用日志回放恢复"X时刻"。
数据SLO是RPO/RTO的服务级别合同以及备份任务的成功。

矩阵示例:
数据类别RPORTO注释
交易/钱包≤ 1-5分钟≤ 5-15分钟日志+同步内核副本
报告/PII≤ 1小时≤ 1小时WORM/immutability,归档
Logi/原始事件≤ 24小时≤ 4小时对象,lifecycle

容错和复制模型

拓扑变体

Active-Passive(热/热/冷):更简单、可预测的过滤器。
Active-Active:高可用性,但冲突和一致性更为复杂。
Multi-Zone/Region/Cloud:延迟与egress成本的平衡。

同步vs asinchron

同步:RPO≈0,上方,距离限制。
Asinhron:在小RPO(分钟)下接近零RTO,可承受区域/云。
溷合动力:在区域内同步,asinchron在远程区域。

复制品≠备份

复制副本在源代码之后删除错误/删除。Backup是具有验证,检查和隔离功能的离线副本。

政策3-2-1-1-0和固定性

3份副本(prod+local备份+offsite)。
2种介质类型(单元/NAS/对象/磁带)。
1个离线(其他站点/云/磁带)。
1个不可更改的副本(WORM: Object Lock, immutable snapshots/磁带)。
0错误:常规集成测试测试(checksum/verify/restore测试)。

实践:
  • 为关键备份对象启用验证和对象锁(Compliance/Governance)。
  • 对于NAS/单元,可触发快照,并在截止日期之前禁止删除。

备份类型和时间表

Full是完整副本。
Incremental只是过去备份的变化。
Differential-自上次完整以来的更改。
带有GFS计划(Grandfather-Father-Son)的Forever-incremental:日间调节,每周和每月"合成完整"。

建议(示例):
  • Prod DB:每天5-15分钟(PITR)全部(或合成全)、内饰/日志。
  • 文件服务器:每周满,每日积压,每月存档。
  • 对象:lifecycle+版本;冷至存档存储类/磁带。

应用与数据库: PITR实践

PostgreSQL

启用WAL存档和数据库备份;通过"restore_command"进行PITR。
工具:"pgBackRest","wal-g"(对象),"pg_basebackup"用于完整。
分割卷:数据和WAL;使用PLP将WAL写入快速NVMe。

MySQL/MariaDB

PITR的二进制日志通过"Percona XtraBackup"(热备份)完整。
GTID复制;DR为区域/云的asinhron。

MongoDB

PITR的Oplog;用于逻辑拷贝的storaja+"mongodump"级别的狙击手。
在备份之前测试复制副本的一致性。

Redis/缓存

不算备用:保持RDB/AOF+offsite;恢复为warm-cache或从真相来源。

Kubernetes和容器

群集的etcd是一个单独的临界目标(频繁的狙击,离网)。
Velero:宣言/资源备份+CSI-snapshots/PV;存储在兼容S3的垃圾箱中(使用Object Lock)。
Stateful战利品:app consistent snapshots (pre/post hooks),否则为crash-consistent。
对象工件(模型/媒体)的转化-在垃圾箱级别。

虚拟化和文件服务器

VM snapshots:使用CBT(更改块跟踪),存储offsite,定期做guest-aware quiesce (VSS for Windows)。
文件服务器(NAS): snapshots+副本和常规目录恢复测试(文件采样)。

备用安全性

静态加密(LUKS/ZFS/云 KMS/Vault)和传输时加密(TLS/mTLS)。
密钥管理:单个角色、双控制、旋转、离线存储主密钥。
隔离:备用软件帐户无权删除固定副本;单独的网络/VLAN。
Ransomware可持续性:immutable, air-gap(磁带/隔离帐户/单元)。
审计:备份系统操作日志、删除/收缩警报。

窗口和吞吐量规划

Backup Window vs负载:I/O/网络推送、重复数据消除、压缩。
网络:每N分钟加注一次,单独的通道/VPN,夜间或永久使用QoS的复制品。
更改块跟踪/CDC以减少流量。
大基础:并行流/流媒体,多通道多重映射到对象。

监控、指标和SLO

技术指标:
  • 备份/复制任务的成功率(%)、持续时间、速度、日志变量(WAL/binlog/oplog)。
  • 备用存储空间,滞后系数,其他费用。
  • 测试恢复的时间和成功。
SLO(示例):
  • Backaps的成功率≥ 99。9%/30天。
  • RPO ≥达到99%的时间(日志≤目标日志)。
  • RTO(测试恢复)≤ 15分钟用于钱包,≤ 1小时报告。
  • 每月DR-drill: 100%的法规脚本已完成。
Alerts:
  • 错过/失败的备份,PITR>阈值脱落,重复数据消除率下降,空间不足,重建策略改变,没有新鲜的测试恢复。

DR演习和恢复检查

表(table top):角色协调、联系、沟通。
技术:"沙箱"恢复,RTO测量,校验和/数据比较。
Black start:完全恢复到"裸铁/清洁集群"。
数据目录:每个系统类别的预先描述的恢复步骤(runbooks)。
自动化:定期"金丝雀"还原和对等校验金额。

实用模板

1) PostgreSQL (pgBackRest+WAL存档到对象)

ini
[global]
repo1-type=s3 repo1-path=/pgbackups repo1-s3-endpoint=minio. local:9000 repo1-s3-bucket=pg-wal repo1-s3-key=ACCESSKEY repo1-s3-key-secret=SECRET repo1-retention-full=8 start-fast=y compress-type=zst

2)wal-g(ENV示例)

bash export WALG_S3_PREFIX=s3://pg-wal/prod export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export WALG_COMPRESSION_METHOD=zstd

3)Velero(K8s-物体+罐的固定性)

yaml apiVersion: velero. io/v1 kind: BackupStorageLocation metadata: { name: default, namespace: velero }
spec:
provider: aws objectStorage:
bucket: k8s-backups config:
s3Url: https://minio. example s3ForcePathStyle: "true"
publicUrl: https://minio. example

4)对象锁政策(示例"mc")

bash mc version enable my/backups mc retention set --default COMPLIANCE 365d my/backups

5) GFS时间表示例(概念)

日报:每15分钟(杂志)加注一次,白天合成满。
每周:一个"完整"(合成),存储8周。
每月:完整,存储12-24个月(存档/磁带)。

实施支票

  • 已定义数据类别、所有者、RPO/RTO/SLO。
  • 选择了复制模型(sync/async)和拓扑模型(AZ/Region/Cloud)。
  • 设置备份:full/incremental/PITR、时间表、目录。
  • 包括immutability (WORM/Object Lock/immutable snapshots)和offsyte/air-gap。
  • 加密和KMS/Vault,分开角色和密钥旋转。
  • 监测:任务成功,日志脱落,地点,测试恢复;Alertes。
  • Runbooks恢复和操纵器;联系人、升级、通信模板。
  • 每月DR演习+报告,计划调整。
  • 预算和FinOps: 存储成本/egress,存档/擦除项目。

典型错误

"复制副本是-不需要备份":逻辑删除和勒索程序将前往复制副本。
没有恢复测试-"理论上"存在备份。
缺乏固定性和离场是一个单一的风险点。
Prod和Backaps的相同帐户/密钥是损害=失去一切。
备用窗口太长,→与高峰发生冲突;没有trottling和QoS。
PITR不受期刊故障控制。
忽略app-consistent snapshot是"脏"可恢复卷。

iGaming/fintech的细节

钱包/支付核心:RPO ≤ 1-5分钟,RTO ≤ 15分钟;日志(WAL/binlog)到具有WORM的对象;在+asinchron区域同步。
报告/监管:不变的存储,长期的重组(年),可验证的完整性,向监管机构发布数据的明确程序。
Logi/原始事件/antifrod:廉价的长寿存储(对象)+lifecycle;索引和店面是分开的。
山顶(比赛/锦标赛):山顶外的后备窗口,throttling;活动期间的DR计划;金丝雀在促销前还原。

底线

数据保护是一门体系结构学科:3-2-1-1-0,转换和固定,RPO/RTO作为SLO,定期DR演习和"事实上"恢复检查。将aptime和failover的复制与逻辑错误和损害的备份相结合。自动化,测量,记录-即使在最糟糕的日子里,您也总会有工作回头路。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

Telegram
@Gamble_GC
开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。