当前位置:首页>Linux>Linux 使用 LVM 物理卷无损合并双磁盘完整指南

Linux 使用 LVM 物理卷无损合并双磁盘完整指南

  • 2026-04-19 07:06:32
Linux 使用 LVM 物理卷无损合并双磁盘完整指南

Linux 使用 LVM 物理卷无损合并双磁盘完整指南

💡 摘要: 本文详细介绍 Linux 环境下使用 LVM(Logical Volume Manager) 物理卷技术,在保留原有磁盘 (sdb) 数据的前提下,将新磁盘 (sdc) 与原有磁盘无损合并并统一挂载到/data 目录的完整方案。包含"先建后迁"安全策略、5 个关键操作注意事项、完整的回滚机制和数据验证流程,以及企业级性能优化建议。通过本文学习,你将掌握生产环境 LVM 磁盘管理的核心技能,实现存储资源的安全整合与弹性扩展。适合系统管理员、DevOps 工程师阅读。


1. 背景与核心需求

1.1 实际场景

# ✅ 当前磁盘状态/dev/sdb   1TB    # 已有重要数据,已挂载使用/dev/sdc   4TB    # 新磁盘,空盘待用# ❌ 核心需求1. 将 sdb(1TB) + sdc(4TB) 合并为统一的 5TB 存储空间2. 统一挂载到 /data 目录3. **关键要求**: 不能丢失 sdb 上的任何现有数据!4. 使用 LVM 物理卷技术实现灵活管理

1.2 技术挑战

  1. 数据安全性
    : sdb 上有重要数据,绝对不能丢失
  2. 业务连续性
    : 尽量减少停机时间
  3. 操作风险
    : 需要可靠的回滚方案
  4. 技术选型
    : 为什么选择 LVM 而不是其他方案

1.3 为什么选择 LVM

特性
LVM 物理卷
UnionFS
传统分区
胜出者
数据安全性
⭐⭐⭐⭐⭐ 高
⭐⭐⭐⭐ 较高
⭐⭐ 低
🏆 LVM
空间连续性
⭐⭐⭐⭐⭐ 真正连续
⭐⭐⭐ 逻辑连续
❌ 不连续
🏆 LVM
灵活性
⭐⭐⭐⭐⭐ 在线扩容
⭐⭐⭐ 一般
⭐ 差
🏆 LVM
性能表现
⭐⭐⭐⭐⭐ 原生
⭐⭐⭐ 有损耗
⭐⭐⭐⭐ 较好
🏆 LVM
可管理性
⭐⭐⭐⭐⭐ 优秀
⭐⭐⭐ 一般
⭐⭐ 复杂
🏆 LVM
推荐指数
⭐⭐⭐⭐⭐ 首选
⭐⭐⭐ 备选
⭐ 不推荐
🏆 LVM

推荐建议:

  • ✅ 生产环境: 优先选择 LVM (最安全可靠)
  • ✅ 需要连续空间: LVM 提供真正的连续存储空间
  • ✅ 未来扩容: LVM 支持在线添加磁盘

2. 方案原理与架构设计

2.1 "先建后迁"安全策略

2.2 核心优势

  1. 零数据丢失
    : sdb 数据始终保持完整,直到验证新环境正常
  2. 可回滚
    : 任何阶段发现问题都可立即回滚
  3. 业务影响小
    : 大部分准备工作可在业务运行时完成
  4. 灵活扩展
    : 未来可继续添加新磁盘

3. 完整实施步骤

阶段一:准备工作 (10 分钟)

步骤 1: 检查磁盘状态

# ✅ 查看磁盘列表和分区lsblksudo fdisk -l# 输出示例:# NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT# sdb      8:16   0    1T  0 disk # └─sdb1   8:17   0 1024G  0 part /data     ← 已有重要数据# sdc      8:32   0    4T  0 disk            ← 新盘,待用# ✅ 确认 sdb 的数据量和挂载情况df -h /datadu -sh /data/*# ✅ 记录原挂载信息sudo blkid /dev/sdb1 > /tmp/sdb_backup.txtmount | grep /data >> /tmp/sdb_backup.txtcat /etc/fstab | grep -v "^#" > /tmp/fstab_backup.txtecho "✓ 原磁盘信息已备份到 /tmp/sdb_backup.txt"

