小明同學負責一個FineReport工程的維運,為了防止工程出現意外,需要定期對工程進行備份。
FineReport/FineBI提供了「備份還原」功能,但是在使用該功能的程式中,小明又愛又恨。
1)無法異地備份:工程部署在A伺服器上,備份的內容也在A伺服器上,結果小明誤刪除的時候,把工程和備份都刪除了。
2)備份速度緩慢:隨着工程中的範本、資料越來越多,應用備份的速度越來越慢了。
3)還原邏輯複雜:JAR包、範本、配置都是分開備份的,但是大多時候需要將這些內容按照時間點統一備份還原。
4)備份內容不全:一些重要內容不在備份還原範圍內,會影響工程的正常運作,例如classes、resources等。
針對備份還原的相關訴求,維運平台提供「備份專案」功能,幫助使用者對工程進行異地、整體、快速的備份還原。
在瞭解具體場景方案之前,使用者應當先了解下,一個FineReport/FineBI工程中,需要備份的內容有哪些:
備份內容:工程的數據決策系統配置,包括:系統設定、使用者、權限、BI範本等
備份必要性:沒有備份的話,工程還原後,平台中的所有使用者、權限、目錄等配置都會丟失
使用內建資料庫:webroot\WEB-INF\embed\finedb
使用外接資料庫:外接資料庫中
備份內容:FineReport的報表範本檔案
備份必要性:FineReport最重要的範本檔案,沒有備份的話,就無法存取任何一張範本
單機:webroot\WEB-INF\reportlets
叢集:檔案伺服器\reportlets
備份內容:工程的JAR包
備份必要性:沒有備份的話,工程還原後,工程無法正常運作
備份內容:工程客製/外部引入的JAR包
備份內容:工程安裝的插件
備份必要性:沒有備份的話,工程還原後,依賴插件運作的範本和功能將無法正常使用
備份內容:工程中自訂的一些程式資料集等編譯好的可執行class檔案
備份必要性:沒有備份的話,工程還原後,依賴這些class檔案的範本,無法正常使用
備份內容:設計器註冊檔案、範本加密檔案
備份必要性:沒有備份的話,工程還原後,透過lic方式註冊的工程需要重新註冊,使用了範本加密會導致所有範本都打不開
單機:webroot\WEB-INF\resources
叢集:檔案伺服器\resources
備份內容:FineBI的Excel原始檔案資訊、FineReport範本備份檔案、通用的共享持久化目錄
備份必要性:工程正常運作所需要的檔案,如不copy會影響工程正常使用
webroot\WEB-INF\assets
備份內容:叢集的一些配置資訊,例如外接資料庫配置資訊,僅當記錄過叢集配置資訊後才會出現
備份必要性:如果工程配置了外接庫或開啟了叢集,沒有備份的話,工程還原後是單機+內建,叢集的連結資訊都會丟失,需要重新配置外接庫
單機:webroot\WEB-INF\config
叢集:檔案伺服器\config
備份內容:FineDataLink任務相關的配置檔案
備份必要性:如不備份,工程還原後,會影響FineDataLink任務使用
(如不存在該資料夾,說明工程沒有使用FDL相關功能,略過)
對於不同情況下部署的FineReport/FineBI工程,工程的最佳備份還原方案不完全相同。
1)非容器化部署工程
部署方式說明:未使用FineKey工具/維運平台部署的FineReport、FineBI工程。
備份還原方案:
本機備份還原:透過數據決策系統的功能,可以進行本機備份還原。備份內容包括JAR包、範本檔案、插件、配置庫。
異地備份還原:透過維運平台對接非容器化工程,可以實現異地備份,需要手動還原。備份內容包括JAR包、範本檔案、插件、配置庫。
叢集備份還原:對於叢集組件備份的場景,基本都需要管理者自行手動備份還原。
2)容器化部署工程自有配置庫
部署方式說明:使用FineKey工具/維運平台部署的FineReport、FineBI工程,且工程的finedb配置庫是後期自行接入的,工程使用的叢集組件都是使用者自行安裝配置。
備份還原方案:維運平台僅能將工程的JAR包、插件、叢集配置和classes備份到維運平台所在伺服器,其餘都需要管理者自行處理。
3)容器化部署工程(推薦)
部署方式說明:使用FineKey工具/維運平台部署的FineReport、FineBI工程,且工程的finedb配置庫、叢集組件等是部署時全新安裝接入的。
備份還原方案:維運平台可以直接實現全部功能功能化備份還原,包括異地備份
容器化部署工程
自有配置庫
工程未配置外接資料庫:
使用數據決策系統的備份還原功能
對平台配置進行備份還原
工程配置了外接資料庫:
使用者自行手動備份
使用者自行手動還原
帆軟無法提供相關功能或指導
使用維運平台的備份還原功能,對整體工程進行備份還原
1)備份內容包括:
assets
reportlets
resources
dashboards
config
plugins
classes
customlib
drivers
2)其中assets下排除了:
temp_attach/default
temp_attach/session
temp_attach/query
temp_attach/restart
對報表範本進行備份還原
對工程JAR包進行備份還原
對插件進行備份還原
無需備份
維運平台和FR/BI工程異地部署(部署在不同伺服器上)
使用維運平台的備份還原功能,即可對平台配置進行異地備份
使用者自行手動異地備份
使用維運平台的備份還原功能,即可對整體工程進行異地備份還原
使用維運平台的備份還原功能,即可進行異地備份
備份到檔案伺服器
使用維運平台的備份還原功能,對以下叢集組件進行備份還原
外接資料庫:MySQL單機
檔案伺服器:MinIO單機
負載均衡:nginx單機
狀態伺服器:Redis單機
使用者自行手動還原帆軟無法提供相關功能或指導
對比完本文各種類型工程的備份還原方案後,推薦進行下一步操作:
未部署帆軟應用
可參考本文,使用維運平台容器化部署FineBI/FineReport/FineDataLink
本文主要講述的是備份還原的場景案例,推薦你進行閱讀並瞭解維運平台的備份還原功能:
備份專案
還原專案
支援一鍵備份,支援自動備份,支援異機備份。
支援還原備份,支援管理備份版本,支援查看備份失敗記錄