專案掛載目錄,是將宿主機上必要的工程檔案與容器中的檔案進行聯動的方式。用於實現資料持久化、檔案快速查看等功能。
本文簡單介紹如何準備維運專案的掛載目錄。
維運平台部署的FineBI專案,重要檔案均外掛。請提前在主應用伺服器和組件伺服器的閒置磁碟下,建立好掛載目錄。
1)查看伺服器磁碟空間
命令:df -h,找出可用空間較大的掛載點
例如本範例中,伺服器最合適的掛載目錄為/home目錄下
2)建立資料夾
使用 mkdir 命令建立資料夾(本範例在/home目錄下建立一個名叫fanruan的資料夾):mkdir /home/fanruan
該目錄位置/home/fanruan,即為部署維運專案時,節點配置中的「掛載路徑」
注:禁止直接使用/、/usr、/root、/usr/local四個目錄作為掛載路徑,可在對應位置建立資料夾使用
3)清空ACL規則
ACL用於精細化地控制不同使用者或使用者組對檔案和目錄的存取權限。
如果準備的掛載目錄配置了ACL規則,部署完成後,docker的data-root目錄會自動繼承ACL配置,進而導致各種各樣的權限問題,比如容器無法啟動等。
因此建議移除掛載目錄的所有 ACL 條目,僅保留傳統的 UNIX 權限(請修改/home/fanruan為你的安裝目錄)。
setfacl -b /home/fanruan/
4)配置目錄權限
安裝維運專案時,需要在掛載目錄新增、編輯檔案
對於準備的專案安裝目錄,請指定伺服器使用者為該資料夾的所有者
chown -R 帳號 /專案掛載目錄絕對路徑
例如本範例中,指定/home/fanruan目錄的所有者為dev:chown -R dev /home/fanruan
對於準備的專案安裝目錄,請確定伺服器使用者有該資料夾的讀寫執行權限
chmod -R 755 /專案掛載目錄絕對路徑
例如本範例中,指定/home/fanruan目錄的所有者有該資料夾的讀寫執行權限:chmod -R 755 /home/fanruan
當專案部署成功後,在/掛載目錄/fanruanxxx/資料夾下,存放的即為專案各個組件的外掛內容。
只有這些外掛的內容,才能持久化,不會因為容器升級/重啟,導致檔案丟失。
請勿在/掛載目錄/fanruanxxx/bi-web資料夾下建立資料夾,會因為未持久化而丟失。
如需上傳資源,可上傳到子資料夾中,建議優先上傳至/掛載目錄/fanruanxxx/bi-web/help資料夾中。
bi-web
此部分內容,每個bi-web組件目錄下儲存一份,內容完全相同
平台呼叫的配置庫(finedb)相關文件
其中deployment_list.yaml,記錄了組件安裝的相關docker命令
customlib
customlib/lib:存放工程客製/外部引入的JAR包
customlib/fonts:存放工程字體文件
該資料夾及其子資料夾中,上傳檔案數量不可超過1000
工程需要呼叫的一些css、js、html、圖片等資源
用於存放自訂檔案
此部分內容,不儲存在外掛目錄中,而是儲存在檔案伺服器中
請前往叢集檔案伺服器中尋找相關內容
vcs:FineReport範本備份檔案
drivers:驅動管理上傳的驅動,會自動同步到工程WEB-INF/drivers資料夾中
其他檔案:通用的共享持久化目錄
bi-engine-worker
此部分內容,每個bi-engine-worker組件目錄下儲存一份,內容完全相同
bi-engine-master
1)polars 運作的資料目錄,啟動後會自動生成 logs,gc 在此目錄
2)對於維運平台部署的FineBI專案,如需上傳自訂函式相關的class檔案請上傳至每個bi-engine-worker外掛目錄/polars/classes資料夾及子資料夾中。
例如如需上傳至容器內/polars/classes/com/fr/function中,即可直接上傳至外掛目錄/polars/classes/com/fr/function中
包含 MySQL 的可執行檔案,如 mysql 和 mysqld
該資料夾包括用於啟動、停止和管理 MySQL 服務的命令
資料目錄,用於儲存 MySQL 資料庫的實際資料檔案,包括表資料、索引等
通常包含一個 mysql 子目錄,用於儲存 MySQL 系統資料庫的資料檔案,以及其他使用者建立的資料庫的資料檔案
Elasticsearch 的配置檔案,如 elasticsearch.yml
包含 Elasticsearch 的各種參數,如節點名稱、叢集配置、網路設定等
資料目錄,用於儲存 Elasticsearch 的索引資料、文檔資料、日誌資料等
通常包含一個名為 nodes 的子目錄,每個節點都有自己的子目錄來儲存資料
日誌目錄,用於儲存 Elasticsearch 的日誌檔案
這些日誌檔案包括啟動日誌、索引程式中的日誌、錯誤日誌等
包含安裝的 Elasticsearch 插件
安裝Elasticsearch 插件時,它們通常會被下載並解壓到這個目錄中
Nginx 的配置檔案,如 nginx.conf
包含 Nginx 的虛擬主機、反向代理、負載均衡、快取設定等配置
日誌目錄,用於儲存 Nginx 的存取日誌、錯誤日誌等
存取日誌記錄了每個請求的詳細資訊,錯誤日誌記錄了 Nginx 在處理請求時遇到的錯誤資訊
資料目錄,用於儲存 Redis 的持久化資料,包括主從同步時的資料檔案、持久化檔案(如 RDB 和 AOF 檔案)等
這個目錄通常包含 dump.rdb 檔案和 appendonly.aof 檔案
所有上傳到 MinIO 的物件都會儲存在這個目錄下,按照儲存桶和物件鍵進行組織