跳到主要内容

数据管理

数据存储介绍​

在单机部署模式下,存储组件均已内置于镜像内,使用者并不需要另外安装,产生的数据通过挂载的方式存储于服务器指定目录。

HAP 默认数据路径为 /data/mingdao,如果你有自定义数据路径,则以实际为准

存储组件产生的数据默认挂载在服务器的 /data/mingdao/script/volume/data/ 目录下,目录结构呈下:

/data/mingdao/script/volume/data/
├── elasticsearch
├── elasticsearch-8
├── kafka
├── logs
├── mongodb
├── mysql
├── redis
├── storage
└── zookeeper

各目录存储数据说明:

  • elasticsearch , v3.9.0 以前版本的 elasticsearch 数据目录

  • elasticsearch-8,v3.9.0 及以后版本的 elasticsearch 数据目录,主要支撑超级搜索、应用日志功能

  • kafka,存储消息队列的数据,过期数据默认会自动清理

  • logs,组件服务的日志目录

  • mongodb,存储业务数据(如:应用、工作表、工作流等)

  • mysql,主要存储用户、组织等系统基础数据

  • redis,缓存数据

  • storage,存储附件一类数据

  • zookeeper,为 kafka 提供服务

数据备份​

  • 参考 HAP 提供的备份文档

  • 如果用的是云主机,可以使用云厂商的磁盘快照功能

数据清理​

经验表明,logs、mongodb 和 storage 三类数据占用的磁盘空间相对较大

  • logs 目录下存储的组件服务的日志,如果你不需要这些日志数据,可以选择进行清理

  • mongodb 存储的是业务数据,目前仅支持日志数据归档 与 清理已删除过的应用数据

  • storage 存储的是附件一类数据,这类数据为用户在页面所上传,如果磁盘容量无法承载业务量,建议页面上减小上传大小限制

如果你的环境升级过版本,历史版本的镜像如果没有清理,也会占用一些磁盘容量

历史版本镜像清理示例
  1. 查看当前服务器上的镜像文件列表

    [root@localhost ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-hap 4.4.2 cacc79998cbd 5 days ago 9.33GB
    registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-hap 4.3.0 e0c6e370de63 9 days ago 9.26GB
    registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc 1.2.0 cc4d668f289b 4 months ago 2.66GB
    • 比如当前版本为 4.4.2 ,则 4.3.0 的镜像可以进行清理
  2. 清理历史版本镜像

    docker image rm registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-hap:4.3.0
    或
    docker image rm e0c6e370de63

如果以上清理方法无法解决磁盘空间不足的问题,则需要考虑扩容磁盘容量

数据迁移​

方案一:备份还原​

按 数据备份 文档备份老环境数据,再按 数据还原 文档还原到新环境。可选择 dump 或文件复制方式。

方案二:目录迁移​

停止服务后,将老环境的完整数据目录迁移到新服务器,保留原有配置和数据。

提示

以下以默认数据目录 /data/mingdao 为例。新、老环境的数据路径需一致,自定义路径请按实际情况修改。

迁移前确认磁盘空间足够存放压缩包和解压后的数据。目录外的挂载文件、代理配置和证书需单独迁移。

  1. 部署新环境

    安装与老环境相同版本的 HAP 及配套组件,CPU 架构也需一致。

  2. 停止新、老环境

    在新、老服务器上,分别进入管理器根目录,停止管理器和 HAP 服务:

    bash ./service.sh stopall

    确认两端服务均已停止后再打包数据,迁移期间不要启动老环境。

  3. 打包老环境数据

    在老服务器上,将 /data/mingdao 下的全部内容打包,压缩包存放在数据目录同级:

    tar -zcpf /data/mingdao.tar.gz -C /data/mingdao .
  4. 传输数据压缩包

    将老服务器的 /data/mingdao.tar.gz 传输至新服务器的相同路径。

  5. 移走新环境原数据目录

    mv /data/mingdao /data/mingdao.bak-$(date +%Y%m%d%H%M%S)
  6. 创建新环境数据目录

    在新服务器上重新创建数据目录:

    mkdir -p /data/mingdao
  7. 解压老环境数据

    在新服务器上,将压缩包解压到 /data/mingdao,保留文件权限和属主:

    tar -zxpf /data/mingdao.tar.gz -C /data/mingdao
  8. 修改新环境访问地址

    在新服务器上编辑迁移后的配置文件:

    vi /data/mingdao/script/docker-compose.yaml

    检查 ENV_ADDRESS_MAIN 等访问地址配置,将所有引用旧环境访问地址的配置项改为对应的新环境地址。

  9. 启动新环境

    在新服务器上进入管理器根目录,启动管理器和 HAP 服务:

    bash ./service.sh startall
  10. 验证迁移结果

    通过新环境地址访问系统,检查登录、业务数据、工作流及附件上传下载是否正常。