Files
012-kaopeilian/docs/规划/数据盘规划方案.md
111 998211c483 feat: 初始化考培练系统项目
- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
2026-01-24 19:33:28 +08:00

6.1 KiB
Raw Blame History

考培练系统 - 数据盘规划方案

更新日期2025-12-18

本文档描述了如何将考培练系统的持久化数据迁移到数据盘,确保数据安全且按租户隔离。

一、当前磁盘状态

磁盘 挂载点 容量 已用 可用 用途
系统盘 /dev/vda3 / 79G 35G 41G 系统 + Docker
数据盘 /dev/vdb1 /data 60G 1.6G 55G 持久化数据

注意:系统盘已于 2025-12-18 从 49G 在线扩展至 79G原分区未使用全部 80G 磁盘空间)

二、数据盘目录规划

/data/
├── kaopeilian/                    # 考培练系统数据根目录
│   ├── uploads/                   # 统一上传文件存储(按租户隔离)
│   │   ├── demo/                  # 演示版 (aiedu.ireborn.com.cn)
│   │   │   ├── courses/           # 课程资料
│   │   │   └── converted/         # 转换后的文件
│   │   ├── kpl/                   # 瑞小美 (kpl.ireborn.com.cn)
│   │   │   ├── courses/
│   │   │   └── converted/
│   │   ├── yy/                    # 杨扬宠物 (yy.ireborn.com.cn)
│   │   ├── hl/                    # 武汉禾丽 (hl.ireborn.com.cn)
│   │   ├── xy/                    # 芯颜定制 (xy.ireborn.com.cn)
│   │   ├── fw/                    # 飞沃 (fw.ireborn.com.cn)
│   │   ├── hua/                   # 华尔倍丽 (hua.ireborn.com.cn)
│   │   └── peilian/               # 陪练试用版 (pl.ireborn.com.cn)
│   ├── backups/                   # 数据库备份
│   │   ├── daily/                 # 每日备份保留7天
│   │   └── weekly/                # 每周备份保留4周
│   └── logs/                      # 应用日志归档
│
├── mysql-data/                    # MySQL 数据目录(已存在)
├── redis-data/                    # Redis 数据目录(已存在)
└── prod-envs/                     # 生产环境配置(已存在)

三、迁移步骤

3.1 创建目录结构

# 创建统一上传目录
mkdir -p /data/kaopeilian/uploads/{demo,kpl,yy,hl,xy,fw,hua,peilian}
mkdir -p /data/kaopeilian/backups/{daily,weekly}
mkdir -p /data/kaopeilian/logs

3.2 迁移演示版和瑞小美上传文件

# 迁移演示版(当前用于演示和瑞小美共用)
cp -rp /root/aiedu/kaopeilian-backend/uploads/* /data/kaopeilian/uploads/demo/

# 迁移多客户版上传文件
cp -rp /data/prod-envs/uploads-yy/* /data/kaopeilian/uploads/yy/
cp -rp /data/prod-envs/uploads-hl/* /data/kaopeilian/uploads/hl/
cp -rp /data/prod-envs/uploads-xy/* /data/kaopeilian/uploads/xy/
cp -rp /data/prod-envs/uploads-fw/* /data/kaopeilian/uploads/fw/
cp -rp /data/prod-envs/uploads-hua/* /data/kaopeilian/uploads/hua/

3.3 更新 Docker Compose 卷挂载

修改各 docker-compose 文件,将上传目录指向数据盘:

演示版 (docker-compose.yml):

volumes:
  - /data/kaopeilian/uploads/demo:/app/uploads

瑞小美 (docker-compose.kpl.yml):

volumes:
  - /data/kaopeilian/uploads/kpl:/app/uploads

多客户版 (docker-compose.prod-multi.yml):

# yy-backend
volumes:
  - /data/kaopeilian/uploads/yy:/app/uploads

# hl-backend
volumes:
  - /data/kaopeilian/uploads/hl:/app/uploads

# 以此类推...

四、数据安全策略

4.1 自动备份内容

备份脚本位置:/data/kaopeilian/backup.sh

备份的数据库共8个

租户 数据库容器 数据库名 备份文件
演示版 kaopeilian-mysql kaopeilian kaopeilian_demo.sql
瑞小美 kpl-mysql-dev kaopeilian kaopeilian_kpl.sql
杨扬宠物 prod-mysql kaopeilian_yy kaopeilian_yy.sql
武汉禾丽 prod-mysql kaopeilian_hl kaopeilian_hl.sql
芯颜定制 prod-mysql kaopeilian_xy kaopeilian_xy.sql
飞沃 prod-mysql kaopeilian_fw kaopeilian_fw.sql
华尔倍丽 prod-mysql kaopeilian_hua kaopeilian_hua.sql
陪练试用版 peilian-mysql peilian_trial peilian_trial.sql

备份的上传文件(按租户隔离):

  • /data/kaopeilian/uploads/demo/ - 演示版
  • /data/kaopeilian/uploads/kpl/ - 瑞小美
  • /data/kaopeilian/uploads/yy/ - 杨扬宠物
  • /data/kaopeilian/uploads/hl/ - 武汉禾丽
  • /data/kaopeilian/uploads/xy/ - 芯颜定制
  • /data/kaopeilian/uploads/fw/ - 飞沃
  • /data/kaopeilian/uploads/hua/ - 华尔倍丽
  • /data/kaopeilian/uploads/peilian/ - 陪练试用版

4.2 备份策略

类型 执行时间 保留时间 存储位置
日备份 每天凌晨 2:00 7 天 /data/kaopeilian/backups/daily/
周备份 每周日凌晨 2:00 4 周 /data/kaopeilian/backups/weekly/

4.3 手动执行备份

# 立即执行完整备份
/data/kaopeilian/backup.sh

# 查看备份日志
tail -f /data/kaopeilian/logs/backup.log

# 查看备份文件
ls -lh /data/kaopeilian/backups/daily/

4.4 数据恢复

# 解压备份
cd /data/kaopeilian/backups/daily/
tar -xzf 20251218_131215.tar.gz

# 恢复指定数据库(以瑞小美为例)
docker exec -i kpl-mysql-dev mysql -u root -p'nj861021' kaopeilian < 20251218_131215/kaopeilian_kpl.sql

# 恢复上传文件
cp -rp 20251218_131215/uploads/kpl/* /data/kaopeilian/uploads/kpl/

五、优势

特性 说明
数据隔离 各租户上传文件完全隔离,互不影响
持久化 数据存储在独立数据盘,不受系统重装影响
易备份 统一目录结构,便于备份和恢复
可扩展 数据盘可在线扩容,支持业务增长
系统盘干净 Docker 镜像和容器在系统盘,数据在数据盘

六、注意事项

  1. 迁移前备份:在迁移前务必备份所有上传文件
  2. 符号链接:可以创建符号链接保持代码兼容性
  3. 权限设置:确保 Docker 容器有读写权限
  4. 监控磁盘:设置磁盘空间监控告警