找回密碼
 立即註冊
    查看: 168|回覆: 0

    用 NAS 存監視器錄影:資料庫放哪、硬碟怎麼選、掉格怎麼查

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 11:47:55 | 顯示全部樓層 |閱讀模式
    錄影是二十四小時不停的順序寫入,跟一般 NAS「偶爾存個檔」的使用方式完全不同。

    這篇講怎麼規劃,才不會做到一半發現資料庫壞了、或是硬碟三個月就開始掉格。
    用 Frigate 0.18 當例子(2026 年 9 月的穩定版),但硬碟和架構那幾段換成別的 NVR 也適用。

    二十四小時不停的順序寫入

    步驟 1:先決定「哪一份放本機、哪一份放 NAS」

    這是整篇最重要的一個決定,做錯的話後面全部要重來。

    Frigate 會寫四個位置,它們對儲存的要求完全不一樣:


    • `/config` —— 設定檔和 SQLite 資料庫(`frigate.db`)。很小,但寫得非常頻繁
    • `/media/frigate` —— 錄影檔和快照。很大,順序寫入
    • `/tmp/cache` —— 錄影片段的暫存區,寫完再搬到 `/media`
    • `/dev/shm` —— 共用記憶體,放原始影格給偵測用


    `/config` 絕對不能放在網路分享上。

    原因是 SQLite 靠檔案鎖來保證一致性,而 SMB 和 NFS 的檔案鎖不可靠。
    放上去之後會發生的事:


    • 日誌不斷出現 `database is locked`
    • 某天斷電或網路抖一下,資料庫直接損毀,Frigate 起不來
    • 資料庫壞掉之後錄影檔還在、但 Frigate 不認得它們 ——
      於是保留策略失效,硬碟被舊錄影塞爆


    官方的建議是 `/config` 和 `/media/frigate` 都放本機磁碟或外接 USB。
    但「用 NAS 當 NVR」這個題目的重點就是錄影要放 NAS,所以實務上有三種放法:


    • 甲、Frigate 直接跑在 NAS 上(群暉的 Container Manager、QNAP 的 Container Station)。
      `/config` 和 `/media` 都在 NAS 本機磁碟,完全沒有網路分享的問題。
      缺點是 NAS 的 CPU 通常很弱,只適合不做物件偵測、或攝影機少的情況
    • 乙、Frigate 跑在另一台機器(迷你主機 / NUC),`/config` 放那台的本機 SSD,
      只有 `/media/frigate` 掛 NAS 的 NFS
      。這是三種裡最推薦的
    • 丙、什麼都掛網路分享 —— 不要做


    下面以乙為例往下走。

    步驟 2:算空間和共用記憶體

    先算磁碟空間。H.264 的粗略值:


    • 1080p @ 15fps —— 約 1.5 ~ 2 GB / 天 / 台(連續錄)
    • 1080p @ 30fps —— 約 3 ~ 4 GB / 天 / 台
    • 2K @ 15fps —— 約 3 ~ 5 GB / 天 / 台
    • 4K @ 15fps —— 約 8 ~ 12 GB / 天 / 台


    畫面變化多(樹會晃、馬路)會明顯高於這個值,夜間紅外線畫面通常低於這個值,
    H.265 大約是 H.264 的一半。
    1. 需要空間 = 每天大小 × 攝影機數 × 保留天數 × 1.2
    2. 例:三台 1080p@15fps、連續錄保留 14 天
    3.     2 GB × 3 × 14 × 1.2 = 約 100 GB
    複製代碼

    再算共用記憶體(shm)。這一項漏掉的話,攝影機一多就會隨機掉格,
    而且錯誤訊息完全看不出是記憶體問題。

    官方公式,每台攝影機各算一次,用的是你在 `detect` 區塊設定的解析度:
    1. (寬 × 高 × 1.5 × 20 + 270480) ÷ 1048576 = 這台需要的 MB
    2. 例:偵測串流 640×480
    3.     (640 × 480 × 1.5 × 20 + 270480) ÷ 1048576 = 約 9.1 MB
    4. 四台 640×480  →  9.1 × 4 = 36.4 MB
    5. 再加 40 MB 給日誌  →  約 77 MB
    6. Docker 預設只給 64 MB,不夠。開 256 MB 有餘裕
    複製代碼

    步驟 3:在 NAS 上開共用資料夾並設定 NFS

    以群暉 DSM 7 為例:

    以下還有約 82% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

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

    GMT+8, 2026-11-10 00:35 , Processed in 0.123632 second(s), 25 queries .

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