简介
本文档介绍使用reload ascii命令的含义。
NX-OS配置文件
在启动过程中,NXOS可以通过以下两种不同方式之一加载配置:
- 二进制启动:默认启动机制。预编译的二进制格式配置应用于每个NXOS进程。不使用纯文本启动配置文件,该文件仅供参考。一般而言,此文件应准确反映启动时应用的配置,因为它是running-config的镜像,而运行配置是二进制配置的基础。此二进制配置称为持久存储服务(PSS)。
- ASCII启动:只在特殊情况下使用。纯文本格式的配置从startup-config文件中读取。然后,在交换机启动期间应用该命令,与通过NX-OS CLI逐行输入时完全相同。概念上类似于运行write erase和reload命令,然后将配置的备份复制到running-config。
ASCII引导的潜在问题
通常不建议执行此命令,除非思科TAC建议执行该命令。
具体行为可能因交换机型号和软件版本而异。一般而言,较新的Nexus 9000系列交换机与ASCII启动相关的问题要少得多,因为内部已经应用了一些解决方法,以最大限度地减少影响。Nexus 7000等较旧的交换机可能会遇到更多问题。
- 启动时间。交换机启动时间可能明显较长,尤其是当它是具有大量VDC的模块化交换机时。在某些情况下,启动可能需要1小时甚至更长时间。这本身就可能引起问题。
- 启动时配置不一致。由于配置以相对缓慢的速度逐行应用,因此startup-config文件中较早的部分的生效速度可能远远快于更接近结尾的部分。例如,VPC域和对等链路配置的应用可能比对等保持连接接口配置快得多。VPC自动恢复计时器在配置对等keepalive之前可能已到期,VPC永远不可能发现已经有一个具有“主”角色的对等体,并且VPC也可能会在本地交换机上成为主要,从而导致大脑分裂的情况。
- 启动后缺少配置。由于正在逐行应用命令,可能正在配置的实体尚未就绪,因此无法应用其配置。在较新的Nexus 9000系列交换机中,大多数情况下都会避免这种情况,但是与Nexus 7000等较旧的交换机相关。示例:FEX端口配置,在需要应用以太网端口101/1/1的命令时,系统仍可能缺少这些端口。运行reload ascii命令后,需要对运行配置进行完全差异检查。
- 配置在后续重新加载后才会生效。Nexus 9000系列交换机通常有办法避免这种情况,但特别是Nexus 7000交换机,需要重新加载才能生效的配置(例如limit-resource u4route-mem minimum X maximum Y)在后续正常重新加载之前不会生效,就像是在新开箱交换机上通过CLI手动配置一样。
推荐的最大限度减少停机时间的方法
如果处理因重新加载交换机而影响需要避免的冗余生产网络,考虑到前面提到的潜在警告,建议在Nexus 7000交换机上进行ASCII重新加载,在较小程度上,在Nexus 9000交换机上进行ASCII重新加载,如中所述。
- 将交换机与网络隔离,以确保在应用配置过程中出现的任何不一致状态都不会影响实际网络。
- 计划重新加载过程需要较长时间,尤其是在具有多个线卡和VDC的模块化交换机上。
- 备份所有VDC的配置。
- 执行reload ascii命令。虽然交换机本身可以相对较快地访问,但只有在“%ASCII-CFG-2-CONF_CONTROL:系统日志中显示“系统就绪”消息。这可能需要更长的时间。要查找的消息示例:
switch# show logging log | in ASCII
2025 Aug 20 09:32:07 switch %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Ascii replay - ascii_cfg_server[14359]
2025 Aug 20 09:32:44 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Started.
2025 Aug 20 09:32:49 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Done.
2025 Aug 20 09:33:50 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Started.
2025 Aug 20 09:33:56 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Done.
2025 Aug 20 09:33:56 switch %ASCII-CFG-2-CONF_CONTROL: System ready
- 运行比较检查,将所有运行配置与重新加载之前执行的备份进行比较。如果缺少配置的任何部分,请手动添加。
- 要确保需要重新加载的所有命令生效,请运行copy running-config startup-config和reload命令以执行正常的二进制重新加载。