1. 当前位置: 网站首页 >  NAS >  NAS存储池满了别乱删:我翻了一遍4T的飞牛,空间都被这五个地方吃了

NAS存储池满了别乱删:我翻了一遍4T的飞牛,空间都被这五个地方吃了

NAS存储池满了清理空间:快照回收站Docker日志五大惯犯占比与清理顺序图

上个月的一个周日早上,手机弹出飞牛的推送:「存储空间不足,已使用95%」。我愣了几秒——那台N100双盘机器,4T的数据盘装的时候空得能跑马,怎么两年就剩11个G了?更尴尬的是那阵子相册正在备份老婆手机里的视频,备份任务直接卡死,微信问我要不要扩容。先别急着删东西,更别急着买盘,我把这台机器从头到尾翻了一遍,清出来接近400个G。空间去哪了,挨个说。

第一步:先花十分钟把账算清楚,别凭感觉删

存储池满最怕两种人:一种是直接开删,删到后面发现删的是家人还要的东西;另一种是看一眼满了就下单买盘,其实机器里躺着三百个G的垃圾。我的习惯是先算账。

SSH连上机器,第一件事看总量和挂载点:

df -h

我这边主数据盘挂在vol1,显示总容量3.6T、已用3.4T、可用11G——跟报警对上了。接着看第一层目录谁占得多:

du -h --max-depth=1 /vol1 2>/dev/null | sort -rh | head -15

这条命令跑完,账基本清楚了:下载目录1.1T、照片库620G、影视库780G、Docker相关90多个G、还有一块我看不懂的占用——快照。要是嫌命令行费劲,装个ncdu,方向键进去挨层钻,比du直观得多。群晖用户有现成的套件叫「存储空间分析器」,套件中心装上,它能按大小降序列出前200个大文件,还有重复文件报告,我那台老DS220j上用过,确实省事。飞牛这边我没找到同款内置套件,直接SSH上去du,效果一样。

惯犯一:Btrfs快照链,不动声色吃掉72个G

账单里最让我意外的是快照。我这块照片盘当时选了Btrfs,开了每小时一个快照、保留48个,每天一个、保留14个——当初是为了防误删,设置完就没再管过。这次一看,快照链占了我72个G。

这里得先说清楚快照的脾气:它存的是「变化量」。比如你把一个20G的文件夹挪了个位置,文件本体只占一份,但挪动之前那个时刻的快照还指着老数据,20G就等于被多留了一份。我那阵子整理过一次照片目录,搬了上百个G的东西,快照占用一下子就顶上去了。

怎么处理别瞎来。快照是误删之后的后悔药,一股脑全删等于把保险拆了。我的做法是保留策略收紧:每小时快照从48个砍到24个,每天的从14个留7天。操作在快照设置里改保留数量,旧的超出的会自动清掉,改完第二天再看,72个G降到了38个G。快照占了多少去哪看:飞牛的存储空间概览里Btrfs文件系统会单独列一行快照占用,群晖在存储快照套件里每个共享文件夹的快照体积一目了然。还有个经验教训送给你:打算大规模整理目录之前,先把旧快照清一轮再动手,不然一边搬文件快照一边记账,空间越理越紧,我第一趟就是这么把自己憋红的。要是你还没开快照、用的ext4,这段可以跳过,ext4没有这回事,文件系统怎么选我之前单独写过一篇,纠结的可以翻翻。

惯犯二:回收站,删过的东西其实还躺在盘里

第二个大头是回收站,31个G。SMB共享里删文件,默认不是真删,是挪进共享文件夹底下的#recycle目录。我家里人这两年在映射盘上删东西,全在里面躺着——包括老婆2024年删的一批「拍糊了」的视频,单个都是几百M。

