1 问题描述 {#1-%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0}
本文主要介绍 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-%E6%93%8D%E4%BD%9C%E6%AD%A5%E9%AA%A4}
2.1 准备工作 {#2.1-%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C}
-
根据实际情况对环境做数据备份操作。
-
录像文件默认路径:/data/jumpserver/core/data/media (v2 版本为 /opt/jumpserver)
-
数据库数据备份:操作命令 jmsctl backup_db
-
配置文件路径:/opt/jumpserver/config/config.txt
-
-
当前环境各目录迁移位置如下:
| 目录类型 | 迁移前目录位置 | 迁移后目录位置 | |-----------------|------------------|------------------| | Docker 目录 | /var/lib/docker | /home/docker | | JumpServer 存储目录 | /data/jumpserver | /home/jumpserver |
2.2 迁移 Docker 存储目录 {#2.2-%E8%BF%81%E7%A7%BB-docker-%E5%AD%98%E5%82%A8%E7%9B%AE%E5%BD%95}
-
查看 Docker 存储位置。
# 查看 Docker 存储位置 docker info | grep "Docker Root Dir" Docker Root Dir: /var/lib/docker
-
停止 JumpServer 和 Docker 服务。
# 停止 JumpServer 服务 jmsctl down 停止 Docker 服务 ============ `systemctl stop docker`
-
迁移 Docker 存储目录。
# 当前从 /var/lib/docker目录迁移至 /home/docker目录 # 这里建议使用 cp 命令,在确认迁移无误后再操作旧目录的删除, # 数据量大的情况,迁移过程需要耐心等待 cp -r /var/lib/docker/* /home/docker/ #特别注意的是目录前结构,不要多复制了一层目录
-
确认数据是否迁移完成。
# 对比新目录与旧目录数据占用大小是否相同 # 旧目录数据大小 du -sh /var/lib/docker 19G /var/lib/docker 新目录数据大小 ======= `du -sh /home/docker 19G /home/docker`
-
修改 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" ] }`
-
修改 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 ,没有该参数可以则自行添加`
-
启动 Docker 服务,确认 Docker 存储位置是否为新目录。
# 启动 Docker 服务 systemctl start docker 查看 Docker 存储位置 ============== `docker info | grep "Docker Root Dir" Docker Root Dir: /home/docker`
-
Docker 目录迁移完成,可启动 JumpServer 服务。
# 启动 JumpServer 服务 jmsctl start 查看 JumpServer 服务状态 ================== `jmsctl status`
-
确认 Docker 新迁移可正常使用后,删除 Docker 旧目录。
# 删除 Docker 旧目录 rm -rf /var/lib/docker
2.3 迁移 JumpServer 存储目录 {#2.3-%E8%BF%81%E7%A7%BB-jumpserver-%E5%AD%98%E5%82%A8%E7%9B%AE%E5%BD%95}
-
停止 JumpServer 服务。
# 停止 JumpServer 服务 jmsctl down
-
迁移 JumpServer 存储目录。
# 当前从 /opt/jumpserver目录迁移至 /home/jumpserver目录 # 这里建议使用 cp 命令,在确认迁移无误后再操作旧目录的删除 # 数据量大的情况,迁移过程需要耐心等待 cp -r /data/jumpserver/* /home/jumpserver/
-
确认数据是否迁移完成。
# 对比新目录与旧目录数据占用大小是否相同 # 旧目录数据大小 du -sh /data/jumpserver 921M /data/jumpserver 新目录数据大小 ======= `du -sh /home/jumpserver 921M /home/jumpserver`
-
修改 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 ,没有该参数可以则自行添加`
-
JumpServer 存储目录迁移完成,启动服务。
# 启动 JumpServer 服务 jmsctl start 查看 JumpServer 服务状态 ================== `jmsctl status`
-
确认 JumpServer 页面访问、录像播放等功能正常使用后,可以删除 JumpServer 旧目录。
# 删除 JumpServer 旧目录 rm -rf /data/jumpserver