常见问题

飞牛NAS磁盘空间不足:快速清理与扩容

飞牛NAS磁盘空间不足:快速清理与扩容

在长期使用飞牛NAS的过程中,磁盘空间不足几乎是每个用户都会遇到的痛点——下载的电影、备份的照片、Docker容器的日志,都在无声无息中蚕食着宝贵的存储空间。本文将带你系统排查空间占用,并提供从清理到扩容的完整解决方案。

一、快速诊断:谁在吃你的空间?

在动手清理前,先精准定位空间消耗大户。SSH登录飞牛NAS后,执行以下命令:

# 查看整体磁盘使用情况
df -h

# 深入分析当前目录下各文件夹大小(从根目录 / 开始)
du -sh /* | sort -rh | head -10

重点关注/volumes/system/docker等目录。如果飞牛使用Btrfs文件系统,还可以检查子卷快照:

# 列出所有Btrfs子卷
sudo btrfs subvolume list /

常见空间占用大户包括:下载缓存(/volumes/downloads)、Docker数据(/volumes/docker)、系统日志(/var/log)、以及用户家目录中的回收站(.trash)。

二、深度清理:释放被占用的空间

1. 清理系统临时文件和日志

系统日志会随时间膨胀,特别是长期运行的NAS:

# 清理journal日志,保留最近3天
sudo journalctl --vacuum-time=3d

# 清空临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*

# 清理apt缓存(如果系统基于Debian)
sudo apt-get clean

2. 回收站与快照清理

飞牛NAS的回收站功能默认开启,且可能未被用户察觉:

# 检查各共享文件夹的回收站
find /volumes -name ".trash*" -type d 2>/dev/null

# 手动清空指定回收站(请确认路径)
rm -rf /volumes/你的共享文件夹/.trash-1000/*

如果是Btrfs文件系统,快照也可能占用大量空间:

# 查看所有快照
sudo btrfs subvolume list -s /

# 删除过期快照(替换为实际子卷ID)
sudo btrfs subvolume delete /@snapshots/子卷ID

3. Docker容器日志清理

Docker容器日志是隐形杀手,常以GB为单位增长:

# 查看各容器日志大小
sudo find /var/lib/docker/containers/ -name "*.log" -exec ls -lh {} \; | awk '{print $5, $NF}'

# 一键清空所有容器日志(不停止容器)
sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*.log"

根治方案:限制日志大小,编辑/etc/docker/daemon.json

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

重启Docker生效:sudo systemctl restart docker

4. 卸载无用软件包与Docker镜像

# 查看Docker镜像和容器占用
docker system df

# 删除所有未使用的镜像、容器、网络
docker system prune -a --volumes

# 卸载已删除软件的残留依赖
sudo apt autoremove --purge

三、存储扩容:硬件升级与软方案

当清理无法满足需求时,扩容是根本解决之道。

1. 物理扩容:添加新硬盘

步骤: 1. 关闭NAS,安装新硬盘(SATA或NVMe) 2. 开机进入飞牛Web管理界面 → 【存储管理】→ 【硬盘】 3. 格式化新硬盘(建议Btrfs或EXT4) 4. 将新磁盘挂载到现有卷组或作为独立存储池

命令行挂载示例:

# 查看新硬盘设备名(如 /dev/sdb)
sudo fdisk -l

# 创建分区
sudo fdisk /dev/sdb  # 按提示创建主分区

# 格式化
sudo mkfs.btrfs /dev/sdb1

# 挂载到 /volumes/new_disk
sudo mount /dev/sdb1 /volumes/new_disk

2. 软扩容:调整现有分区(Btrfs)

如果空间紧张但还有未分配空间,可用Btrfs在线扩容:

# 查看可用空间
sudo btrfs filesystem show /

# 添加新设备到Btrfs池(假设已挂载新硬盘)
sudo btrfs device add /dev/sdb1 /

# 平衡数据分布(后台运行,耗时较长)
sudo btrfs balance start -dconvert=raid0 -mconvert=raid0 /

3. 空间回收:压缩与去重

Btrfs支持在线压缩,尤其适合存储照片、文档的场景:

# 对整个卷启用压缩(需先卸载)
sudo mount -o remount,compress=zstd /

# 对已存在文件手动压缩
sudo btrfs filesystem defragment -r -v -czstd /

四、预防:建立空间监控机制

清理完成后,建议设置自动预警,避免再次陷入困境:

# 写入crontab,每天检查空间
0 8 * * * df -h / | awk 'NR==2 {if ($5+0 > 80) system("echo 磁盘使用率超过80% | mail -s 告警 你的邮箱")}'

飞牛Web界面也支持设置存储空间告警阈值:系统设置 → 通知 → 存储告警

结语

通过本文的清理与扩容组合拳,你的飞牛NAS将重获新生。建议每季度执行一次深度清理,并养成定期检查存储状态的习惯。记住:存储空间不是无限的,但合理的规划可以让你在容量耗尽前从容应对。

💬 评论区
发表评论

暂无评论,来说两句吧