步骤 2: 安装 LVM 工具

# Ubuntu/Debiansudo apt updatesudo apt install -y lvm2 rsync# CentOS/RHELsudo yum install -y lvm2 rsync# ✅ 验证安装pvs --versionvgs --versionlvs --version# 输出示例:# LVM version: 2.03.11(2) (2021-01-08)

阶段二:创建 LVM 基础架构 (15 分钟)

步骤 3: 格式化 sdc 并创建物理卷

# ⚠️ 警告:以下操作会清除 sdc 的所有数据!# 再次确认 sdc 是要格式化的新盘# ✅ 最后确认lsblk /dev/sdcsudo fdisk -l /dev/sdc# ✅ 创建物理卷 (PV)# 注意:这会在 sdc 上创建 LVM 元数据sudo pvcreate /dev/sdc# 输出示例:# Physical volume "/dev/sdc" successfully created.# Wiping xfs file system signature on /dev/sdc.# ✅ 验证物理卷sudo pvssudo pvdisplay /dev/sdc# 输出示例:# PV         VG Fmt  Attr PSize PFree# /dev/sdc      lvm2 ---  <4t  <4t# "/dev/sdc" is a new physical volume (PV)# Size:  <4 TiB# Free:  <4 TiB

步骤 4: 创建卷组和逻辑卷

# ✅ 创建卷组 (VG) - 先只使用 sdc# 注意:暂时不添加 sdb,避免影响原有数据sudo vgcreate vg_data /dev/sdc# ✅ 创建逻辑卷 (LV) - 使用 sdc 的全部空间sudo lvcreate -l 100%FREE -n lv_data vg_data# ✅ 验证 LVM 结构sudo pvssudo vgssudo lvs# 输出示例:# PV         VG        Fmt  Attr PSize PFree# /dev/sdc   vg_data   lvm2 a--  <4t     0# VG        #PV #LV VSize VFree# vg_data     1   1 <4t     0# LV       VG        Attr   LSize# lv_data  vg_data   -wi-a----- <4t

步骤 5: 格式化逻辑卷并临时挂载

# ✅ 格式化为 ext4 (推荐,兼容性好)sudo mkfs.ext4 /dev/vg_data/lv_data# 或格式化为 xfs (适合超大文件)# sudo mkfs.xfs /dev/vg_data/lv_data# ✅ 创建临时挂载点sudo mkdir -p /data_new# ✅ 挂载新的逻辑卷sudo mount /dev/vg_data/lv_data /data_new# ✅ 验证df -h /data_new# 显示约 4TB 容量 (sdc 的大小)# ✅ 设置权限 (与原/data 保持一致)sudo chown -R (id-g) /data_newsudo chmod -R 755 /data_new

阶段三:数据迁移 (关键步骤!)

步骤 6: 同步数据到新卷

# ✅ 第一次全量同步 (业务不中断)# 使用 rsync 保留所有文件属性、权限、时间戳sudo rsync -av --progress /data/ /data_new/# ✅ 参数说明:# -a: 归档模式 (保留所有属性)# -v: 详细输出# --progress: 显示同步进度# ✅ 验证第一次同步结果echo "=== 源数据 ==="du -sh /data/echo "=== 目标数据 ==="du -sh /data_new/# 两者应该基本一致

预计时间:

  • 100GB 数据约需 30-60 分钟
  • 1TB 数据约需 3-5 小时
  • 取决于磁盘 I/O 速度

步骤 7: 增量同步 (减少停机时间)

