在华为交换机上,NTP/4/STRATUM_CHANGE 这条告警几乎每个做过网络运维的人都见过,但真正理解它的并不多。我第一次在现网看到这条告警时,下意识以为是设备时间不同步,赶紧准备重新配置NTP,后来仔细查了才发现,交换机本机时间是对的,告警说的是“源参考时钟的系统层数”变了,而不是“时间同步丢失”。这篇文章就把这条告警从日志解读、底层原理、触发场景、排查链路到加固配置一次讲透,适合网络运维、数通售后和IDC值班同学作为参考。
1. 先看懂这条告警:STRATUM_CHANGE 在说什么
1.1 一条告警日志的逐字拆解
华为交换机上通过 display logbuffer 看到这条告警时,日志一般长这样:
text复制Mar 12 10:23:45 10.10.10.1 %%01NTP/4/STRATUM_CHANGE(l)[0]:OID 1.3.6.1.4.1.2011.5.25.129.2.4.1.6 The stratum of the source reference clock changed, Source: 10.10.10.2, Old stratum: 2, New stratum: 3.
这里的几个关键字段值得逐个拆解。NTP/4 表示模块是NTP,日志级别是4,也就是警告级别。STRATUM_CHANGE 是告警名称,描述核心事件:stratum发生了变化。Source 是发生变化的参考时钟源IP,这个源不一定就是当前选中的同步源,也可能是候选源。Old stratum 和 New stratum 是改变前后的层数。
不同型号、不同软件版本的OID可能不一样,后面那一串数字不用死记。真正要关注的是Source地址、Old stratum和New stratum三个字段。整条日志的含义可以理解为:交换机发现某个参考时钟源的层级关系发生了变化,但它并没有直接说“设备时间失准了”。
1.2 最容易看漏的两个细节
第一个细节是“来源”不等于“当前同步源”。华为交换机在运行NTP时,会同时维护所有已配置的候选源,通过选源算法从里面挑一个作为当前同步源。STRATUM_CHANGE告警里报出来的Source,只是某个参考源发生了变化,不一定是设备正在使用的源。所以看到这条告警后,必须用 display ntp-service status 确认当前参考时钟是谁,否则很容易误判。
第二个细节是“Old stratum 和 New stratum 都是有效数值”的情况,比如从2变成3,或者从3变成2。很多同事看到数值不是16就认为不重要,结果忽略了它背后可能是一次上游主备切换。如果整网设备都跟随同一台上游NTP服务器,这种变化会迅速向下扩散,导致一批设备在同一时间段内上报同样的告警。遇到这种批量告警,基本可以判断问题出在NTP服务器或链路,而不是某台交换机本身。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统层数为什么重要:NTP分层机制的底层逻辑
2.1 Stratum 到底在衡量什么
NTP时间体系用stratum表示时钟源的层级,取值范围是0到16。这个概念可以类比供应链:stratum 0是原子钟、GPS授时模块这类直接获取标准时间的硬件设备;stratum 1是直接连接stratum 0的服务器,相当于一级供应商;stratum 2从stratum 1同步,相当于二级供应商,以此类推。stratum 16表示不可达或者未同步,属于无效状态。
| Stratum | 含义 | 是否可对外提供服务 |
|---|---|---|
| 0 | 原子钟、GPS等基准时钟硬件 | 否 |
| 1 | 直接连接基准时钟的NTP服务器 | 是 |
| 2 | 从stratum 1同步 | 是 |
| 3~15 | 逐级向下同步 | 是 |
| 16 | 未同步或不可达 | 否 |
stratum之所以重要,是因为在NTP选源算法里,它是首要比较项。客户端会在同一层数内再去比较距离、延迟、抖动等指标。如果
