情境 12 兩種角色 · 季度演練
Syngle 自己也要能還原
Controller 壞掉那天,要重建的是 Syngle 的狀態:資料庫、金鑰、目錄定義和例外
256MiB · 備份 bundle 的上限
季度演練
備份的是自己的狀態
NAS 上的資料交給 DSM 原生套件,Syngle 要備份的是自己的狀態,還有開啟它的那把金鑰
- 備份到底涵蓋什麼,不涵蓋什麼
- 金鑰與 recovery kit 放在哪
- 還原之後哪些東西要重做
- 升級失敗怎麼退回去
畫面
備份、還原、升級是同一條線
備份、還原和升級其實是同一條線上的三件事
Bundle 裡有什麼
store.sqlite、keys 和目錄定義,去掉 session、快取和可重建的觀測資料,上限 256 MiB
密碼與加密
AES-256-GCM 配 PBKDF2-SHA256,密碼 12–1,024 bytes
冷還原只接受空白 Controller
解密、版本檢查、integrity_check、金鑰清冊,再用一個交易切換,staging 256 MiB、15 分鐘
就地還原會先保住舊的
先停止新工作,最多 120 秒 drain,寫一份 rescue copy,再切換和逐台驗證
步驟
你會做到
01
先下載並驗證 recovery kit
排程備份要先下載並驗證才開得起來,沒驗證過就不開
02
排程每天備一份
目的地只能是套件私有區,或 installer 已註冊的共用資料夾,保留 1–30 份,預設 7
03
要啟用時輸入 RESTORE
冷還原完成後逐台驗證,啟用要確認舊 Controller 已經停了
04
升級前自動做一份
preupgrade 用同一把金鑰重新開起來驗證,失敗就回非零,讓 DSM 中止升級
05
升級只前進
沒有 down-migration,降版的唯一方法是還原升級前的 bundle
帶走什麼
能還原回來的才叫狀態,備份的是 Syngle 自己,不是 NAS 上的資料