507 是什么
507 Insufficient Storage 是 WebDAV 定义的错误码(RFC 4918 §11.5):服务器无法为完成请求分配所需的存储空间,例如磁盘写满、配额超限、inode 耗尽或存储后端变为只读。它也可能作为 207 Multi-Status 的子项出现,表示批量操作中某个成员写入失败。
基本信息
| 名称 | 507 Insufficient Storage |
|---|---|
| 类别 | 5xx(服务器侧资源不足) |
| 规范 | RFC 4918 §11.5 |
| 常见成因 | 磁盘满、配额超限、inode 耗尽、存储只读 |
| 配套 | 响应可给出可用空间或配额信息 |
| 借用场景 | 普通上传接口用 507 表达容量不足,比 500 更精确 |
典型使用场景
- WebDAV 与网盘上传失败:先从存储容量入手排查
- 普通 REST 上传借用 507 语义,让客户端能区分容量与逻辑错误
- 监控告警:507 出现即代表容量问题,适合直接触发容量告警
- 网关排查:确认是后端存储写满还是网关缓存盘写满
- 容量规划:结合增长趋势评估扩容与清理策略
- 排障演练:区分空间不足、inode 耗尽与只读挂载三类原因
容量排查
容量排查
# 存储容量排查
df -h /data # 分区空间与使用率
df -i /data # inode 是否耗尽(大量小文件的常见坑)
du -sh /data/* | sort -rh | head # 占用最大的目录
# 文件系统配额(若启用了 quota)
repquota -a 2>/dev/null | head写不进去的几种原因
| 原因 | 现象 | 确认方式 |
|---|---|---|
| 磁盘满 | 写入报 ENOSPC | df -h 使用率 100% |
| inode 耗尽 | 空间充足仍报错 | df -i 使用率 100% |
| 配额超限 | 单用户或目录超限 | quota、repquota 输出 |
| 只读挂载或存储故障 | 所有写入失败 | mount 输出与内核日志 |
前端展示 507 时应给出「空间不足」的明确文案,否则用户会误以为是权限或网络问题。
若网关自身有磁盘缓存,网关缓存盘写满也可能对外返回 507,与后端存储无关。
日志与临时目录和应用同分区时,日志暴涨会连带写满数据盘,触发大面积 507。
inode 耗尽在容器与对象存储网关场景更常见:大量小文件会先耗尽 inode 而不是空间。