当前位置:首页>Linux>LVM 逻辑卷扩容:在线扩大 Linux 文件系统容量

LVM 逻辑卷扩容:在线扩大 Linux 文件系统容量

  • 2026-08-18 23:10:42
LVM 逻辑卷扩容:在线扩大 Linux 文件系统容量

LVM 逻辑卷扩容:在线扩大 Linux 文件系统容量

磁盘空间告警时,最危险的动作不是“不扩容”,而是没有确认设备映射就执行扩容命令。Linux 中同一个挂载点可能经过分区、LUKS、LVM PV、VG、LV、文件系统和挂载层。扩容的正确顺序是先辨认真实路径,再确认容量来自现有 VG 空闲、已扩大的底层磁盘,还是一块新磁盘;最后分别扩大逻辑卷和文件系统。

本文以常见 ext4 与 XFS 为例。<挂载点>、<卷组名>、<逻辑卷名>、<PV设备>、<新磁盘设备> 都是占位符,必须替换为真实对象。在线扩容会修改存储元数据和文件系统,操作前需要业务备份、变更窗口和可用回滚路径。尤其要记住:扩容通常可在线完成,但缩容远比扩容危险;XFS 不支持缩小。

一、先确认文件系统的真实来源

先从挂载点开始,而不是猜测设备名。df 显示容量和使用率,findmnt 显示挂载源和文件系统类型,lsblk 显示设备拓扑。

bash
#!/usr/bin/env bash
set -euo pipefail

MOUNT_POINT="<挂载点>"

df -hT "$MOUNT_POINT"
findmnt -T "$MOUNT_POINT" -o TARGET,SOURCE,FSTYPE,OPTIONS
lsblk -o NAME,KNAME,TYPE,SIZE,FSTYPE,MOUNTPOINTS

例如 findmnt 可能显示 /dev/mapper/vgdata-lvapp,也可能显示 UUID 或加密映射。后续命令必须使用经过确认的 LV 或 PV;不要把 df 中显示的挂载名直接当成磁盘分区。

解析设备的符号链接并查看 LVM 映射关系。

bash
MOUNT_POINT="<挂载点>"
SOURCE="$(findmnt -no SOURCE -T "$MOUNT_POINT")"

echo"source=$SOURCE"
readlink -f "$SOURCE"
sudo pvs -o pv_name,vg_name,pv_size,pv_free
sudo vgs -o vg_name,vg_size,vg_free,pv_count,lv_count
sudo lvs -a -o vg_name,lv_name,lv_path,lv_size,lv_attr,devices

若挂载源不是 LVM LV,例如直接是 /dev/sda2、NFS、CephFS 或容器 volume,则本文的 lvextend 流程不适用。必须先停止,改用对应存储类型的扩容方法。

二、确定文件系统类型和在线能力

ext4 可通过 resize2fs 在线扩大已挂载文件系统;XFS 通过 xfs_growfs 对挂载点在线扩大。两者命令和缩容能力不同,绝不能混用。先确认版本和文件系统工具。

bash
findmnt -T <挂载点> -no SOURCE,FSTYPE,OPTIONS
resize2fs -V 2>&1 || true
xfs_growfs -V 2>&1 || true
lvm version

对 ext4,不要在已挂载且读写的文件系统上运行 e2fsck;全面一致性检查需要离线窗口。对 XFS,xfs_repair 同样不是在线检查工具。在线扩容前的重点是设备、挂载和空间关系正确,而不是为了“保险”对生产挂载点跑修复命令。

三、先确认容量来自哪里

最简单情况是 VG 已有足够空闲空间。将 VG Free 与计划扩容量相比;注意 G、GiB 与 PE 的换算,生产变更应保留一定余量,避免把所有 VG 空间一次性用完。

bash
sudo vgs <卷组名> -o vg_name,vg_size,vg_free,vg_extent_size,vg_free_count
sudo lvs <卷组名>/<逻辑卷名> -o lv_name,lv_size,lv_path,segtype,devices

若 VG Free 不足,先判断底层虚拟磁盘是否已在云平台或存储侧扩大,或者是否需要新建 PV。不要直接对错误的块设备执行 pvresize 或 pvcreate。

记录当前块设备大小、分区表和内核识别容量。

bash
lsblk -b -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS <PV设备>
sudo parted -s <底层磁盘设备> unit GiB print
sudo blockdev --getsize64 <PV设备>

parted print 是只读检查。若底层磁盘大小还没有变化,Linux 侧无论执行多少次 pvresize 都不会凭空产生可用空间。

四、扩容前制作可恢复的元数据备份

LVM 会在 /etc/lvm/backup 与 /etc/lvm/archive 保存元数据,但生产变更前仍应主动导出指定 VG 配置并保存当前状态。这个备份只能帮助恢复 LVM 元数据,不能替代业务数据备份或文件系统快照。

bash
#!/usr/bin/env bash
set -euo pipefail

VG_NAME="<卷组名>"
BACKUP_DIR="<备份目录>/lvm-$(date +%Y%m%d-%H%M%S)"

install -d -m 0700 "$BACKUP_DIR"
sudo vgcfgbackup -f "$BACKUP_DIR/$VG_NAME.conf""$VG_NAME"
sudo pvs -a -o+pv_uuid > "$BACKUP_DIR/pvs.txt"
sudo vgs -a -o+vg_uuid > "$BACKUP_DIR/vgs.txt"
sudo lvs -a -o+lv_uuid,devices > "$BACKUP_DIR/lvs.txt"
findmnt -T <挂载点> > "$BACKUP_DIR/findmnt.txt"

确认备份文件可读、备份目录不位于即将扩容的单点存储上,并确认业务已有可恢复的数据备份。若数据一致性要求高,备份或快照应由应用、数据库或存储平台在其一致性边界内完成。

五、路径一:VG 已有空闲空间

先做测试执行。lvm 的 --test 会完成元数据计算但不写入元数据,适合检查计划是否可行;它不是对文件系统扩容的完整 dry-run。

bash
sudo lvextend --test -L +50G <卷组名>/<逻辑卷名>
sudo lvs <卷组名>/<逻辑卷名> -o lv_name,lv_size,lv_path

确认无误后先扩大 LV,再扩大文件系统。不要使用 lvreduce 作为“回滚”手段;错误缩小逻辑卷会直接截断文件系统数据。

bash
sudo lvextend -L +50G <卷组名>/<逻辑卷名>
sudo lvs <卷组名>/<逻辑卷名> -o lv_name,lv_size,lv_path,devices

对于 ext4,使用 LV 路径执行 resize2fs。设备路径以 lvs 输出为准,常见形式为 /dev/<卷组名>/<逻辑卷名>。

bash
sudo resize2fs /dev/<卷组名>/<逻辑卷名>
df -hT <挂载点>

对于 XFS,xfs_growfs 的参数是挂载点,而不是块设备。XFS 的在线扩容会使用底层已扩大的设备空间。

bash
sudo xfs_growfs <挂载点>
df -hT <挂载点>

每一步都应立刻验证。LV 已扩大而文件系统未扩大时,df 不会增长;文件系统命令失败时应保留现场与输出,不要反复尝试不同参数。

六、路径二:底层磁盘或分区已经扩展

云磁盘、SAN LUN 或虚拟机虚拟磁盘扩大后,内核可能需要重新读取容量。下面命令只观察当前块设备和内核日志,不修改分区表。

bash
lsblk -b -o NAME,SIZE,TYPE <底层磁盘设备>
sudo blockdev --getsize64 <底层磁盘设备>
journalctl -k --since '-20 min' --no-pager | grep -Ei 'capacity|rescan|sd |nvme' || true

