Linux 服务器硬盘满了后感觉会出不少 bug

4 天前
 seWindows
服务器上一直不停报错没注意,跑了几个月,竟然把 journal 的日志占满了。journal 日志一直没限制。后来清理的时候发现大概占了硬盘空间的 80%左右,其实是发现 ssh 登不上去了才发现这个问题。

商家的 vnc 也因为硬盘满了,tty 进不去。

还好进救援模式才进去了,不然只能重装了。一看是真的 100%,一点也没有空余空间了。

期间还发现了如果硬盘满了,挂载里面 loop 文件也挂载不上去,提示“块有问题”。清理完后就行了


后来复盘的时候才发现是一个 loop 硬盘满了,读写一直失败。导致宿主机一直记录这个失败日志,导致宿主机硬盘也满了。
硬盘满了后,感觉有不少软件会卡在 syslog 或者其他 log 函数上。很多软件都会出现预期之外的行为。
2504 次点击
所在节点    Linux
19 条回复
wacxr123
4 天前
确实,我的经验是如果按 Tab 无法自动补全路径,就知道是盘满了(
flynaj
4 天前
这个时候你就知道 zabbix 的好处了。
Donaldo
4 天前
我中招过几次,但我一堆服务器总是懒得去设置,其实可以设置一下 rotate 或者过期日期,要不迟早有满的一天。。。啊,好累。。。
Kumo31
4 天前
这些行为就是预期内的,只不过大部分软件的设计者就没考虑处理这种情况。我们还有一个专门的避免任何 IO 的程序去做这种情况下的节点降级处理
june4
4 天前
我自己写了个快满了无限 5 分钟发一次邮件的定时任务,放在我的 linux 服务器初始化安装脚本里。

#!/bin/bash -e
if [[ -f /etc/default/disk-usage-agent ]]; then
. /etc/default/disk-usage-agent
fi
max_usage=${max_usage:-90}
usage=$(df | grep -e '/$' | awk '{print $5}' | tr -d %)
if (( usage > max_usage )); then
warnmsg="WARNING: disk-usage-agent: exceeds max usage: $usage%"
echo $warnmsg >&2
df -h | /opt/util/bin/mailadmins "$warnmsg" -
fi
totoro625
4 天前
某些程序的写入操作是删除原有数据再写入(并不是追加和修改),硬盘已满的情况下这样会导致文件丢失
这里点名 acme
kneo
4 天前
这不叫 bug 。举个再极端的例子,你电脑断电了程序挂了,你能说这是软件 bug ?
L4Linux
4 天前
你们运维在干啥? logrotate 都不跑一下的吗?
dfdd1811
4 天前
所以虽然我自己只有三台机器,但我还是用 prometheus+grafana…
wheat0r
4 天前
这事最大的 bug 是有人把硬盘跑满了
dengjunhua
3 天前
监控和告警的重要性
wolonggl
3 天前
磁盘满了。依赖在磁盘创建临时文件基本收到影响,
报告/tmp 空间满了后,一大堆软件受影响
flyqie
3 天前
这个其实蛮正常的。

毕竟不同软件的内部流程是不一样的,自然是没法统一的。

并且说真的。。应该设个剩余空间报警,不然很麻烦。
Yii234
3 天前
最基础的主机监控告警都没有,是生产服务器吗?
PerFectTime
3 天前
想起来之前看到的一个段子,新拿到服务器先 dd 一个 10g 的空文件,等到磁盘满了删除该文件以快速解决磁盘占用满的问题
sunxvvv
3 天前
硬盘满了,数据无法写到硬盘上,程序和内核的部分功能无法正常完成,不出问题才不合理吧......
pollux
2 天前
@PerFectTime 牛 +1
flyqie
2 天前
@PerFectTime #15

你这让我想起来 ext4 的保留空间了。。

都是干这个用的
FrankAdler
2 天前
/usr/bin/journalctl --vacuum-size=50M 放定时任务把

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1073133

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX