一次服务器故障的经历

发布于 2019-12-28  681 次阅读


如果你能看到这篇文章的话,就说明故障已经被我排除了。

重新打开几小时前我以为再也打不开的网站,不禁有些小激动,同时又吐槽了一遍老是不记得备份东西的自己。

把网站的数据备份一遍之后,顺带来记录一下这次服务器故障的经历吧。

1.发现故障

昨晚想起好久没有在这个长草多时的博客上更文章,因此决定上线除除草。输入熟悉的网址,但加载好久后浏览器提示打不开。切换好几个网络后依旧没办法打开网站。

当时我感觉也许是因为晚上出口流量限制而加载缓慢,就拿另外一个海外的服务器ping了一下,没想到居然ping不通。

哪边都连不上,这大概就出问题了。

在IDC提供的控制面板上点开noVNC,终于连接上了服务器。连上之后,先ping一下GitHub,不通。再apt update一下,几个源都无法访问。最后ping网关,也不通。

就以上情况而言,毛病似乎出在服务器上。都不能正常联网了。

本来想着直接重装系统,加载上备份的数据后又是一台好服务器。但最近一段时间并没有备份,只有之前的老数据。

没办法,在决定重装之前还是想想能不能想办法修复问题吧。

2.排错过程

一开始当然是发一个ticket问问了。但等到今天并没有回应。

所以还得自己动手解决。

检查了几个相关的配置文件,无法检查出什么明显的问题。而且我之前也从没动过那些配置,感觉基本不可能会是那边的毛病。

到最后实在想不到还有什么地方可以检查的,就在控制面板上点开救援模式,试试看救援模式救得了这台看不出毛病在哪的服务器不。

救援模式启动后,习惯性的用SSH连接服务器,当我反应过来之后,居然发现连上了。

这不科学,为啥开了救援模式就连上去了?

不管怎样先把密码输了,进去直奔配置文件。和刚刚检查的一对比,发现救援模式中的配置文件里面网关以及掩码不一样。

关掉救援模式再用noVNC连上服务器,打开/etc/network/interfaces配置文件,修改完接口的网关以及掩码之后重载,然后再ping一下GitHub,通了。

搞半天原来是因为这个问题啊……

现在想想,估计是IDC那边重新划了机房的子网,然后服务器上的配置文件没跟着刷新(毕竟配置文件中显示是静态配置的),所以就导致服务器不能联网。

3.惯例吐槽

不管怎样,至少最后问题已经得到解决,算是个不差的结局吧。

这次有惊无险的故障经历再次提醒我要经常备份,不然指不定哪天服务器突然挂掉就翻车了。