飞牛NAS磁盘空间不足:快速清理与扩容
前言
在使用飞牛NAS(fnOS)的过程中,磁盘空间不足是最常见也最令人头疼的问题之一。无论是频繁下载的影视资源、不断增长的Docker容器日志,还是系统生成的临时文件,都可能让原本充裕的存储空间变得捉襟见肘。本文将带你从“快速清理”和“安全扩容”两个维度,系统解决磁盘空间危机。
一、快速诊断:定位空间占用大户
在动手清理前,先确认空间被谁占用。飞牛NAS提供了直观的Web界面,同时也支持SSH命令行进行深度分析。
1.1 通过Web界面快速查看
登录飞牛NAS管理后台,进入“存储管理器”或“系统信息”,可以看到各磁盘分区的使用率。重点关注系统盘(通常挂载在 / 或 /dev/sda)和数据盘(如 /vol1)。
1.2 使用SSH命令精确扫描
如果你习惯命令行,SSH登录后执行以下命令,按目录大小排序:
# 查看根目录下各文件夹占用(单位GB,人类可读)
du -h --max-depth=1 / | sort -rh | head -20
对于数据卷(假设挂载点为 /vol1):
du -h --max-depth=1 /vol1 | sort -rh | head -20
重点关注以下高占用目录:
- /var/log:系统日志
- /tmp:临时文件
- /vol1/@appstore:飞牛应用商店安装的软件
- /vol1/@docker:Docker镜像、容器数据
- /vol1/@downloads:下载缓存(如果开启了下载中心)
二、快速清理:三步释放空间
找到占用大户后,按优先级执行清理操作。
2.1 清理系统日志与临时文件
系统日志会随着运行时间不断累积,尤其是Docker容器日志。
清理journald日志(保留最近3天):
# 查看当前日志占用
journalctl --disk-usage
# 清理至200MB以下,保留最近3天
journalctl --vacuum-size=200M --vacuum-time=3d
清理临时目录:
# 清理/tmp下超过3天的文件
find /tmp -type f -mtime +3 -delete
# 清理Docker容器日志(以容器ID为例)
truncate -s 0 $(docker inspect --format='{{.LogPath}}' 容器名称或ID)
2.2 清理下载缓存与回收站
飞牛NAS的“下载中心”和“文件回收站”是常见隐藏空间黑洞。
清理下载中心缓存:
在Web界面进入“下载中心” -> “设置”,查看“临时下载目录”位置。通常位于 /vol1/@downloads/temp。确认当前没有进行中的下载任务后,直接删除该目录下所有文件:
rm -rf /vol1/@downloads/temp/*
清空回收站:
飞牛NAS文件管理器中,每个共享文件夹的回收站默认启用。进入“文件管理器” -> 对应文件夹 -> 右上角“回收站”图标,选择“清空回收站”。如果通过命令行操作:
# 清空所有共享文件夹的回收站(需确认挂载路径)
rm -rf /vol1/@Recycle/*
2.3 清理Docker无用镜像与卷
Docker的悬空镜像和未使用的卷会占用大量空间。
# 清理所有悬空镜像(无标签、无容器引用)
docker image prune -a -f
# 清理所有未使用的容器、网络、镜像和卷(谨慎使用)
docker system prune -a --volumes -f
注意: --volumes 参数会删除未被任何容器使用的数据卷,如果某些卷只用于数据备份,请先确认。
三、安全扩容:不重装系统也能增加空间
如果清理后仍空间不足,或者你计划长期使用,扩容是更彻底的方案。
3.1 方案一:添加新硬盘(推荐)
飞牛NAS支持热插拔硬盘。物理安装新硬盘后,在“存储管理器”中添加为新存储池或扩展已有存储池。
步骤:
- 插入新硬盘,进入“存储管理器” -> “硬盘管理”,确认新硬盘被识别。
- 点击“创建存储池”,选择新硬盘,设置RAID模式(单盘选Basic)。
- 创建新卷并挂载,或将其扩展至现有卷(如果使用Btrfs或LVM)。
- 将文件从原空间不足的卷迁移至新卷。
3.2 方案二:扩容系统分区(适用于虚拟机或LVM场景)
如果你将飞牛NAS安装在虚拟机中,或使用了LVM逻辑卷,可以动态扩容。
以LVM为例:
# 查看当前卷组和逻辑卷
lvdisplay
# 假设逻辑卷名为 /dev/vg0/lv_root,扩容10GB
lvextend -L +10G /dev/vg0/lv_root
# 扩展文件系统(XFS用xfs_growfs,ext4用resize2fs)
xfs_growfs /dev/vg0/lv_root
注意: 文件系统类型不同,扩容命令不同。飞牛NAS默认使用Btrfs或XFS,请先确认:
df -T / | awk '{print $2}' | tail -1
如果是Btrfs,扩容命令为:
btrfs filesystem resize max /
3.3 方案三:软链接迁移大文件目录
如果某个应用(如Docker或下载中心)的数据目录在系统盘,而数据盘有空余,可用软链接迁移。
示例:将Docker数据目录迁移至数据卷 /vol1
# 停止Docker服务
systemctl stop docker
# 移动原数据目录
mv /var/lib/docker /vol1/docker
# 创建软链接
ln -s /vol1/docker /var/lib/docker
# 启动Docker服务
systemctl start docker
风险提示: 迁移前务必备份重要数据,操作不当可能导致Docker服务异常。
四、日常预防:避免空间再次告急
- 设置日志自动清理:编辑
/etc/systemd/journald.conf,添加MaxUse=500M,然后执行systemctl restart systemd-journald。 - 定期清理回收站:在飞牛NAS“文件管理器”中,为每个共享文件夹设置回收站自动清理策略(如保留7天)。
- 使用磁盘配额:在“存储管理器”中为不同用户或共享文件夹设置配额限制。
总结
飞牛NAS磁盘空间不足并不可怕,关键在于掌握正确的诊断方法和清理扩容策略。日常保持日志自动清理习惯,并定期清理下载缓存和回收站,可有效延缓空间告急。当清理无法满足需求时,添加新硬盘或使用LVM/Btrfs扩容是最稳定的长期方案。希望本文的步骤能帮助你快速恢复NAS的可用空间,让飞牛NAS继续稳定为你服务。
暂无评论,来说两句吧