某些 SCSI 设备可使用 sysfs rescan;路径必须与真实设备对应。此操作会让内核重新扫描容量,不会自动修改分区、PV 或文件系统。

bash
echo 1 | sudotee /sys/class/block/<磁盘名>/device/rescan
sudo partprobe <底层磁盘设备>
lsblk -b -o NAME,SIZE,TYPE <底层磁盘设备>

若 PV 建在整块磁盘上,内核看到更大容量后可先测试 pvresize,再执行实际 pvresize。

bash
sudo pvresize --test <PV设备>
sudo pvresize <PV设备>
sudo pvs <PV设备> -o pv_name,pv_size,pv_free,vg_name

若 PV 建在分区上,必须先扩大正确分区。修改分区表属于高风险操作:需要确认分区号、起始扇区不变、磁盘备份、云平台快照和维护窗口。parted 的 resizepart 只修改分区边界,不会自动执行 pvresize。

bash
sudo parted <底层磁盘设备> print
sudo parted <底层磁盘设备> resizepart <分区号> 100%
sudo partprobe <底层磁盘设备>
lsblk -o NAME,SIZE,TYPE <底层磁盘设备>

执行后仍需先运行 pvresize --test,再运行 pvresize。确认 VG Free 增加后,回到前一节用 lvextend 与对应文件系统命令完成扩容。

七、路径三:新增一块磁盘加入 VG

新磁盘加入 LVM 会覆盖其原有签名或数据。执行前必须用 lsblk、blkid 和 wipefs 确认设备确实为空闲新盘,不能根据设备名猜测;云环境中还要核对卷 ID、序列号和挂载关系。

bash
sudo lsblk -f <新磁盘设备>
sudo blkid <新磁盘设备> || true
sudo wipefs -n <新磁盘设备>
sudo udevadm info --query=all --name=<新磁盘设备> | grep -E 'ID_SERIAL|ID_WWN|DEVNAME'

wipefs -n 只是 dry-run,会列出签名而不修改。只有确认设备没有需要保留的数据,并有审计批准后,才能创建 PV。

bash
sudo pvcreate <新磁盘设备>
sudo vgextend <卷组名> <新磁盘设备>
sudo pvs -o pv_name,vg_name,pv_size,pv_free
sudo vgs <卷组名> -o vg_name,vg_size,vg_free

pvcreate 与 vgextend 会永久修改 LVM 元数据和磁盘签名。若误选设备,影响可能跨越多个业务文件系统;执行前应由第二人复核设备序列号、VG 名和变更单。

扩展完成后,使用前述 lvextend 加 resize2fs 或 xfs_growfs,而不是让新 PV 长期闲置却误以为挂载点已经增长。

bash
sudo lvextend --test -L +50G <卷组名>/<逻辑卷名>
sudo lvextend -L +50G <卷组名>/<逻辑卷名>
sudo xfs_growfs <挂载点>

最后一行仅适用于 XFS;若文件系统是 ext4,应改为 resize2fs 对应 LV。文件系统类型必须以 findmnt 的实际结果为准。

八、处理 PE、条带、镜像和 thin pool

LVM 按 Physical Extent 分配空间。多数场景只需指定 +50G 或 +100%FREE,但条带卷、RAID LV、cache、VDO、thin pool 和快照卷的可用空间与风险不同。先检查 segment type 与 thin pool 使用率。

bash
sudo lvs -a -o lv_name,lv_size,lv_attr,segtype,devices,data_percent,metadata_percent,copy_percent <卷组名>
sudo vgs <卷组名> -o vg_name,vg_free,vg_extent_size,vg_free_count

thin pool 的 Data% 或 Meta% 接近满时,优先扩容 thin pool 或采取平台建议的空间治理,不能只扩大 thin LV。thin LV 的虚拟大小扩大不等于物理空间充足,过度分配会在写入时才暴露风险。

查询实际 PV 上的 extents 有助于判断扩容会落在哪块盘。该命令只读。

bash
sudo pvdisplay -m <PV设备>
sudo lvs -o lv_name,lv_size,devices <卷组名>

不熟悉条带或 RAID 布局时,不要强行指定 --alloc、–stripes 或 PV 列表。让 LVM 自动选择通常更安全;若确实有性能与故障域要求,应先在测试环境验证布局。

九、验证不只看 df

扩容完成后要从三层验证:LV 设备大小、文件系统可用空间、挂载点保持不变。还应确认应用进程没有因 I/O 错误或短暂阻塞产生异常。

bash
sudo lvs <卷组名>/<逻辑卷名> -o lv_name,lv_size,lv_path,devices
findmnt -T <挂载点> -o TARGET,SOURCE,FSTYPE,OPTIONS
df -hT <挂载点>
sudo dmesg --level=err,warn | tail -n 100

如果扩容期间应用出现报错,应优先保护数据与业务一致性,保留内核和应用日志。LV 扩容成功并不保证上层数据库、容器运行时或配额配置已自动适配。

对 ext4 可读取超级块中的 block count;对 XFS 可读取几何信息。这里是只读核验,不是文件系统修复。

bash
sudo tune2fs -l /dev/<卷组名>/<逻辑卷名> 2>/dev/null | grep -E 'Block count|Block size' || true
sudo xfs_info <挂载点> 2>/dev/null || true

十、配置监控和阈值

扩容不是容量治理的终点。应监控文件系统可用率、inode 使用率、VG Free、thin pool 数据与元数据使用率、磁盘错误和应用写入失败。Prometheus 指标名称以实际 exporter 暴露的指标为准,不能照抄不存在的指标。

以下脚本适合低频巡检,输出文件系统、VG 和 LV 状态;它不自动扩容,避免误判后改变存储。

bash
#!/usr/bin/env bash
set -euo pipefail

MOUNT_POINT="<挂载点>"
VG_NAME="<卷组名>"
LV_NAME="<逻辑卷名>"

df -hT "$MOUNT_POINT"
df -ih "$MOUNT_POINT"
sudo vgs "$VG_NAME" -o vg_name,vg_size,vg_free
sudo lvs "$VG_NAME/$LV_NAME" -o lv_name,lv_size,lv_attr,segtype,devices,data_percent,metadata_percent

报警阈值要为业务写入峰值、扩容交付时间和快照空间预留缓冲。只在 100% 满时才处理会让日志、数据库和容器运行时进入不可恢复的失败状态。

十一、理解回滚边界

文件系统扩容完成后通常不应尝试在线“回滚容量”。ext4 缩容必须先离线检查和缩小文件系统,再缩小 LV;XFS 无法缩小,只能新建更小文件系统、复制数据、切换挂载点。任何 lvreduce 都应被视为高风险、独立变更,不是本次在线扩容的回滚命令。

对于新增 PV,如果该 PV 还没有承载任何 extents,才可能在审查后撤销 vgextend 和 pvcreate。先检查是否已分配空间;若已分配,pvmove 会产生大量 I/O,并需要足够空闲空间和维护评估。

bash
sudo pvs <新磁盘设备> -o pv_name,vg_name,pv_used,pv_free
sudo pvdisplay -m <新磁盘设备>

只有在确认新 PV 未使用、业务不受影响并有 LVM 元数据备份时,才考虑撤销。以下命令会修改元数据和磁盘签名,不能作为日常演练命令。

bash
sudo vgreduce <卷组名> <新磁盘设备>
sudo pvremove <新磁盘设备>

若任何一步失败,停止继续执行,保留输出并使用 vgcfgrestore 方案由具备 LVM 经验的人员处理。vgcfgrestore 也会改写元数据,必须依据已验证备份和精确 VG/PV UUID 操作。

十二、将扩容做成可审计的变更

