Skip to content

[Feature] Verify Disk Space Before/During Backup Task Execution #11954

@inabatan

Description

@inabatan

Contact Information

inabatan@qq.com

1Panel Version

社区版 v1.10.34-lts

Problem Description

在创建“计划任务 → 备份目录”时,若选择服务器本地磁盘作为备份目标,当前版本未对目标磁盘剩余空间进行预校验。

当待备份目录大小大于目标磁盘剩余空间时:

备份任务仍然正常启动

持续写入文件直至磁盘空间被完全占满

磁盘使用率达到 100% 后:

1Panel 面板卡死,无法访问

面板无法登录

SSH 可能无法登录(系统因无剩余空间无法创建临时文件)

重启服务器后,由于磁盘仍为满状态,系统可能仍然无法正常登录

该问题会直接导致服务器失去管理能力,属于高风险稳定性缺陷。

Steps to Reproduce

服务器磁盘剩余空间:约 20GB

需要备份的目录大小:约 30GB

创建备份任务

备份目标选择服务器本地磁盘

手动执行或等待计划任务触发

结果:

任务正常开始执行

磁盘逐渐被写满

面板卡死

SSH 登录异常或失败

实际结果

无磁盘空间预检查

无磁盘占用上限保护

无自动停止机制

磁盘写满后面板直接失去响应

系统可能无法通过 SSH 恢复

The expected correct result

备份前检测磁盘可用空间
若剩余空间小于预计备份大小,则拒绝执行任务

运行过程中监控磁盘使用率
达到临界阈值(如 90%)自动终止任务

保留系统最低可用空间(如 1GB)

备份任务异常中止时自动清理未完成文件

在 UI 中明确提示磁盘风险

Related log output

Additional Information

故障恢复过程:
当时服务器磁盘被备份任务写满后,出现以下情况:

1Panel 面板无法访问

SSH 无法登录

重启服务器后仍无法恢复

磁盘使用率 100%

更严重的是:

即使进入云服务器救援模式(Rescue Mode),也无法正常登录系统

推测原因是:
系统磁盘被写满后,基础登录与系统服务均无法创建必要的临时文件,
导致救援模式环境也无法正常挂载或进入。

最终恢复方式如下:

联系阿里云轻量应用服务器技术支持并提交工单

由阿里云工作人员协助进行底层挂盘处理

在挂盘状态下手动删除 1Panel 备份生成的大体积文件

释放磁盘空间后重新启动服务器

完成上述操作后:

系统恢复正常

SSH 恢复登录

1Panel 面板恢复访问

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions