Tag

#系统运维

包含这个标签的文章。

系统运维 132 阅读

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

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

阅读全文
网络 148 阅读

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

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

阅读全文
系统运维 180 阅读

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

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

阅读全文
系统运维 194 阅读

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

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

阅读全文
系统运维 293 阅读

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

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

阅读全文
系统运维 289 阅读

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

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

阅读全文
系统运维 288 阅读

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

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

阅读全文