概述
專案掛載目錄,是將宿主機上必要的工程檔案與容器中的檔案進行聯動的方式。用於實現資料持久化、檔案快速查看等功能。
本文簡單介紹如何準備維運專案的掛載目錄。
準備掛載目錄
維運平台部署的FineDataLink專案,重要檔案均外掛。請提前在主應用伺服器和組件伺服器的閒置磁碟下,建立好掛載目錄。
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/fdl資料夾下建立資料夾,會因為未持久化而丟失。
如需上傳資源,可上傳到子資料夾中,建議優先上傳至/掛載目錄/fanruanxxx/fdl/help資料夾中。
外掛目錄下資料夾 | 說明 | |
---|---|---|
fdl 此部分內容,叢集每個主應用節點下儲存一份,內容完全相同 | ||
config | /usr/local/tomcat/webapps/webroot/WEB-INF/config | 平台呼叫的配置庫(finedb)相關文件 其中deployment_list.yaml,記錄了組件安裝的相關docker命令 |
customlib | /usr/local/tomcat/webapps/webroot/WEB-INF/customlib | customlib/lib:存放工程客製/外部引入的JAR包 customlib/fonts:存放工程字體文件 該資料夾及其子資料夾中,上傳檔案數量不可超過1000 |
logs | /usr/local/tomcat/webapps/webroot/logs | swift日誌(即logdb) |
mount | /usr/local/tomcat/mount | 存放setenv.sh檔案,用於設定工程的環境變數和啟動參數 |
plugins | /usr/local/tomcat/webapps/webroot/WEB-INF/plugins | 插件相關檔案 |
ROOT | /usr/local/tomcat/webapps/ROOT | 儲存企業微信域名校驗檔案等必要資訊 |
tomcat_logs | /usr/local/tomcat/logs | Tomcat通用日誌 |
外掛目錄下資料夾 | 對應容器內路徑 | 說明 |
fdl 此部分內容,叢集不儲存在外掛目錄中,而是儲存在檔案伺服器中 | ||
assets | /usr/local/tomcat/webapps/webroot/WEB-INF/assets | temp_attach:存放着工程Excel原始檔案資訊 vcs:FineReport範本備份檔案 drivers:驅動管理上傳的驅動,會自動同步到工程WEB-INF/drivers資料夾中 其他檔案:通用的共享持久化目錄 |
backup | /usr/local/tomcat/webapps/webroot/backup | 工程歷史備份檔案 |
dpworks | /usr/local/tomcat/webapps/webroot/WEB-INF/dpworks | FineDataLink任務相關的配置檔案 |
resources | /usr/local/tomcat/webapps/webroot/WEB-INF/resources | 存放工程相關的資源配置檔案 |
treasures | /usr/local/tomcat/webapps/webroot/WEB-INF/treasures | 雲端健檢分析生成的資料包 |
外掛目錄下資料夾 | 對應容器內路徑 | 說明 |
ops_agent | ||
conf | /usr/local/agent/conf | agent 的配置檔案 |
logs | /usr/local/agent/logs | 日誌目錄,用於儲存 agent 的日誌檔案 |
resources | /usr/local/agent/resources | 包含資源檔案 |
外掛目錄下資料夾 | 對應容器內路徑 | 說明 |
mysql | ||
bin | - | 包含 MySQL 的可執行檔案,如 mysql 和 mysqld 該資料夾包括用於啟動、停止和管理 MySQL 服務的命令 |
data | /var/lib/mysql | 資料目錄,用於儲存 MySQL 資料庫的實際資料檔案,包括表資料、索引等 通常包含一個 mysql 子目錄,用於儲存 MySQL 系統資料庫的資料檔案,以及其他使用者建立的資料庫的資料檔案 |
log | /var/log/mysql | 包含用於記錄各種活動和事件的日誌檔案 |
外掛目錄下資料夾 | 對應容器內路徑 | 說明 |
kafka | ||
data | /bitnami/kafka/data | 儲存 Kafka 的實際訊息資料 |
config/kraft | /opt/bitnami/kafka/config/kraft | 存放 Kafka 的配置檔案 |
外掛目錄下資料夾 | 對應容器內路徑 | 說明 |
nginx | ||
conf | /usr/local/nginx/conf | Nginx 的配置檔案,如 nginx.conf 包含 Nginx 的虛擬主機、反向代理、負載均衡、快取設定等配置 |
log | /usr/local/nginx/logs | 日誌目錄,用於儲存 Nginx 的存取日誌、錯誤日誌等 存取日誌記錄了每個請求的詳細資訊,錯誤日誌記錄了 Nginx 在處理請求時遇到的錯誤資訊 |
lua | /usr/local/nginx/lua | 啟動 Lua 模組,包含 Lua 腳本檔案,用於自訂 Nginx 的行為 |
外掛目錄下資料夾 | 對應容器內路徑 | 說明 |
redis | ||
data | /data | 資料目錄,用於儲存 Redis 的持久化資料,包括主從同步時的資料檔案、持久化檔案(如 RDB 和 AOF 檔案)等 這個目錄通常包含 dump.rdb 檔案和 appendonly.aof 檔案 |
外掛目錄下資料夾 | 對應容器內路徑 | 說明 |
minio | ||
data | /data | 資料目錄,用於儲存 MinIO 伺服器的資料 所有上傳到 MinIO 的物件都會儲存在這個目錄下,按照儲存桶和物件鍵進行組織 |