飞牛NAS磁盘空间不足:快速清理与扩容
飞牛NAS用久了,最头疼的问题莫过于“存储空间不足”的红色警告。无论是系统盘还是存储池,一旦空间告急,不仅下载任务会中断,Docker容器也可能频繁报错,甚至导致系统服务无响应。这篇文章会从快速清理和无损扩容两个维度,帮你彻底解决磁盘空间焦虑。
第一步:定位空间占用大户
在动手清理前,先搞清楚空间被谁吃掉了。飞牛NAS自带“存储管理”界面,但更推荐用命令行精准定位。
1. 查看文件系统整体占用
df -h
重点看挂载点为 / 或 /vol1 的行。如果使用率超过80%,就需要立即处理。
2. 找出目录级占用排行
sudo du -h --max-depth=2 /vol1 2>/dev/null | sort -rh | head -20
这条命令会列出 /vol1 下占用最大的前20个目录。注意:--max-depth=2 可以防止输出过深,避免卡死。
3. 针对Docker目录单独排查
如果安装了Docker,镜像和容器日志是隐藏的“空间杀手”:
sudo du -sh /var/lib/docker/*
通常 /var/lib/docker/overlay2 和 /var/lib/docker/containers 会占大头。
第二步:安全清理的5个实用技巧
技巧1:清理Docker悬空镜像与无用卷
# 删除所有悬空镜像(没有标签的中间层)
docker image prune -f
# 删除所有未被容器使用的卷(谨慎操作,先查看列表)
docker volume ls -qf "dangling=true" | xargs -r docker volume rm
技巧2:清理容器日志文件
容器日志默认无限增长,需要限制大小。修改 /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
保存后重启Docker服务:sudo systemctl restart docker。对于已有的超大日志文件,直接清空:
sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
技巧3:清理飞牛自带的回收站
飞牛文件管理器的回收站默认开启,删除的大文件不会立刻释放空间。进入 桌面 → 回收站,选择“清空回收站”。命令行方式:
sudo rm -rf /vol1/@recycle/*
技巧4:清理系统更新缓存与临时文件
sudo apt clean
sudo rm -rf /tmp/*
sudo journalctl --vacuum-size=100M
journalctl 会压缩系统日志到100MB以内,不影响系统运行。
技巧5:查找并清理大文件
使用 find 命令找出大于1GB的文件:
sudo find /vol1 -type f -size +1G -exec ls -lh {} \;
对于视频缓存、临时下载文件,确认无用后直接删除。
第三步:无损扩容方案
如果清理后空间仍然紧张,说明物理容量确实不够了。飞牛NAS支持多种扩容方式,最推荐的是通过“存储池”扩展。
方案A:更换更大容量硬盘(单盘/RAID1)
- 在 飞牛OS → 存储管理 → 存储池 中,选中当前存储池。
- 点击“编辑” → “添加硬盘”。
- 插入新硬盘(容量需大于等于旧盘),选择“作为替换盘”。
- 系统会提示“重建存储池”,等待同步完成。
- 同步完成后,旧盘可以拔出,新盘容量自动生效。
注意:此方案只适用于RAID1或Basic模式。如果是单盘Basic,需要先备份数据再换盘。
方案B:新增硬盘并扩展共享文件夹
如果主板还有空闲SATA口,直接加一块新盘:
- 物理安装新硬盘,在飞牛OS中格式化为Btrfs或Ext4。
- 进入 存储管理 → 存储空间,选择“新建存储空间”。
- 将新空间挂载到现有共享文件夹的下一级目录,例如
/vol1/新盘数据。 - 手动迁移部分数据到新目录,或使用
rsync同步:
sudo rsync -av --progress /vol1/旧目录/ /vol2/新目录/
方案C:LVM逻辑卷扩容(进阶)
如果当初创建存储池时使用了LVM,可以无缝扩容:
# 查看卷组剩余空间
sudo vgdisplay
# 扩展逻辑卷(例如增加100GB)
sudo lvextend -L +100G /dev/vg_fnos/vol1
# 扩展文件系统
sudo resize2fs /dev/vg_fnos/vol1 # Ext4
# 或 sudo btrfs filesystem resize max /vol1 # Btrfs
执行后无需重启,空间立即生效。
第四步:设置自动清理策略
为了避免下次再爆盘,建议设置定时任务。
创建每日清理脚本
新建 /usr/local/bin/cleanup.sh:
#!/bin/bash
# Docker清理
docker image prune -f
docker volume prune -f
# 清理回收站
rm -rf /vol1/@recycle/*
# 清理系统日志
journalctl --vacuum-size=50M
# 删除超过30天的临时文件
find /vol1/tmp -type f -mtime +30 -delete
赋予执行权限并加入crontab:
sudo chmod +x /usr/local/bin/cleanup.sh
sudo crontab -e
添加一行:
0 3 * * * /usr/local/bin/cleanup.sh
每天凌晨3点自动执行。
总结
磁盘空间管理不是一次性的工作,需要“清理+监控+扩容”三管齐下。日常使用中,建议开启飞牛的“存储空间使用率告警”,设置80%为预警线。当清理无法解决问题时,优先考虑RAID1替换大容量硬盘或LVM在线扩容,这两种方案都无需停机。最后,养成定期检查Docker镜像和回收站的习惯,能避免90%的容量危机。你的飞牛NAS会因此保持长期稳定流畅。
暂无评论,来说两句吧