專文 05 / 韌性

韌性是練習,不是產品

冗餘放在架子上。韌性是有人知道怎麼用它時才發生的事。

本譯文版本尚待母語編輯審閱。

一盞充電式工作燈正在接受測試,旁邊放著紙本檢查表、計時器與拔下的充電線。
準備就緒,來自反覆演練。原創插畫場景。

買備件有一種討喜的確定感。有時空隙真的變小。但物件只是復原的條件之一。要有人注意到故障、分辨、找到備件、知道是否仍適用、裝上。物件帶著承諾。練習揭示承諾需要什麼。

準備有維護成本

每份儲備都會以某種方式老化。電池、說明、軟體、聯絡方式、記憶。這不是反對準備,是主張把維護算進價格。

復原是序列

我們怎麼知道出事了?誰決定?第一個安全動作?說明在哪?什麼表示成功?

復原計畫在有人走過之前,只是假說。

中階 · 還原一份快照,不要欣賞工作日誌
export RESTIC_REPOSITORY=sftp:backup-host:/restic/laptop
restic snapshots
restic restore latest --target /tmp/restore-test --include /home/you/Documents/sample.md
sha256sum /tmp/restore-test/home/you/Documents/sample.md

檢查儀表板不會說的三件事:快照夠新、檔案能用第二個編輯器打開、還原不需要原筆電。同一顆碟上的第二份不是異地。

測計畫,不要測人

若有人跟不上,那是關於說明與系統的資訊。演練後趁細節新鮮寫下實際步驟。不要為了逼真去模擬危險故障。

留即興的空間

沒有計畫能描述每種未來。理解勝過死記。寫目的而不只動作。

專家 · 無法開機的主機不是備份目標

若放 restic 的機器也放唯一的 RESTIC_PASSWORD,你只有一個物件。分開倉庫、密碼、以及能跑 restic 的已知良好開機映像。對 UPS 說話的 NUT 是還原路徑的一部分。排程跑 restic check --read-data-subset=10%,不要等火災之後。

讓它變普通

最可持續的練習掛在已經會發生的事情上。換備份安排之後演練還原;換裝置之後重讀復原說明。沒有通用週期,節奏取決於系統變多快、以及假設錯了會怎樣。重要的是有人負責下一次檢查,並且知道成功的復原長什麼樣子。

備件仍然要緊。安靜的午後去發現它是否合用,同樣要緊。韌性不是快遞箱送來的。它在準備、使用、觀察、調整的迴圈裡長出來。把 restic 快照日期寫進家用筆記本,比再買一塊沒測過的硬碟更接近主權。

這篇文章保留與英文版相同的標題層級、指令與摺疊段落,讓深度篩選與程式碼核對在翻譯裡仍然成立。實作細節以英文原稿的命令為準。

實務上,請把命令、摺疊段落與英文原稿對齊;翻譯負責說明,證據仍以可執行的指令為準。若某一層對你來說太深,先停在中階,把演練做完再往下。

下一篇專文 回到開頭 ↑