跳轉到

七、更換儲存後端

這章在講什麼:把系統存放檔案的地方,從出廠內建的那一組,改成貴單位自己的儲存設備。

這件事就像搬倉庫——您在系統上指定了新倉庫,之後進來的新貨都會送進新倉庫;但舊倉庫裡原本那些貨,不會自己搬過去。您不動手搬,它們就一直躺在舊倉庫。等哪天舊倉庫被清空拆掉,那些貨也就跟著沒了。

什麼時候看:貴單位有既有的儲存設備、政策要求檔案必須存放在該處時。沒有這個需求就不用看這章——維持出廠設定就好。

🔴 動手前請先把本章讀完。 切換儲存後端的當下不會有任何東西壞掉、畫面上也看不出差別——但有一類檔案會立刻變成打不開,還有一類會在您把舊儲存設備下線的那一刻永久消失。這兩件事都不會有錯誤訊息。

換句話說:這是一個「當下看起來很順利、問題後來才爆」的操作。這也是為什麼要整章讀完再動手。


7.1 出廠預設是什麼

系統出廠時,所有檔案(證據、報告、附件、合規框架 PDF)都存放在隨系統內建的物件儲存guidant-seaweedfs 服務)裡。這是安裝程式自動設定好的,貴單位不需要做任何事。

物件儲存 是專門用來放檔案的服務,類似公司內部的雲端硬碟——檔案丟進去,之後靠一組路徑把它取回來。

多數情況維持預設即可。只有在貴單位有既有的儲存設備(S3 相容儲存、NAS、雲端儲存桶)且政策要求檔案存放於該處時,才需要走本章。

S3 相容 是一種業界通用的檔案存取規格,很多儲存產品都支援它。只要標榜「S3 相容」,存取方式就大同小異,本系統都能接。

NAS 是機房裡專門放檔案的網路儲存設備。

儲存桶(bucket) 是物件儲存裡的一個獨立空間,可以想成雲端硬碟裡的一個最上層資料夾。

切換位置:登入後 → 選單「系統管理」→「儲存設備設定」。

這一頁不是只有最高權限的帳號才能開。只要角色勾了「儲存設備設定」的讀取/修改權限就能維護,設定方式見 第三章 3.9

可以選哪些

「儲存設備類型」下拉共四個選項:

選項 是什麼 選了之後還要填什麼
SeaweedFS(系統內建) 出廠預設,隨系統安裝的物件儲存 安裝程式已填好,正常不用動
Minio 貴單位自有的 S3 相容物件儲存(MinIO 或任何相容服務) 位址、Access Key、Secret Key、Bucket 名稱、是否走 TLS
本地儲存 直接存在主機的某個目錄 儲存路徑
使用 Agent 服務 檔案交由貴單位自己主機上的「檔案 Agent」保管——檔案不離開該台主機,系統只透過 Agent 存取 選擇一台已註冊且在線的 Agent

Access Key/Secret Key 是存取這個儲存空間的帳號與密碼,由貴單位的儲存管理員提供。

TLS 是連線加密。走 TLS 表示系統與儲存設備之間的傳輸是加密的(就是網址開頭 https 的那個機制)。

Agent 是安裝在貴單位其他主機上的小程式,可以替本系統做主機檢測、或替本系統保管檔案。

「使用 Agent 服務」的前置條件:要先在「系統管理」→「Agent 管理」註冊過至少一台 Agent,且該 Agent 正常上線、具備檔案儲存能力(隨 Agent 的版本自動回報,不需要人工開通)。下拉選單裡沒有可選項目時,多半就是還沒有 Agent 或 Agent 不在線。接 Agent 的步驟見 第十章 10.5

選 Agent 服務同樣適用本章下面三條警語——它一樣是「換一個地方存」,不是「把舊檔搬過去」。


7.2 三條核心警語

這三條是整章最重要的內容。看不完全章的話,至少要看完這一節。

① 切換只影響「之後」上傳的檔案;舊檔仍留在原本的儲存

切換之後,新上傳的檔案會進到新的儲存;先前已經上傳的檔案仍然躺在原本的儲存裡,系統也仍然讀得到它們——因為每個檔案在資料庫裡都記著「我當初存在哪一種儲存」,讀取時會依此找到對應的設定。

所以切換當下不會有任何東西壞掉,畫面上也看不出差別。這是好事,但也正是下一條警語容易被忽略的原因。

② 舊的儲存要下線之前,必須先把檔案搬過去,否則永久遺失

承上:舊檔還在舊儲存裡。如果在切換之後把舊的儲存設備關機、刪除、或回收,那些檔案就永久消失了——資料庫裡的紀錄還在(檔名、上傳者、時間都看得到),但點下去下載不到任何東西。

