一、前言

3月27日一早,我和往常一样登服务器的音乐播放器的时候,突然连不上了

想着是不是自动开机出问题了,远程重新上了下电,结果还是不行

于是去看了下其它服务……全挂

二、故障表现

1、各种服务无法访问;

2、隧道无法打通;

3、DDNS在前6次开机后能够解析出来,iKuai的app显示上线,随后5分钟内下线,随后开机无法解析,iKuai一直显示离线。

三、故障原因

因为现象实在是太迷惑了,所以在外地只能猜猜是咋回事,但是我大概有点数

一些猜测

猜测1:年初有块盘炸了,有块盘SMART报error了,再炸块盘就要丢数据了,所以可能是盘炸了,为了防止丢数据,进入了保护模式?

猜测2:在炸的头一天晚上在同步文件夹解包了一个ReaLive引擎的文件,这个引擎特别怪,解出来的东西长下面这样:

解包_月の彼方で逢いましょう_属性

新文件又会写到缓存盘里面,Windows带压缩,Linux不带压缩,所以这玩意儿在Windows里面占9G多,在Linux里面就占1T+,服务器的缓存盘是双1T的SSD做软RAID,平时是占用600多G,剩300多G,加上1T,直接就把缓存盘淦炸了……

(清明节假期到了,从外地专程回来修服务器xiaoku

实地观察

回来,简单的观察一下,感觉是硬盘炸了进保护模式的锅

第二天去,仔细的看了一下

啊!原来是缓存盘炸了,上图!

Cache_BOOM0

Cache_BOOM1

是上面猜测2的原因,果然就是ReaLive的解包文件把缓存盘淦炸喽xiaoku

事故复盘

2021年3月26日晚11:50左右,位于外地的电脑在和服务器同步的文件夹里面开始解包ReaLive引擎的文件,在解包同时,已经解包的文件被自动同步到服务器中,根据服务器的缓存策略,新文件被写入服务器的缓存盘中。

3月27日凌晨00:30,缓存盘已经被写满的服务器根据计划用自动脚本关机。

凌晨00:59,服务器电源断电。

早06:30,服务器电源自动上电,服务器启动,虚拟机,Docker启动。

早06:38,虚拟机和Docker启动完成,开始运行。

早06:43,本就接近满的缓存盘被虚拟机和Docker近一步占用,彻底满了,虚拟机进入暂停状态,包括软路由在内的虚拟机停止运行,服务器与外界连接短开。

后面再次启动时重复以上过程:关机-释放虚拟机和Docker在缓存盘占用的空间-开机-刚刚释放的空间又被占满-软路由停机-失去同步-关机

在早06:43后重复了4次这样的情况,到晚5:20,缓存盘彻底被占满。开机后直接无法启动。

到此,服务器彻底无法使用……

四、日后的措施

1、加缓存盘容量(不可能,SSD太贵了)

2、服务器与软路由分离(也不可能,架子不一定放的了)

3、停止向缓存盘写入(可能但不太行,机械硬盘太慢辽~)

4、停止直接在同步文件夹操作,在同步文件夹放文件之前计算大小,杜绝在同步文件夹进行解包操作。(小心谨慎接着使huaji