Chuyển đến nội dung chính

第 18 課:POSTGRESQL 備份、PITR 和災難復原

使用 Barman/S3、ScheduledBackup CRD、時間點復原 (PITR)、從備份還原叢集以及災難復原程序進行自動備份。

🔒 DevSecOps — 第 18 課 第 18 課:POSTGRESQL 備援、PITR 與 災難復原

使用 Kubernetes HA 在本地部署微服務

第 4 部分:PostgreSQL HA 與 Patroni & CloudNativePG

xdev.asia

🎯 課程目標__HTMLTAG_68___
  • ✅ 設定備份目標(S3/Ceph 物件儲存)
  • ✅ 設定 ScheduledBackup CRD 以進行自動備份
  • ✅ 練習時間點恢復 (PITR)
  • ✅ 從備份還原叢集
  • ✅ 災難復原程序

第 1 部分:備份架構

程式碼區塊_0


第 2 部分:設定備份目標__HTMLTAG_86___

2.1。使用 Ceph RGW(S3 相容)

___程式碼區塊_1___

程式碼區塊_2

2.2。使用備份配置更新叢集

___程式碼區塊_3___

第 3 部分:計畫備份

程式碼區塊_4

程式碼區塊_5


第 4 部分:時間點恢復 (PITR)

4.1。模擬資料遺失

___程式碼區塊_6___

4.2。使用 PITR

恢復 ___程式碼區塊_7___

程式碼區塊_8


第 5 部分:災難復原程序

5.1。完整群集恢復(無 PITR)

___程式碼區塊_9___

5.2。驗證備份完整性

___程式碼區塊_10___

💡 重點

    ___HTMLTAG_112__HTMLTAG_113___Barman + S3:基礎備援+連續WAL歸檔 ___HTMLTAG_116__HTMLTAG_117___ScheduledBackup:自動每日備份,首選備用 ___HTMLTAG_120__HTMLTAG_121___PITR:恢復到保留期間內的任意點 ___HTMLTAG_124__HTMLTAG_125___還原 = 從備份建立新叢集,然後切換 ___HTMLTAG_128__HTMLTAG_129___retentionPolicy:30天:保留備份30天 ___HTMLTAG_132__HTMLTAG_133___定期測試復原:驗證每月備份完整性

🎯 練習

練習 1:備用實驗室

  • 設定備份目標 (S3/MinIO)
  • 設定 ScheduledBackup,驗證已成功建立備份

練習 2:PITR 實驗室

  • 插入數據,注意時間戳
  • 刪除資料(模擬事故)
  • 恢復到刪除前的時間戳記
  • 驗證資料已恢復__HTMLTAG_158___

📚 下一篇文章

在第 19 課:PostgreSQL 故障轉移測試和切換中,我們將測試故障轉移場景和計畫的切換。