소개
이 문서에서는 reload ascii 명령을 사용할 때의 의미를 설명합니다.
NX-OS 컨피그레이션 파일
부팅 과정에서 NXOS는 다음 두 가지 방법 중 하나로 컨피그레이션을 로드할 수 있습니다.
- 이진 부팅: 기본 부팅 메커니즘. 이진 형식으로 미리 컴파일된 컨피그레이션은 모든 NXOS 프로세스에 적용됩니다. 일반 텍스트 startup-config 파일은 사용되지 않으며 참조용으로만 사용할 수 있습니다. 일반적으로 이 파일은 이진 컨피그레이션의 기반인 running-config의 미러이므로 부팅할 때 적용된 컨피그레이션을 정확하게 반영할 수 있습니다. 이 이진 컨피그레이션을 PSS(Persistent Storage Service)라고 합니다.
- ASCII 부팅: 예외적인 상황에서만 사용됩니다. 일반 텍스트 형식의 컨피그레이션은 startup-config 파일에서 읽습니다. 그런 다음 스위치 부팅 중에 NX-OS CLI를 통해 입력한 것과 정확히 동일한 방식으로 적용됩니다. 개념상 write erase 및 reload 명령을 실행한 다음 컨피그레이션의 백업을 running-config에 복사하는 것과 유사합니다.
ASCII 부팅 시 잠재적 문제
일반적으로 Cisco TAC에서 이 명령을 제안하지 않는 한 이 명령을 실행하지 않는 것이 좋습니다.
정확한 동작은 서로 다른 스위치 모델과 소프트웨어 버전 간에 다를 수 있습니다. 일반적으로 최신 Nexus 9000 Series 스위치는 ASCII 부팅과 관련된 문제가 훨씬 적습니다. 영향을 최소화하기 위해 내부적으로 해결 방법이 적용되었기 때문입니다. Nexus 7000과 같은 구형 스위치에서는 더 많은 문제가 발생할 수 있습니다.
- 부팅할 시간입니다. 특히 VDC가 많은 모듈형 스위치인 경우 스위치를 부팅하는 데 훨씬 더 오래 걸릴 수 있습니다. 경우에 따라 부팅에 1시간 이상이 걸릴 수 있습니다. 이것 자체가 문제를 일으킬 수 있습니다.
- 부팅하는 동안 컨피그레이션이 일치하지 않습니다. 컨피그레이션이 비교적 느린 속도로 한 줄씩 적용되므로 startup-config 파일에서 이전 컨피그레이션 부분이 끝에 더 가까운 부분보다 훨씬 빨리 적용될 수 있습니다. 예를 들어, VPC 도메인 및 피어 링크 컨피그레이션이 피어 킵얼라이브 인터페이스 컨피그레이션보다 훨씬 빨리 적용되는 경우가 발생할 수 있습니다. 피어-킵얼라이브가 구성되기 전에 VPC 자동 복구 타이머가 만료될 수 있으며, VPC는 "기본" 역할을 가진 피어가 이미 있음을 확인할 기회가 없으며, VPC가 로컬 스위치에서도 기본 역할로 나타날 수 있으므로 브레인 분할 상황이 발생할 수 있습니다.
- 부팅 후 구성이 누락되었습니다. 명령을 한 줄에 하나씩 적용하고 있기 때문에 구성 중인 엔터티가 아직 준비되지 않아 구성을 적용할 수 없습니다. 대부분의 경우 최신 Nexus 9000 Series 스위치에서는 이러한 현상이 방지되지만 Nexus 7000과 같은 이전 스위치에서는 이러한 현상이 발생하지 않습니다. 예: FEX 포트 컨피그레이션, Ethernet101/1/1과 같은 포트는 해당 명령을 적용해야 할 시간까지 시스템에서 누락될 수 있습니다. reload ascii 명령을 실행한 후에는 실행 중인 컨피그레이션의 전체 diff 검사가 필요합니다.
- 후속 다시 로드해야 컨피그레이션이 적용됩니다. Nexus 9000 Series 스위치에는 일반적으로 이러한 문제를 방지할 수 있는 방법이 있지만, 특히 Nexus 7000 스위치에서는 limit-resource u4route-mem minimum X maximum Y와 같이 재로드를 적용해야 하는 컨피그레이션은 후속 정상적인 재로드가 있을 때까지 적용되지 않으며, 이는 CLI를 통해 즉시 사용 가능한 스위치에서 수동으로 구성한 것과 같습니다.
다운타임 최소화를 위한 권장 접근 방식
앞서 언급한 Nexus 7000 스위치 및 Nexus 9000 스위치의 잠재적인 주의 사항을 고려할 때 스위치 재로드로 인한 영향을 방지해야 하는 이중화 운영 네트워크를 다룰 경우, 설명한 대로 ASCII 다시 로드를 수행하는 것이 좋습니다.
- 컨피그레이션을 적용하는 과정에서 일관되지 않은 상태가 라이브 네트워크에 영향을 주지 않도록 네트워크에서 스위치를 격리합니다.
- 특히 라인 카드와 VDC가 많은 모듈형 스위치에서 다시 로드 프로세스가 오래 걸릴 수 있도록 계획합니다.
- 모든 VDC의 컨피그레이션을 백업합니다.
- reload ascii 명령을 수행합니다. 스위치 자체는 비교적 빨리 액세스할 수 있지만 부팅은 "%ASCII-CFG-2-CONF_CONTROL: System ready" 메시지가 syslog에 나타납니다. 이 작업은 훨씬 더 오래 걸릴 수 있습니다. 찾을 메시지의 예:
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 명령을 실행합니다.