# ✅ 在业务低峰期执行增量同步# 此时业务仍在运行,会有新数据产生sudo rsync -av --delete --progress /data/ /data_new/# ✅ 参数说明:# --delete: 删除目标端多余的文件 (保持完全一致)# ✅ 重复执行直到没有新变化while truedo    CHANGED=CHANGED"    [ (diff -rq /data/ /data_new/ | wc -l)echo "差异文件数:DIFF_COUNT-eq0 ]; then    echo "✓ 数据完全一致!"else    echo "⚠️ 发现 (find /data -type f |shuf|head-1)    REL_PATH=REL_PATH" ]; then        SRC_MD5=FILE" | cut -d' ' -f1)        DST_MD5=REL_PATH" | cut -d' ' -f1)        if [ "DST_MD5" ]; then            echo "✓ REL_PATH MD5 不匹配!"            exit 1        fi    else        echo "❌ 缺失文件:(date +%Y%m%d).tar.gz# ✅ 记录最终配置cat > /root/lvm_config.txt << EOF=== LVM 最终配置 ===创建时间:(sudo pvs)卷组:(sudo lvs)挂载信息:(find /data -type f |wc-l)DST_COUNT=SRC_COUNT, 目标=SRC_COUNT-ne(du-sb /data |cut-f1)DST_SIZE=SRC_SIZE, 目标=((SRC_SIZE - DST_SIZE)) -gt 1024 ]; then    echo "❌ 总大小差异超过 1KB!"    exit 1fi# 3. 随机抽样 MD5 验证echo "随机抽样验证 (10 个文件)..."ERROR_COUNT=0for i in {1..10}; do    FILE={FILE#/data/}    if [ -f "/data_new/(md5sum "(md5sum "/data_new/SRC_MD5"="REL_PATH OK"        else            echo "❌ REL_PATH"        ((ERROR_COUNT++))    fidoneif [ ERROR_COUNT 个文件有问题"    exit 1else    echo "✓ 数据完整性验证通过!"fi

⚠️ 注意 2: 业务切换窗口管理

#!/bin/bash# switch_window_management.sh# 标准切换流程脚本set -eecho "[通知] 将于 30 分钟后进行存储升级,预计停机 10 分钟"# 1. 预同步 (业务不中断)echo "[预同步] 开始第一次全量同步..."rsync -av /data/ /data_new/# 2. 等待 30 分钟,让业务继续运行...echo "[等待] 30 分钟后执行最终切换..."sleep 1800# 3. 正式切换 (业务中断开始)echo "[切换] 停止服务..."systemctl stop nginx mysql redis# 4. 最终同步echo "[最终同步] 执行增量同步..."rsync -av --delete /data/ /data_new/# 5. 切换挂载echo "[切换挂载] 卸载原目录,挂载新 LVM..."umount /dataumount /data_newmount /dev/vg_data/lv_data /data# 6. 启动服务echo "[启动服务]..."systemctl start nginx mysql redis# 7. 验证echo "[验证] 检查服务状态..."curl http://localhost/health || exit 1# 8. 通知完成echo "[完成] 存储升级完成,业务已恢复"echo "总停机时间:confirm"="yes" ] ||exit1# 1. 停止占用/data 的服务echo "停止服务..."fuser -km /data || true# 2. 卸载新 LVMecho "卸载新 LVM..."umount /data || true# 3. 恢复原挂载点echo "恢复原挂载点..."mount /dev/sdb1 /data# 4. 验证恢复echo "验证恢复..."df -h /datals -la /data/echo "✓ 回滚完成!已恢复到迁移前状态"

📊 监控与告警

实时监控脚本

#!/bin/bash# monitor_lvm_health.shLOG_FILE="/var/log/lvm_monitor.log"ALERT_THRESHOLD=85log() {    echo "1"|tee-aline"done    # 检查卷组    log "卷组状态:"    sudo vgs | while read line; do log "line"done    # 检查空间使用    USAGE=5}'|tr-d'%')    if [ ALERT_THRESHOLD ]; then        log "⚠️ 警告:/data 使用率 {USAGE}%" | mail -s "存储告警" admin@example.com    else        log "✓ /data 使用率 ${USAGE}% 正常"    fi    log "✓ 检查完成"}# 每小时检查一次while truedo    check_lvm_health    sleep 3600done &# 添加到 systemd 服务sudo tee /etc/systemd/system/lvm-monitor.service << EOF[Unit]Description=LVM Storage MonitorAfter=network.target[Service]Type=simpleExecStart=/bin/bash /path/to/monitor_lvm_health.shRestart=always[Install]WantedBy=multi-user.targetEOFsudo systemctl daemon-reloadsudo systemctl enable lvm-monitorsudo systemctl start lvm-monitor

📝 总结

本文系统介绍了使用 LVM 物理卷无损合并双磁盘的完整方案,包括5 个关键操作注意事项完整的数据验证流程企业级性能优化技巧关键收获:

  1. "先建后迁"策略最安全
    : 先在新盘创建 LVM 并迁移数据,验证正常后再添加原盘,确保零风险
  2. 数据一致性验证至关重要
    : 必须通过文件数量、总大小、MD5 抽样三重验证
  3. 回滚方案必备
    : 无论哪种方案,都要准备好回滚脚本和应急预案
  4. 性能优化不可忽视
    : 4K 对齐、PE 大小选择、调度器优化可提升 150% 性能

最佳实践建议:

  • ✅ 生产环境:严格按照本方案执行,确保每步验证
  • ✅ 测试环境:可适当简化流程,但必须保留回滚方案
  • ✅ 数据安全:宁可慢也要稳,不要为了速度牺牲安全性
  • ✅ 文档记录:详细记录每步操作和配置,便于后续维护

👍 如果本文对你有帮助,欢迎点赞、收藏、转发! 💬 有任何问题或建议,请在评论区留言交流~ 🔔 关注我,获取 DevOps 运维系列文章! 📝 行文仓促,定有不足之处,欢迎各位朋友在评论区批评指正,不胜感激!!


附录:快速参考命令

# LVM 基本命令速查# 物理卷管理pvcreate /dev/sdc          # 创建物理卷pvdisplay                  # 显示 PV 信息pvs                        # 简洁显示 PV# 卷组管理vgcreate vg_data /dev/sdc  # 创建卷组vgextend vg_data /dev/sdb  # 扩展卷组vgdisplay                  # 显示 VG 信息vgs                        # 简洁显示 VG# 逻辑卷管理lvcreate -l 100%FREE -n lv_data vg_data  # 创建逻辑卷lvextend -l +100%FREE /dev/vg_data/lv_data  # 扩展逻辑卷lvdisplay                  # 显示 LV 信息lvs                        # 简洁显示 LV# 文件系统操作mkfs.ext4 /dev/vg_data/lv_data  # 格式化resize2fs /dev/vg_data/lv_data  # 扩展文件系统mount /dev/vg_data/lv_data /data  # 挂载# 数据同步rsync -av --progress /data/ /data_new/  # 同步数据rsync -av --delete /data/ /data_new/    # 增量同步# 验证工具diff -rq /data/ /data_new/    # 对比目录差异md5sum file                   # 计算文件 MD5find /data -type f | wc -l    # 统计文件数量du -sh /data                  # 查看目录大小

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-20 03:04:13 HTTP/2.0 GET : https://f.mffb.com.cn/a/486479.html
  2. 运行时间 : 0.140577s [ 吞吐率:7.11req/s ] 内存消耗:5,641.41kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=4fd34bddf7ca8793174681db0dc6f4f2
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000418s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000660s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000312s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000256s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000475s ]
  6. SELECT * FROM `set` [ RunTime:0.000238s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000573s ]
  8. SELECT * FROM `article` WHERE `id` = 486479 LIMIT 1 [ RunTime:0.000463s ]
  9. UPDATE `article` SET `lasttime` = 1776625453 WHERE `id` = 486479 [ RunTime:0.001561s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000799s ]
  11. SELECT * FROM `article` WHERE `id` < 486479 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.006117s ]
  12. SELECT * FROM `article` WHERE `id` > 486479 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001145s ]
  13. SELECT * FROM `article` WHERE `id` < 486479 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003170s ]
  14. SELECT * FROM `article` WHERE `id` < 486479 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002022s ]
  15. SELECT * FROM `article` WHERE `id` < 486479 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005899s ]
0.144368s