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

seWindows · 2024-9-15 00:36:45 · 305 次点击
服务器上一直不停报错没注意,跑了几个月,竟然把 journal 的日志占满了。journal 日志一直没限制。后来清理的时候发现大概占了硬盘空间的 80%左右,其实是发现 ssh 登不上去了才发现这个问题。

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

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

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


后来复盘的时候才发现是一个 loop 硬盘满了,读写一直失败。导致宿主机一直记录这个失败日志,导致宿主机硬盘也满了。
硬盘满了后,感觉有不少软件会卡在 syslog 或者其他 log 函数上。很多软件都会出现预期之外的行为。
举报· 305 次点击
登录 注册 站外分享
22 条回复  
wacxr123 该用户已被删除 2024-9-15 01:01:18
提示: 作者被禁止或删除 内容自动屏蔽
flynaj 小成 2024-9-15 01:55:14
这个时候你就知道 zabbix 的好处了。
Donaldo 小成 2024-9-15 01:57:10
我中招过几次,但我一堆服务器总是懒得去设置,其实可以设置一下 rotate 或者过期日期,要不迟早有满的一天。。。啊,好累。。。
Kumo31 小成 2024-9-15 03:12:18
这些行为就是预期内的,只不过大部分软件的设计者就没考虑处理这种情况。我们还有一个专门的避免任何 IO 的程序去做这种情况下的节点降级处理
june4 小成 2024-9-15 08:00:30
我自己写了个快满了无限 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 小成 2024-9-15 09:46:27
某些程序的写入操作是删除原有数据再写入(并不是追加和修改),硬盘已满的情况下这样会导致文件丢失
这里点名 acme
kneo 小成 2024-9-15 09:51:49
这不叫 bug 。举个再极端的例子,你电脑断电了程序挂了,你能说这是软件 bug ?
L4Linux 小成 2024-9-15 12:44:56
你们运维在干啥? logrotate 都不跑一下的吗?
dfdd1811 初学 2024-9-15 16:40:04
所以虽然我自己只有三台机器,但我还是用 prometheus+grafana…
123下一页
返回顶部