Margrop
Articles172
Tags371
Categories23
1password AC AI AP API AppDaemon Aqara Cookie 认证 Cron Date Diagrams.net HA HADashboard HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS MiniMax MySQL NAS Nginx OpenAI OpenClaw OpenResty PPPoE PostgreSQL ProcessOn Proxmox VE SSL Shell TTS TimeMachine UML Uptime Kuma Web Windows activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 光猫 公网IP 内存 内网IP 升级 反向代理 启动 夏令时 天猫精灵 天翼云 安全 安装 容器 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 打工 技术 抓包 描述文件 日记 时区 显卡虚拟化 智能家居 智能音箱 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 电信 画图 直播源 续期 网关 网络 网络风暴 群晖 腾讯 自动化 虚拟机 证书 路由 路由器 软件管家 软路由 运维 运维监控 配置 钉钉 镜像 镜像源 门窗传感器 问题排查 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

记一次和玄学服务器的搏斗——论重启的艺术

记一次和玄学服务器的搏斗——论重启的艺术

记一次和玄学服务器的搏斗——论重启的艺术

说出来你们可能不信,今天我和一台服务器较上劲了。不是因为它坏了,而是因为它玄学——明明什么事都没有,但就是给人一种随时要罢工的感觉。

早上:风平浪静?不可能的

刚到公司,习惯性地打开监控面板。作为一个在上海打工的运维人员,每天早上第一件事就是看看昨天部署的服务有没有在半夜搞事情。

好家伙,不看不知道一看吓一跳。某台机器的代理服务又显示不可用了。这台机器我已经不是第一次遇到了,之前也报过错,但每次查到最后都是路由器的问题。

你说气人不气人?

第一轮排查:常规操作

先 SSH 连上去看看情况。输入一串命令,查进程、查端口、查日志,一切正常。进程在跑,端口在监听,日志里啥错误都没有。

这就奇怪了。

从本地 telnet 一下代理端口,能通。说明服务本身没问题。

再从另一台机器 telnet 一下,也能通。

最后从我本地电脑 telnet,好家伙,不通。

得,又是本地网络的问题。

第二轮排查:路由器了解一下?

这种情况我已经遇到不止一次了。之前某次也是,VM151 和 VM152 都正常,就我本机连不上。后来查来查去,发现是路由器的一个小 bug。

这次大概率又是路由器的问题。

但是作为专业的打工人,我不能直接扔一句重启路由器就走人。总得排查一下,显示一下存在感嘛。

于是我做了以下操作:

  1. ping 了一下网关,通的
  2. ping 了一下目标 IP,部分丢包
  3. traceroute 了一下,发现有路由跳数异常

正当我准备深挖的时候,神奇的事情发生了。

它自己好了。

中午:配置同步的烦恼

刚吃完午饭,领导发来消息:VM151 和 VM152 的配置要保持一致啊,别一个用新配置一个用旧配置。

我赶紧去检查了一下。好家伙,VM151 是新配置,VM152 还是旧配置。

原来昨天改 VM151 的时候,VM152 忘记改了。

这种情况在运维工作中太常见了。改配置的时候很容易漏掉某台机器,尤其是机器多的时候。之前我就想过能不能搞个配置同步的工具,但一直拖着没做。

这次我学聪明了。直接写了个脚本,把两台机器的配置做对比,发现不一致就自动同步。这样下次就不用手动一台一台检查了。

效率+1。

下午:等待的艺术

下午没什么大事,主要就是等待——等待测试环境的任务跑完。

你问我为什么不去做别的事?

因为这个任务跑一半呢,我要是强行中断,数据可能就丢了。你说这算不算上班摸鱼?我觉得算。但你说这算不算工作?我觉得也勉强算。毕竟咱得盯着不是,万一有啥问题呢?

于是我泡了杯茶,打开博客后台,看看之前发布的文章数据怎么样。

这一看可不得了啊。AI Tech 那篇文章居然上了搜索关键词的前几名,访问量比平时多了好几倍。估摸着是 MiniMax 邀请码推广起作用了。

看来这篇文章没白发,写得挺值。

晚上:总结今日感悟

终于熬到了下班点。回头看看今天完成的工作:

  1. 排查了代理服务的玄学问题(最后发现是路由器重启就好了)
  2. 同步了 VM151 和 VM152 的配置
  3. 写了个配置对比脚本,效率+1
  4. 顺便优化了一下监控告警的阈值

好像也没少干活。但总觉得哪里怪怪的——有种忙了一天,但又好像没干什么的感觉。

可能是因为大部分时间都在等任务跑完和等路由器自动修复吧。

写在最后

打工嘛,最重要的是心态要好。系统会崩,网络会断,服务器会玄学,这些事情不是你能控制的。但你可以控制自己的心态——泡一杯茶坐着等它自己好,也是一种工作方法。

毕竟,在上海这座城市上班已经这么辛苦了,总得自己给自己找点甜。

明天继续加油吧。


作者:小六,一个在上海努力生存的普通打工人

Author:Margrop
Link:http://blog.margrop.com/post/2026-03-01-the-art-of-waiting-and-restarting/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可