JumpServer 存储目录迁移


飞致云 发布于 2023-03-15 / 2327 阅读 / 0 评论 /

1 问题描述

本文主要介绍 JumpServer 环境中存储目录空间占用率过高后,如何迁移到新的磁盘说明。

问题现象如下:当前根目录磁盘占用率为 92%,需要进行目录迁移(注:如遇磁盘占用率 100% 的情况,造成服务器操作卡顿,可以删除无用软件包或录像来减缓卡顿现象)

df -hT  # 查看磁盘占用率命令
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        97G   90G   24G  92% /
devtmpfs                devtmpfs  7.8G     0  7.8G   0% /dev
tmpfs                   tmpfs     7.8G     0  7.8G   0% /dev/shm
tmpfs                   tmpfs     7.8G  818M  7.0G  11% /run
tmpfs                   tmpfs     7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  145M  870M  15% /boot
tmpfs                   tmpfs     1.6G     0  1.6G   0% /run/user/0
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/d24a7ab1b7470d1d9a6f7f9528fa60e42c02ac400b34488887884cd66008e92e/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/d9727428c862dc305de00cf18158c93dbe2851bb0298aba45258a3b8663d044f/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/52f5d1cbfbfd32afbde04dc5d79ba6f33474ea8c7d813dad375b7a41fc6ba603/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/43c142e913e883c53e6a614c50ef16096dfbca98318c3a42bac3cab5812ae78f/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/dd96148abd067ae4edcd415f5abf710b76556f9a57c5e8b31a7296d68e2e9e23/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/b63b09a1c125ce9a7f9cce0228fd060fbc68807984de9e3c3a6cb3030ae851bc/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/6583defb810d2568d193daf971e6e4804bac084fa9ff6e03aac6eacc7f5fff87/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/4f98bf55e3c4e874628597bdcf0be8d3c348b9feb33ebec754a88435cb145eda/merged
overlay                 overlay    97G   90G   24G  92% /var/lib/docker/overlay2/bb960b7c9b807926d56fa3fcaa67d187b5312c35e2a35328a5c0ead3e4bc7b8b/merged

2 操作步骤

2.1 准备工作

  1. 根据实际情况对环境做数据备份操作。

    • 录像文件默认路径:/data/jumpserver/core/data/media (v2 版本为 /opt/jumpserver)

    • 数据库数据备份:操作命令 jmsctl backup_db

    • 配置文件路径:/opt/jumpserver/config/config.txt

  2. 当前环境各目录迁移位置如下:

目录类型

迁移前目录位置

迁移后目录位置

Docker 目录

/var/lib/docker

/home/docker

JumpServer 存储目录

/data/jumpserver

/home/jumpserver

2.2 迁移 Docker 存储目录

  1. 查看 Docker 存储位置。

    # 查看 Docker 存储位置
    docker info | grep "Docker Root Dir"
     Docker Root Dir: /var/lib/docker
  2. 停止 JumpServer 和 Docker 服务。

    # 停止 JumpServer 服务
    jmsctl down
    
    # 停止 Docker 服务
    systemctl stop docker
  3. 迁移 Docker 存储目录。

    # 当前从 /var/lib/docker目录迁移至 /home/docker目录
    # 这里建议使用 cp 命令,在确认迁移无误后再操作旧目录的删除,
    # 数据量大的情况,迁移过程需要耐心等待
    cp -r /var/lib/docker/* /home/docker/       #特别注意的是目录前结构,不要多复制了一层目录
    
  4. 确认数据是否迁移完成。

    # 对比新目录与旧目录数据占用大小是否相同
    # 旧目录数据大小
    du -sh /var/lib/docker
    19G    /var/lib/docker
    
    # 新目录数据大小
    du -sh /home/docker
    19G    /home/docker
  5. 修改 daemon.json 配置文件。

    # 备份 daemon.json 配置文件
    cp /etc/docker/daemon.json /etc/docker/daemon.json.bak
    
    # 编辑 daemon.json 配置文件
    vim /etc/docker/daemon.json
    
    {
     "data-root": "/home/docker",   # 修改该配置为 /home/docker
     "live-restore": true,
     "log-driver": "json-file",
     "log-opts": {
      "max-file": "3",
      "max-size": "10m"
     },
     "registry-mirrors": [
      "https://hub-mirror.c.163.com",
      "http://f1361db2.m.daocloud.io"
     ]
    }
  6. 修改 JumpServer 配置文件。

    # 备份 config.txt 配置文件
    cp /opt/jumpserver/config/config.txt /opt/jumpserver/config/config.txt.bak
    
    # 编辑 config.txt 配置文件
    vi /opt/jumpserver/config/config.txt
    DOCKER_DIR=/home/docker  # 修改该配置为 /home/docker ,没有该参数可以则自行添加
  7. 启动 Docker 服务,确认 Docker 存储位置是否为新目录。

    # 启动 Docker 服务
    systemctl start docker
    
    # 查看 Docker 存储位置
    docker info | grep "Docker Root Dir"
     Docker Root Dir: /home/docker
  8. Docker 目录迁移完成,可启动 JumpServer 服务。

    # 启动 JumpServer 服务
    jmsctl start
    
    # 查看 JumpServer 服务状态
    jmsctl status
  9. 确认 Docker 新迁移可正常使用后,删除 Docker 旧目录。

    # 删除 Docker 旧目录
    rm -rf /var/lib/docker

2.3 迁移 JumpServer 存储目录

  1. 停止 JumpServer 服务。

    # 停止 JumpServer 服务
    jmsctl down
  2. 迁移 JumpServer 存储目录。

    # 当前从 /opt/jumpserver目录迁移至 /home/jumpserver目录
    # 这里建议使用 cp 命令,在确认迁移无误后再操作旧目录的删除
    # 数据量大的情况,迁移过程需要耐心等待
    cp -r /data/jumpserver/* /home/jumpserver/    
  3. 确认数据是否迁移完成。

    # 对比新目录与旧目录数据占用大小是否相同
    # 旧目录数据大小
    du -sh /data/jumpserver
    921M    /data/jumpserver
    
    # 新目录数据大小
    du -sh /home/jumpserver
    921M    /home/jumpserver
  4. 修改 JumpServer 配置文件。

    # 备份 config.txt 配置文件
    cp /opt/jumpserver/config/config.txt /opt/jumpserver/config/config.txt.bak
    
    # 编辑 config.txt 配置文件
    vi /opt/jumpserver/config/config.txt
    VOLUME_DIR=/home/jumpserver  # 修改该配置为 /home/jumpserver ,没有该参数可以则自行添加
  5. JumpServer 存储目录迁移完成,启动服务。

    # 启动 JumpServer 服务
    jmsctl start
    
    # 查看 JumpServer 服务状态
    jmsctl status
  6. 确认 JumpServer 页面访问、录像播放等功能正常使用后,可以删除 JumpServer 旧目录。

    # 删除 JumpServer 旧目录
    rm -rf /data/jumpserver



是否对你有帮助?