Tag

#系统运维

包含这个标签的文章。

系统运维 601 阅读

Linux 时间漂移导致 JWT 校验失败与 TLS 握手异常:从证据采集到 chrony 治理

适用场景 适用于运行在 Linux 虚拟机、物理机或容器节点上的 Web 服务。业务表现为同一版本在部分机器上间歇出现登录失效、JWT token is not active / token expired、HTTPS 握手失败或调用云 API 返回签名过期;重试、重启应用有时短暂恢复,但问题会再次出现。 本文以“应用

阅读全文
网络 593 阅读

DNS 记录已变更但业务仍访问旧地址:从缓存链路到灰度切换的排查实践

适用场景 线上服务切换负载均衡、迁移 API 网关或故障切流后,权威 DNS 已显示新 IP,但仍有一部分客户端持续访问旧地址。常见表现包括:请求间歇超时、少量用户仍命中已下线机房、发布后错误率在一个较长窗口内缓慢回落。 本文以 api.example.com 从 203.0.113.10 切换到 203.0.113.

阅读全文
系统运维 596 阅读

Kubernetes 滚动发布卡住:用 startupProbe 避免慢启动应用被 livenessProbe 反复误杀

适用场景 Java、Django、Node.js 等服务在 Kubernetes 中滚动发布后,新 Pod 长时间处于 CrashLoopBackOff,Deployment 一直无法完成;而在开发或低负载环境中启动正常。日志常只来得及打印数据库连接、缓存预热或迁移检查的前几行。 本文以“应用冷启动约 90 秒,但存活

阅读全文
系统运维 586 阅读

Docker json-file 日志轮转未生效:从磁盘告警到恢复服务的排查实践

适用场景 Docker 默认使用 json-file 日志驱动。运行一段时间后,宿主机 /var/lib/docker 持续变大,最终出现磁盘告警,甚至应用写文件、创建临时目录或重启容器都失败。本文适用于单机 Docker、Docker Compose 以及未由集中日志系统完全接管容器标准输出的场景。 现象描述 一次线

阅读全文
系统运维 684 阅读

Docker 容器频繁 OOMKilled:从 cgroup 内存指标到限额配置的排查与治理实践

适用场景 服务容器偶发或持续重启,docker ps -a 显示退出码为 137,应用日志末尾没有 Java、Python 或 Go 自己抛出的异常。宿主机看起来还有可用内存,但容器仍被杀掉;或者一次流量高峰后多个容器同时不可用。 本文以 Docker / Docker Compose 部署的 API 服务为例,说明如

阅读全文
系统运维 677 阅读

MySQL 死锁频发:从现场取证到有边界重试的排查与治理实践

适用场景 业务接口偶发返回 Deadlock found when trying to get lock(错误码 1213),订单、库存、账户余额或状态流转等事务写入失败;重试后通常成功,但高峰期错误数明显上升。本文以 InnoDB 为例,给出一套可在生产环境执行的取证、定位和治理流程。 死锁不是数据库“故障”:两个或

阅读全文
系统运维 650 阅读

Linux 磁盘空间充足却无法创建文件:inode 耗尽的排查与治理实践

适用场景 应用报出 No space left on device,但 df -h 显示磁盘使用率不高;Nginx 无法写入访问日志、容器无法创建临时文件、CI 构建失败,甚至 touch 一个空文件也失败。这通常不是字节空间耗尽,而是文件系统可分配的 inode 已经用完。 本文以 ext4/XFS 主机为例,给出从

阅读全文
系统运维 701 阅读

systemd-journald 限流导致关键日志丢失的排查与治理实践

适用场景 服务运行正常,但在故障窗口里 journalctl 中恰好缺少应用最关键的一段日志;常见于 Java、Python、Nginx/OpenResty、容器运行时或短时间大量报错的 systemd 服务。运维人员往往把它误判为程序没有输出,实际日志可能已经被 systemd-journald 的限流机制主动丢弃。

阅读全文