備份和復制策略
簡短摘要
強大的數據策略有三個支柱:備份、復制、恢復。復制副本減少了RTO(恢復時間),備份可保證RPO(數據丟失)並防止邏輯錯誤/勒索軟件。基本原理是:3-2-1-1-0(3份副本,2種媒體類型,1個離站,1個不變,0個檢查錯誤),定期的DR測試和關鍵集的固定性。
術語和目標
RPO-允許丟失多少數據(例如,≤ 5分鐘)。
RTO-可以恢復多長時間(例如≤ 15分鐘)。
PITR(點對點恢復)-使用日誌回放恢復「X時刻」。
數據SLO是RPO/RTO的服務級別合同以及備份任務的成功。
容錯和復制模型
拓撲變體
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)。
- 備用存儲空間,滯後系數,其他費用。
- 測試恢復的時間和成功。
- Backaps的成功率≥ 99。9%/30天。
- RPO ≥達到99%的時間(日誌≤目標日誌)。
- RTO(測試恢復)≤ 15分鐘用於錢包,≤ 1小時報告。
- 每月DR-drill: 100%的法規腳本已完成。
- 錯過/失敗的備份,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的復制與邏輯錯誤和損害的備份相結合。自動化,測量,記錄-即使在最糟糕的日子裏,您也總會有工作回頭路。