找回密碼
 立即註冊
惟家LINE群QRCODE
    查看: 3|回覆: 0

    HA 備份與災難復原:主機掛了怎麼在半小時內回到原狀

    [複製鏈接]

    !lvup!   100%

    363

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22005764
    發表於 3 天前 | 顯示全部樓層 |閱讀模式
    備份不是「有做就好」,是「還原過才算數」。

    這篇講怎麼備、怎麼驗證、以及真的出事時怎麼辦。



    先搞清楚:備份裡有什麼、沒有什麼

    HA 的完整備份包含


    • config 目錄(所有 YAML、自動化、藍圖)
    • .storage 目錄(實體登錄、使用者、整合設定)—— 這個最重要
    • 附加元件的資料(Z2M、Node-RED、Mosquitto)
    • 資料庫(歷史記錄,可以選擇排除)


    不包含


    • 作業系統本身
    • 你手動放在別的地方的檔案
    • Docker 版:容器外的東西


    .storage 為什麼最重要

    很多人以為「我的設定都在 YAML 裡」—— 不對。


    • 用 UI 建立的整合、自動化、場景都在 .storage
    • 實體 ID 跟裝置的對應關係在 .storage
    • 使用者帳號、儀表板在 .storage


    只備份 YAML 的話,還原之後你會發現東西都在但全部對不起來。

    設定自動備份



    HA 2025 之後的備份介面強化很多。


    • 設定 → 系統 → 備份
    • 自動備份 → 設定


    可以設定


    • 頻率(每天 / 每週)
    • 時間
    • 保留幾份
    • 備份位置(本機、網路磁碟、Google Drive、OneDrive)
    • 要不要包含資料庫
    • 加密密碼


    我的建議設定
    1. 頻率:每天
    2. 時間:凌晨 4 點(沒人在用)
    3. 保留:本機 3 份、遠端 7 份
    4. 包含資料庫:否 ← 重點
    5. 加密:是(密碼記在密碼管理器)
    複製代碼

    為什麼不要包含資料庫


    • 資料庫可能好幾 GB,備份會變超大
    • 歷史記錄壞掉不影響系統運作
    • 還原的時候你通常也不在乎前天的溫度曲線


    折衷每天備份不含資料庫,每週備份一次含資料庫。

    3-2-1 原則

    這是備份的通則,不只 HA


    • 3 份備份
    • 2 種不同的媒體
    • 1 份在異地


    實際的做法
    1. 1. HA 主機本身(自動備份,保留 3 份)
    2. 2. NAS 或另一台電腦(用網路磁碟)
    3. 3. 雲端(Google Drive / OneDrive 附加元件)
    複製代碼

    「異地」的重點是火災、淹水、被偷的時候還在。

    設定網路磁碟備份


    • 設定 → 系統 → 儲存新增網路儲存
    • 類型:Samba(SMB)或 NFS
    • 用途:勾選「備份」


    設定完之後,備份介面就會多一個目的地。



    最重要的一步:驗證備份(大部分人跳過這步)

    沒驗證過的備份,等於沒有備份。

    怎麼驗證

    方法一:定期檢查檔案大小


    • 備份檔案應該是幾百 MB 到幾 GB
    • 如果只有幾 KB,那是壞的
    • 大小突然變很小也要查


    用自動化監控
    1. automation:
    2.   - alias: 備份異常提醒
    3.     triggers:
    4.       - trigger: time
    5.         at: "09:00:00"
    6.     conditions:
    7.       - condition: template
    8.         value_template: >
    9.           {{ (as_timestamp(now()) -
    10.               as_timestamp(states('sensor.backup_last_successful_automatic_backup')))
    11.              > 172800 }}
    12.     actions:
    13.       - action: notify.mobile_app_phone
    14.         data:
    15.           message: 已經兩天沒有成功的自動備份了
    複製代碼

    HA 有內建備份狀態的感測器,可以直接監控。

    方法二:真的還原一次(最可靠)


    • 拿一張備用的 SD 卡或 USB
    • 裝一個全新的 HA
    • 在初始畫面選「從備份還原」
    • 看看是不是真的回來了


    一年做一次就好,但一定要做過至少一次。

    你會發現的問題


    • 備份密碼忘了(最常見)
    • 某個附加元件的資料沒被包進去
    • 還原之後裝置離線(Zigbee 協調器的路徑變了)


    真的出事了:災難復原流程



    情境一:SD 卡壞了 / 系統起不來


    • 拿新的儲存媒體
    • 燒錄 HA OS
    • 開機,在歡迎畫面選「從備份還原」
    • 上傳備份檔案,輸入加密密碼
    • 等待(可能 10-30 分鐘)


    還原之後要檢查


    • Zigbee 協調器的 serial 路徑 —— 換了硬體可能會變
    • 所有附加元件有沒有啟動
    • 實體有沒有變成 unavailable


    情境二:改壞了設定,HA 起不來

    不用還原整個備份。


    • 用 SSH 或把 SD 卡拿出來
    • 把 configuration.yaml 改回去
    • 或者從備份裡只解出那一個檔案


    備份檔案是 .tar可以用一般的解壓縮軟體打開
    (沒加密的話)。

    情境三:某個整合壞了


    • 設定 → 系統 → 備份
    • 點那個備份 → 「還原」
    • 可以選擇「只還原部分」 ——
        只勾那個附加元件或 config


    部分還原很好用,不用為了一個整合把整個系統倒回去。

    防止 SD 卡壞掉

    樹莓派用 SD 卡的最大問題就是它會壞。

    預防


    • 改用 SSD 或 USB 隨身碟(最有效)
    • 買好一點的 SD 卡(工業級 / 高耐寫)
    • 減少寫入 —— 調整 recorder 設定(下一篇講)
    • 不要突然斷電 —— 加一個小 UPS


    用 SSD 的話


    • 樹莓派 4 可以從 USB 開機
    • 速度快很多,而且壽命長很多
    • 一顆 240GB 的 SSD 加轉接頭大概一千出頭


    幾個特別要注意的備份

    一、Zigbee 協調器的備份

    HA 的完整備份會包含 Z2M 附加元件的資料
    但如果你的 Z2M 跑在別的地方(Docker、另一台機器),要另外備。

    二、Node-RED 的流程

    附加元件版的會被包含
    但建議另外用 Node-RED 的 Export 功能備一份。

    三、不在 HA 裡的東西


    • 路由器的設定
    • NAS 的設定
    • MQTT broker 的設定(如果不是附加元件)


    四、密碼和金鑰


    • 備份的加密密碼
    • secrets.yaml 裡的東西
    • 長期存取權杖


    這些放在密碼管理器裡不要只放在 HA 裡 ——
    HA 掛了你就拿不到了。

    一個實際的檢查清單

    每個月花五分鐘


    • 備份有在跑嗎(看最後一次成功的時間)
    • 檔案大小合理嗎
    • 遠端的那份也有嗎
    • 加密密碼我記得嗎


    每年一次


    • 真的還原一次到備用硬體


    ---

    下一篇:HA 的資料庫調校 ——
    為什麼你的 HA 越來越慢,以及怎麼解決。
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-9-24 13:15 , Processed in 0.084349 second(s), 24 queries .

    快速回覆 返回頂部 返回列表