正確順序

  1. 先設定新的儲存後端
  2. 把舊儲存內的檔案完整搬移到新儲存(保持相同的檔案路徑/key
  3. 驗證:隨機挑幾個較舊的檔案,實際點開下載確認讀得到
  4. 確認無誤後,才可以將舊儲存下線

保持相同路徑/key」是這一步最關鍵的要求。系統是靠當初記下的那組路徑去找檔案的,路徑一改就找不到——即使檔案確實搬過去了也一樣。搬移工具要用「原樣複製整個目錄結構」的模式,不要重新命名、不要換層級。

目前系統沒有內建的一鍵搬移工具(規劃中)。需要搬移時請聯繫原廠協助,或由貴單位的維運人員以儲存設備自身的同步工具(如 S3 相容儲存的 mirror/sync 指令)執行,務必保持檔案路徑不變

③ 🔴 系統內建檔案(合規框架 PDF)切換後立即不可用

這一條與前兩條的行為不同,也是最容易出事的一條。

一般使用者上傳的檔案,系統是「看檔案自己記的儲存位置」去讀(所以切換後舊檔照樣讀得到,見警語 ①)。但系統內建的檔案——最典型的就是合規框架的 PDF 原文——走的是另一條路徑:它們讀的是「當下設定的儲存後端」,不看檔案自己記的位置。

結果是:切換儲存後端的那一刻,合規框架的 PDF 預覽立刻打不開(顯示空白頁,沒有錯誤訊息)。不需要等到舊儲存下線,切換完成當下就會發生。

因此,切換前必須先把系統內建檔案搬到新儲存。這些檔案在系統出廠時就隨安裝包一起附上並灌入內建儲存(在出貨包的 storage-seed/ 目錄下可以看到它們的檔名與路徑結構)。若不確定有哪些、放在哪裡,請聯繫原廠取得清單。

失敗長什麼樣:使用者打開合規框架,PDF 預覽區一片空白,畫面上沒有紅字、沒有錯誤提示,看起來像是那份 PDF 本來就沒上傳。看到這個症狀而您近期切過儲存,答案幾乎就是這一條。


7.3 建議的切換流程

把上面三條合起來,安全的切換順序是:

重點是順序:先搬檔、再切換、再驗證,最後才碰舊儲存。 只要把「下線舊儲存」放到最後一步,即使中間出錯也還有退路。

① 先把「系統內建檔案」複製到新儲存(保持相同路徑)  ← 對應警語 ③
② 把「既有使用者上傳的檔案」複製到新儲存(保持相同路徑)  ← 對應警語 ②
③ 在「儲存設備設定」頁切換到新儲存
④ 驗證:
   · 開一份合規框架的 PDF 預覽 → 應正常顯示
   · 隨機開幾份較舊的證據附件 → 應正常下載
   · 上傳一個新檔並下載 → 應正常
⑤ 全部驗過之後,才可以把舊儲存下線

第 ④ 步三項全過長什麼樣:PDF 正常顯示內容、舊附件正常下載開得起來、新上傳的檔案下載回來內容正確。三項要全部通過才算成功——只驗新上傳那項是最常見的疏漏,因為它一定會過,卻完全驗不到前面兩條警語的問題。

建議在非上班時段做,並事先備份資料庫(見 第四章 4.7)。切換本身不會動到資料庫,但驗證期間若發現問題,有備份會比較從容。


7.4 切回系統內建儲存(一鍵恢復)

改接自有儲存之後想再切回系統內建的那組,不需要上主機查帳號密碼手抄回填——「儲存設備設定」頁上有一顆「恢復系統內建儲存」按鈕,按下去系統會自己把出廠那組設定填回來。

按鈕什麼時候會出現:目前不是使用內建儲存、且這台機器有出廠設定快照時。因此:

  • 目前就在用內建儲存 → 不顯示(沒有東西要恢復)。
  • 從舊版升上來的機器 → 升級時會自動補建快照(見 第五章 5.3 ④-2);若當時補建失敗,這顆按鈕就不會出現,重跑一次升級即可補上。

操作:按下按鈕 → 確認視窗 → 完成後畫面顯示「已恢復為系統內建儲存」,表單同步刷新成內建那組設定。全程不需要、也不會看到任何帳號密碼。

🔴 恢復=換一個地方存,不是把檔案搬回來。 存放在自有儲存服務上的既有檔案不會自動搬移,切回內建之後系統讀不到它們(症狀與 7.2 警語 ① ② 完全相同)。要保留那些檔案,請先完成搬移再按恢復。確認視窗上也有這段警語。

也就是說:「恢復」這個字容易讓人以為東西會回來,實際上不會。 它恢復的只是「設定」,不是「檔案」。


7.5 升級不會替您切換

從舊版升級到有內建物件儲存的版本時,升級程序刻意不會改變您現有的檔案儲存位置——那是貴單位的決定,不是升級應該代做的事。

升級只負責讓新的服務起得起來。要不要改用內建儲存,請依本章的流程自行評估與執行。