是否可以信任 Linux 正常运行时间值来精确定位停机时间?

是否可以信任 Linux 正常运行时间值来精确定位停机时间?

我有 2 台服务器,其中一台报告正常运行时间为 9 小时,另一台为 7 小时。我没有其他监控系统。我的“托管”提供商表示,这是一次电源峰值事件,导致两台服务器都重新启动,并且正常运行时间的准确性不可信。他的说法有道理吗?两台服务器同时重新启动,正常运行时间会相差 2 小时吗?谢谢。

答案1

是否可以信任 Linux 正常运行时间值来精确定位停机时间?

不。

/proc/uptime和/或该uptime命令只告诉你系统运行了多长时间,即它允许你确定系统运行了多长时间已恢复因停电。

即使您没有监控last -F reboot或快速检查/var/log/messages通常会显示最后记录的消息和系统恢复之间的时间间隔,让您(粗略地)估计中断的持续时间。

据我所知,正常运行时间是一个简单的不断增加的内核计数器,不受系统时钟的日期/时间操作的影响。也就是说,当您更改时区或使用 NTP 等更改系统时间/日期时,命令date或使用 操作(不正确的)硬件时钟hwclock,这不会改变正常运行时间计数器。

如果您的系统的正常运行时间相差两个小时,并且遭遇相同的中断,那么最明显的结论是,其中一个系统从该中断中恢复又需要两个小时……

顺便说一句,造成这种情况的原因有很多,可能非常合理。

答案2

uptime仅当您想知道系统自上次启动以来运行的时间时才有效,仅此而已。

相反,tuptime记录系统启动和关闭事件。这有助于显示异常关闭,例如由断电和挂起引起的关闭,因为它们的报告在“结​​束”列下包括它是正常还是错误:

$ tuptime -t
No.        Startup Date                                Uptime       Shutdown Date   End                                       Downtime

1     22:21:49 05/15/18             50 minutes and 44 seconds   23:12:33 05/15/18    OK                                     13 seconds
2     23:12:46 05/15/18                1 minute and 2 seconds   23:13:48 05/15/18    OK            18 hours, 57 minutes and 18 seconds
3     18:11:06 05/16/18              2 minutes and 34 seconds   18:13:40 05/16/18   BAD               1 hour, 48 minutes and 6 seconds
4     20:01:46 05/16/18     1 hour, 29 minutes and 30 seconds   21:31:15 05/16/18   BAD                      14 minutes and 31 seconds
5     21:45:47 05/16/18             19 minutes and 42 seconds   22:05:28 05/16/18    OK             21 hours, 7 minutes and 18 seconds
6     19:12:47 05/17/18               37 minutes and 1 second   19:49:47 05/17/18    OK                                     26 seconds

相关内容