处理分两步。先翻一遍有没有误删的宝贝(我就翻出来一段孩子周岁的录像,家人以为删了其实还能捞回来,误删救援的完整路子我写过一篇更细的);翻完确认都是垃圾,直接清空#recycle目录就行。要紧的是善后:给回收站设个自动清理,群晖在共享文件夹编辑里设天数,飞牛新版本在文件管理的设置里也有删除偏好选项。我设的30天,别再攒出第二个31个G。

惯犯三:Docker的日志和镜像,一个容器半年写了8个G

第三块是Docker。我在飞牛上跑着七八个容器,qBittorrent、Jellyfin、相册、下载器这些。查的时候吓一跳:qBittorrent一个容器的日志文件写了8.4个G。原因很简单,Docker默认的json-file日志驱动不限制大小,容器跑多久日志就攒多久,保种客户端那种每隔几秒刷一屏的,半年就是这个量级。

看Docker整体占用一条命令:

docker system df

镜像、容器、卷各占多少一屏看完。日志清理有个坑:容器正在跑,直接rm日志文件空间不释放,得用truncate清空:

truncate -s 0 /var/lib/docker/containers/容器ID/容器ID-json.log

治本是给日志上锁。飞牛Docker设置里能配daemon.json,加两行log-opts,max-size设100m、max-file设3,以后单个容器日志最多占300M封顶。注意一点:这配置只对新建的容器生效,老容器得删掉重建一次才吃新规则——我重建那晚顺手把几个停了半年的废弃容器和悬空镜像一起prune了,Docker这块从90多个G瘦到51个G。Docker还没入门的先看入门那篇,日志这块属于进阶课。

惯犯四和五:陈年下载吃掉250个G,缓存目录都是碎银子

真正的空间大头反而是最朴素的:下载目录里看完没删的东西。我翻了翻「已完成」,2024年下的一部剧全季留着90多G、几部蓝光原盘每部五六十G、还有一批「以后可能再看」的电影——合计250个G,占了我这次清理的三分之二。这些没有捷径,自己一部一部过:看完的删,舍不得的挪到一块冷备份盘上归档,想留在NAS上的就留着,但至少知道它们在哪。

剩下几处碎银子也别漏:Jellyfin的转码临时目录积了4个G,播放设置里把缓存上限改小就能控制;相册的缩略图和识别数据库占5个多G,4万多张照片的量,这个是正常开销别去动它;还有重复文件,我之前用fdupes扫过一轮清出18.9个G,工具和命令在那篇去重文里有现成的,直接抄。另外提醒一句,qBittorrent的做种任务列表也翻一翻,我有个种子做了一年多,文件40多个G,早就没人下了,删掉任务勾上「同时删文件」,空间立马回来。

哪些能删、哪些想清楚再删、哪些碰都别碰

清空间清到后面容易上头,我把边界列成一张表,动手前对着看一眼:

类别能不能删我的处理
回收站#recycle翻一遍再删确认无误删后清空,设30天自动清理
超出保留策略的旧快照收紧策略自动清别手动全删,留最近的当后悔药
Docker容器日志随便清truncate清空,再配max-size根治
悬空镜像、停掉的容器随便清prune之前确认容器名,别误删在跑的
看完的影视、停种的下载自己定删或挪冷备份盘,定期过一遍
照片库本体、相册数据库别碰这是NAS的命根子,只能靠备份保护
别人账号的个人空间别自己动手删先问本人,家庭和谐比400个G重要

收尾给个总顺序,照着走不会乱:先df -h算总账,再du挨层定位大头;快照收策略、回收站清空、Docker日志上锁;下载目录自己过片删;全家福和数据库一根手指头都别碰。我这一套走完,4T的盘从11个G回到418个G可用,报警消失,相册备份接着跑。顺手把存储预警阈值设在85%,下次空间紧张,提前两周就能收到通知,而不是等它半夜卡死任务才想起来收拾。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《NAS存储池满了别乱删:我翻了一遍4T的飞牛,空间都被这五个地方吃了
本文地址:https://www.shunot.com/nas/993.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注