VPS - 服务器随机宕机,所有日志均出现空白

VPS - 服务器随机宕机,所有日志均出现空白

我们在荷兰的一家供应商处运行多台(租用)专用服务器。一切运行顺利,我们的大多数虚拟服务器正常运行时间都很高(99.99%)。除了一台服务器,这对我们来说很麻烦。

它是一个具有以下规格的网络服务器:

CentOS Linux release 7.0.1406 (Core)
Kernel 3.10.0-123.el7.x86_64

Apache/2.4.12 with mod_ruid2
PHP 5.4.38 (cli)
mysql Ver 15.1 Distrib 5.5.41-MariaDB, for Linux (x86_64) using readline 5.1

All compiled by DirectAdmin 1.48.3

昨晚,一个月内第二次,我们的监控显示无法通过 ping 或 HTTP 访问服务器。这件事发生在 04.10。由于我们的 VoIP 提供商发生故障,我们一小时后才收到通知,这后来给了我一些有趣的信息。

当我检查时,服务器确实瘫痪了,根本无法连接。我登录了提供商的控制面板,并尝试通过打开控制台访问 VPS,但只收到一条错误消息:连接被拒绝。下一步:通过提供商的控制面板向 VPS 发送重启信号。等了几分钟后,仍然无法连接。我再次尝试重启,但没有任何反应。我不想再等了,于是求助于最后的手段:强制重启 VPS(硬关闭,然后重新启动)。之后,服务器立即在 05.15 恢复运行。

我登录服务器打开messages日志。我发现到 04.10 为止日志规则都很正常。然后出现了一个间隙,直到 05.15。服务器在宕机和再次启动之间没有任何日志规则。我检查了所有其他日志:exim、apache 访问和错误日​​志、邮件日志等。但每个日志文件都有完全相同的间隙:04.10 和 05.15 之间。

我注意到的其他一些事情:

  • DirectAdmin 在名为 /usr/local/directadmin/data/admin/tickets.list 的文件中创建系统消息。重启服务器后,05.15 之前的所有票据都消失了。这很奇怪,因为在重启或关机时删除票据不是正常行为。

  • Directadmin 每分钟通过 cronjob 检查服务器日志中是否存在暴力攻击。如果在最后一分钟检测到暴力攻击,它会每分钟创建一条系统消息。通常,一条消息中会提到一个或两个 IP 地址。当服务器再次启动时,会立即创建一条包含 25 个以上 IP 地址的消息。这可能毫无意义,但我不明白。这意味着 cronjob 在服务器关闭之前停止工作,或者意味着服务器在关闭时记录了暴力攻击(并且 cronjob 当时没有运行)。这两种情况都没有任何意义。我想我必须提到它,因为这是我能注意到的极少数事情之一。

  • 根据我们的监控,在停机之前,CPU、内存、I/O 或延迟并没有明显增加。

很长一段时间以来,我第一次完全不知道在哪里可以找到停机的原因。任何帮助都将不胜感激!

相关内容