一次完整变更记录应包含:初始 df、findmnt、lsblk、pvs/vgs/lvs 输出;数据备份或快照编号;目标增量;选择的路径;实际命令与时间;执行者和复核者;扩容后验证;是否发现内核 I/O 错误;下一次容量告警阈值。

扩容成功的标准不是某条 lvextend 返回零,而是目标挂载点容量增长、设备路径与挂载关系未改变、业务写入正常、VG 或 thin pool 仍有合理余量、监控已恢复并且团队知道该空间来自哪块底层存储。

十三、几个容易造成事故的误区

第一,不要把 df 显示的文件系统容量与底层磁盘容量混为一谈。云盘扩大后,分区、PV、VG、LV 和文件系统通常都需要各自确认;缺少任何一层,最上层 df 都不会变化。第二,不要把 lvextend 成功误认为业务已扩容。若文件系统命令未运行、运行在错误设备上,或者挂载点不是预期 LV,应用仍会看到原容量。

第三,不要为了腾出少量空间尝试 lvreduce。缩小路径需要先缩文件系统再缩 LV,并且 XFS 根本不支持缩小;生产系统中更常见、更安全的方案是新建较小文件系统、迁移数据、校验、切换挂载和保留回退窗口。第四,不要把 LVM snapshot 当成永久备份。快照消耗 COW 空间,写入高峰时可能快速满;快照失效对业务一致性和备份策略都不能视而不见。

十四、扩容后的容量治理

一次成功扩容通常意味着需要重新评估告警阈值、增长率和责任边界。业务目录、日志目录、容器镜像、数据库表空间、模型权重和临时文件可能都在同一挂载点竞争容量;仅靠总使用率告警无法说明是谁在增长。应在业务允许的范围内建立目录级容量观察、日志轮转、对象存储归档和应用配额,并将扩容交付时间纳入告警提前量。

LVM 层还应保留一定 VG Free,尤其是 thin pool、快照、未来应急扩容和迁移需要空间时。把 VG Free 全部切给某个 LV 虽然能立刻解除告警,却会让下一次故障只能依赖新增磁盘或高风险迁移。容量计划的目标不是让 df 永远接近满,而是让存储层次、增长来源、可用余量和回滚边界始终清楚。

文末阅读福利

仅目前来说,无论是运维人转型提升,还是零基础想转行IT,最好的岗位就是云计算运维&SRE岗位

为了帮助大家早日快速入门云计算运维领域,给大家整理了一套【最新运维资料】高级运维工程师必备技能资料包(文末一键免费领取),内容有多详实丰富看下图!
1.38张最全工程师技能图谱
2.面试大礼包
3.Linux书籍
内容比较多,就不一一展示了
上所有资料获取请扫码:
识别上方二维码
备注:2026最新运维资料
100%免费领取
(是扫码领取,不是在公众号后台回复,别看错了哦)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 15:41:29 HTTP/2.0 GET : https://f.mffb.com.cn/a/505493.html
  2. 运行时间 : 0.293709s [ 吞吐率:3.40req/s ] 内存消耗:4,692.00kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=632ea1c0f77ff04fd88abf0f9c8a4e4c
  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.001061s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001353s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000637s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000636s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001347s ]
  6. SELECT * FROM `set` [ RunTime:0.000549s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001502s ]
  8. SELECT * FROM `article` WHERE `id` = 505493 LIMIT 1 [ RunTime:0.017021s ]
  9. UPDATE `article` SET `lasttime` = 1787298089 WHERE `id` = 505493 [ RunTime:0.002519s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000623s ]
  11. SELECT * FROM `article` WHERE `id` < 505493 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.009880s ]
  12. SELECT * FROM `article` WHERE `id` > 505493 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001213s ]
  13. SELECT * FROM `article` WHERE `id` < 505493 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002346s ]
  14. SELECT * FROM `article` WHERE `id` < 505493 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.073659s ]
  15. SELECT * FROM `article` WHERE `id` < 505493 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.017623s ]
0.297395s