飞花小令出走记

笨蛋临时工运维,在线把自己菜哭

目录

上次是谁提的 ChatGPT Ops 来着,我真的很需要一个机器人来监督我敲命令!

表情包,“不要靠近 ssh,会变得不幸”

1. 出走

这几天收到了好几条 A 云(国内知名云服务提供商)发来的短信,提醒我租的服务器马上到期。这台机器是《飞花小令》的家,要是塌了游戏就不能玩了,但是本 deadline 战神不到最后一天是坚决不会动的!于是这天晚上眼看着还有几个小时就要过期了,便按计划登上 A 云控制台,找到“续费”——

一年怎么要 600 多啊!去年这个时候新客优惠的年租只收了 38 块钱,明明记得当时说可以续费几年来着。立刻开了个工单,然后被机器人回答了:一切以实时报价为准。好 bia,或许我记错了。

那我当然不会破费那么多,而搬家的话搬哪儿都一样,于是谋划着搬去另一台国外的小服务器上,顺便套个 Cloudflare,以后也不用专门为它多花一倍的租金了,完美!说干就干。

2. 迷途

小服务器也是真的小,磁盘几乎已经满了,而游戏的诗词库又偏偏有 2 GiB,只能先想办法腾出一些空间。

首先挑软柿子捏,看到一个巨大的目录赫然写着 medle,哎它不是早搬到外面去住分布式大 house 了吗,留你何用,rm -rf

一顿操作之后忽然意识到,这个目录里面有几个月的访问日志没有备份出来。Medle 的日志对我来说其实一直挺重要的,偶尔看看最近在玩的人数,无论是多是少,都会有种“努力没有白费”的欣慰。

可是这下好了,真成西西弗斯了,之前几个月的记录丢掉的话,一切被看到过的痕迹就从世界上(至少是我自己的世界里)被抹去了。我知道每天都有不多不少的人来玩,但是把看得见摸得着的记录就这么弄丢还是挺难过的。

然后就开始趴在桌上哭(真的把自己菜哭了!)

很快就开始觉得不能那么废物,支棱起来不抱希望地往搜索引擎里面敲“Linux recover rm’ed files”,并且做好了胡乱 unmount 的准备,实在不行就算了。然后出现了让我眼前一亮的东西——

StackExchange 上的问题,回答中提到如果文件还被进程开着就可以从 /proc 里找到。

天哪,谢谢这个设计,赶紧去找,顺便看看自己有没有不知不觉把别的日志也搞丢了。

ssh 界面;找到对应进程 ID,确实能通过打开的文件描述符恢复完整的内容。

真的能从文件描述符里恢复内容,而且十分完整!失而复得,喜极而泣(这次没有真哭),赶紧备份下来接着整理去了——原本的住处还有半个小时就要过期了呀!

3. 流浪

接着又找到了 /usr/lib/modules 里面超大的几个写着 Linux 内核版本号的目录,查了查说是可以把旧的卸载一下腾点空间。那我就不客气了,apt remove linux-image-5.15.0-43-generic linux-modules-5.15.0-43-generic

警告将要卸载当前正在运行的内核,建议中止。

话说这个 Yes/No 的设计很容易出错哇,多读了一遍才确定 Yes 是中止。于是想着,不然重启一下吧,等内核更新了就可以把旧版卸载啦!sudo reboot

然后就变成了 ssh 死活连不上(显然是没有开机),甚至因为自己的小机场也在同一台服务器上,顺手搜 Google 也不行了,得换地方。后来意识到不用搜,登上网站控制台用 VNC 进去看,发现提示了这种东西:“Kernel panic — not syncing: System is deadlocked on memory”。天啊今天是不是忌搬家呀!

反正后来从启动菜单换成旧版本就又进去了,重启之后奇迹般释放了好多存储空间,够塞得下飞花小令了。快搬快搬。

4. 挥别

等数据上传的时候看了看 A 云的旧房子,陪它走到了最后一刻——其实过了几分钟才停机,一开始还以为看错日期了(要是真看错了是不是又要被蠢哭了啊……)。然后就没什么啦,搬入的过程还是挺顺利的。总之现在游戏又可以玩了!最近玩家数又低谷了,down time 感觉应该是没人发现(这个游戏可能最近也不太有人发现了吧,泪目)。

服务器它真的好温柔,我哭死。写出来当乐子看,虎年的霉运就留在虎年了

permalink | by Ayu