概述
项目挂载目录,是将宿主机上必要的工程文件与容器中的文件进行关联的方式。用于实现数据持久化、文件快速查看等功能。
本文简单介绍如何准备运维项目的挂载目录。
准备挂载目录
运维平台部署的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 | 工程定制/外部引入的JAR包 |
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 的对象都会存储在这个目录下,按照存储桶和对象键进行组织 |