news 2026/5/26 5:36:45

systemd-resolved.service实验实战3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
systemd-resolved.service实验实战3

Systemd 设计模式:CrashGuard (防止无限重启)

痛点 (The Problem):
你给服务设置了Restart=always,但程序有 Bug,启动后 1 秒即崩。
后果:Systemd 陷入死循环(重启风暴),CPU 飙升 100%,日志塞满磁盘,甚至导致无法 SSH 登录。

解法 (The Solution):
不要无脑重启。限制频率,并在彻底失败后触发备用方案

1. 核心机制 (背下这 3 个参数)

  • StartLimitIntervalSec: 时间窗口 (例如 10秒)。
  • StartLimitBurst: 允许崩溃的最大次数 (例如 3次)。
  • OnFailure: 当达到限制后,Systemd 放弃重启,转而启动的服务。

2. 实战配置

服务 A:不稳定的主程序 (受害者)

/etc/systemd/system/unstable-app.service

[Unit] Description=My Buggy App # 【规则】如果在 10秒 内崩溃超过 3次... StartLimitIntervalSec=10 StartLimitBurst=3 # 【动作】彻底停止尝试,并启动下面这个服务: OnFailure=safe-mode.service [Service] # 模拟崩溃 (1秒后退出) ExecStart=/bin/bash -c "sleep 1 && exit 1" Restart=always RestartSec=1
服务 B:安全模式 (救世主)

/etc/systemd/system/safe-mode.service

[Unit] Description=Safe Mode Alert [Service] Type=oneshot # SE 的自救动作:点亮红灯、发短信报警、或者回滚分区 ExecStart=/bin/echo "CRITICAL: 检测到重启风暴,已进入安全模式!"

3. 运行流程 (The Flow)

  1. 启动:unstable-app启动 ->崩溃
  2. 重试 1: Systemd 重启它 ->崩溃
  3. 重试 2: Systemd 重启它 ->崩溃
  4. 触发阈值: Systemd 发现 “10秒内崩了3次”。强制停止unstable-app
  5. 故障转移: Systemd 自动启动safe-mode.service

SE 经验总结:
永远不要只写Restart=always而不加StartLimit
这是“偶尔故障”和“设备变砖”之间的区别。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 17:11:48

小学娃近视防控不费妈!这款眼调节训练灯,学习护眼一步到位

家有小学娃,近视防控堪称家长的“心头大事”。看着孩子每天趴在书桌前读书、写作业,长时间近距离用眼,不少家长既担心孩子视力下降,又苦于没有省心的解决方案——强迫孩子做眼保健操、定时远眺,往往要花费大量时间监督…

作者头像 李华
网站建设 2026/5/25 11:44:52

02、打不开某个网站

本质上是客户端到认证服务器的 TCP 三层/四层连不通,或 SSL/TLS 握手/证书校验失败。先按下面 3 步定位,再按对应方案处理即可。一、定位错误1.1、ping / curl 测试三层 ping 不通 网络 / DNS / 防火墙问题 curl 能通但 4**/5** 服务活…

作者头像 李华
网站建设 2026/5/24 3:16:14

Spring事务

学习资料:Spring 事务详解 | JavaGuide Spring支持的事务本质上是数据库支持的事务,所以前提也是数据库支持事务 Spring 不直接实现事务,而是通过 事务管理器(PlatformTransactionManager) 来对接不同底层技术&#…

作者头像 李华
网站建设 2026/5/25 20:31:07

1000人网络设计冗余型

只做到DHCP中继服务了&#xff0c;还有电信的pppoe拨号上网、telnet、策略路由等还没做&#xff0c;等下次更新&#xff0c;配置需要对照拓扑图来看<HX_SW1>dis cu # sysname HX_SW1 # undo info-center enable # vlan batch 2 to 5 200 800 999 # stp instance 1 root …

作者头像 李华
网站建设 2026/5/26 4:57:00

PyCausalSim:基于模拟的因果发现的Python框架

做 A/B 测试或者分析转化率的时候&#xff0c;经常会碰到那个老生常谈的问题&#xff1a; “这数据的波动到底是干预引起的&#xff0c;还是仅仅是相关性&#xff1f;” 传统的分析手段和机器学习擅长告诉你什么能预测结果&#xff0c;但预测不等于因果。而在做决策&#xff…

作者头像 李华