从前我有一台Azure云主机,刚开机一切正常,夜深人静时突然发现磁盘满了,根本没打算写大作业出来。于是我开始琢磨:到底是啥让硬盘猛涨?
先说说常见的“刷日志”杀手。/var/log 目录里的SQL、系统、应用日志,按默认配置每天都会滚动成千上万的日志文件。历史记录一聊就堆成一座小山,硬盘泼血。
再来讲讲临时文件吧。/tmp 下的缓存、临时安装包、下载的 deb 或 rpm 只要你开启了某些自动化脚本,到头来就会变成一堆“七零八落”的残骸。不维护,子女们会景,硬盘也跟着忙。
数据库是不可忽视的死活大户。无论是 MySQL、PostgreSQL 还是 MongoDB,表结构不断被插入、更新,尤其是 DEBUG 或 LOG 表。如果没有分区或清理策略,数据一天天堆叠,磁盘瞬间“长破口”。
Docker 在云环境中广受欢迎。每一次镜像拉取、容器构建,都会在宿主机生成镜像层和悬空层。而这些悬空层往往在你不留神时就占满了存储,尤其是 “dangling images” 那种看不见又在占地。
备份也是圣杯:只要盲目启用 “全量” 备份,而忽视了压缩、归档,或者把备份文件直接放回同一实例,结果是“多一次备份 = 多一次硬盘负担”。
别忘了权限问题。root 用户写的日志、临时文件,往往权限是 777 或者“root:root”,正常用户看不见,却是磁盘小魔王的积攒小金库。尤其在多租户或租下的云服务器里