소개
이 문서에서는 CSSM(Cisco Smart Software Manager)을 사용하여 NSO(Network Service Orchestrator)에서 라이센스 문제를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문제
CSSM에서 NSO에 발생한 오류:
result Error: License Agent not ready. Please try again.
Failure Reason: Communication send error.
java.lang.module.FindException: Module java.xml.bind not found (From the ncs-smart-licensing.log)
먼저 다음 명령/출력을 확인해야 합니다.
- smart-agent가 실행되는지 확인합니다.
[root@nso-ha-1 home]# ps -ef | grep smart
root 63522 63419 0 06:56 ? 00:00:00 /opt/ncs/current/lib/ncs/lib/core/sls/priv/agentwrapper
java -Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom -jar
/opt/ncs/current/lib/ncs/lib/core/sls/priv/webapp-runner.jar
/opt/ncs/current/lib/ncs/lib/core/sls/priv/smartagent --port 0 --path /smartagent --shutdown-override
root 63523 63522 4 06:56 ? 00:02:45 java -Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom -jar
/opt/ncs/current/lib/ncs/lib/core/sls/priv/webapp-runner.jar
/opt/ncs/current/lib/ncs/lib/core/sls/priv/smartagent
--port 0 --path /smartagent --shutdown-override
[root@nso-ha-1 home]# systemctl status ncs.service
>...
└─63523 java -Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom -jar
/opt/ncs/current/lib/ncs/lib/core/sls/priv/webapp-runner.jar
/opt/ncs/current/lib/ncs/lib/core/sls/priv/smartagent -
-port 0 --path /smartagent --shutdown-overr...
...
Apr 13 06:56:15 nso-ha-1 ncs[63406]: - Starting the NCS Smart Licensing Java VM
root@ncs# show smart-license smart-agent start-status
smart-license smart-agent start-status started
- 토큰(직접/프록시/위성)을 등록하는 데 사용되는 방법을 확인합니다. 확인했으면 NSO 서버에서 서버로의 연결이 있는지 확인합니다.
wget https://www.cisco.com
wget <IP of proxy or satellite server>
curl -vvv <IP of proxy or satellite server>
예
프록시: DDCEService
위성: DeviceRequestHandler
- 다음 단계는 스마트 라이센스 관련 매개변수가 구성된 위치를 확인하는 것입니다. 두 가지 방법으로 이 작업을 수행할 수 있습니다. 하나는 ncs.conf 파일 아래에 smart-license 섹션을 갖는 것입니다.
<smart-license> <smart-agent>
<java-executable>DEFAULT</java-executable>
<java-options>DEFAULT</java-options>
<production-url>DEFAULT</production-url><
<alpha-url>DEFAULT</alpha-url>
<override-url>
<url>DEFAULT</url>
</override-url>
<proxy>
<url>DEFAULT</url>
</proxy>
</smart-agent>
</smart-license>
다른 하나는 cli에서 컨피그레이션을 수행하는 것입니다.
admin@ncs# show running-config smart-license smart-agent
참고: 모든 시스템에서는 두 컨피그레이션 중 하나만 사용할 수 있습니다. ncs.conf 아래의 컨피그레이션은 항상 CLI에서 만든 컨피그레이션보다 우선합니다.
- 그런 다음 다음 다음 명령을 사용하여 라이센스 관련 정보를 확인합니다.
root@ncs# show license ?
가능한 완료:
UDI |
디바이스 UDI를 표시합니다. |
모두 |
모든 Smart Licensing 정보를 표시합니다. |
상태 |
전체 Smart Licensing 상태를 표시합니다. |
요약 |
Smart Licensing 상태 요약을 표시합니다. |
기술 지원 |
Smart Licensing 기술 지원 정보를 표시합니다. |
추적 |
Smart Licensing 추적 상태를 표시합니다. |
사용 |
Smart Licensing 라이센스 사용량을 표시합니다. |
이전 명령은 모든 현재 라이센스에 대한 아이디어를 제공하며, InCompliane
, OutofCompliance
, Erroneous
, Eval
등.
- 마지막으로, 다음 컨피그레이션으로 스마트 라이센스 로그를 활성화할 수 있습니다.
root@ncs# show running-config smart-license
smart-license smart-agent stdout-capture enabled
smart-license smart-agent stdout-capture file /var/log/ncs/ncs-smart-licensing.log
smart-license smart-agent stdout-capture stdout
문제 해결 1
오류 발생 시 "License agent is not ready",
config 및 ncs.conf 파일을 실행하는 smart-license를 확인합니다. smart-license 섹션이 ncs.conf 파일에 있는 경우 코멘트하고 NSO CLI에서 다음 구문을 구성합니다.
root@ncs# config
Entering configuration mode terminal
root@ncs(config)#smart-license smart-agent java-options "-Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom"
root@ncs(config)#smart-license smart-agent override-url url
<URL>은(는) 앞서 설명한 프록시 서버 또는 위성 서버가 될 수 있습니다. 위성 서버의 경우 포트가 "443"이고 HTTP가 사용되는지 확인하는 것이 중요합니다. (8443은 GUI에 사용됩니다.) 또는 HTTP가 작동하는 경우 그에 따라 URL을 수정해야 합니다.
이러한 변경 사항을 적용하면 Smart-Agent가 다시 시작됩니다.
root@ncs(config)# smart-license smart-agent restart
result Started
이전 변경 후에도 라이센스 에이전트는 시작할 수 없을 가능성이 있습니다. 변경을 방해할 수 있는 또 다른 컨피그레이션은 'HA'와 관련이 있습니다. 이 경우 ncs.conf 파일에서 HA가 활성화되었는지 또는 비활성화되었는지 확인하는 빠른 확인이 가능합니다.
참고: HA 설정에서는 기본 노드에서만 스마트 라이센싱을 활성화(구성)해야 합니다.
이러한 변경으로 Smart-License 에이전트는 다음 작업을 수행할 준비가 되었습니다. 검사할 토큰을 등록해 보십시오.
문제 해결 2
스마트 라이선스 에이전트가 잘 작동할 때에도 "통신 전송 오류"가 발생할 수 있습니다. override-url을 확인하고 포트가 작동하는지 확인합니다. 앞에서 언급한 대로 연결도 검증해야 합니다.
NSO에 문제가 없는 경우 SSMS(Smart Software Manager 온프레미스 위성)와 CSSM이 연결되어 있기 때문일 수 있습니다. 필수 단계인 CSSM과 완전히 동기화되지 않은 FQDN과 일치하도록 cName을 변경할 수 있습니다. 이 단계를 수행하지 않으면 CSSM에서 생성된 토큰을 생성하는 동안 문제가 발생합니다. 이로 인해 다음 오류가 발생할 수 있습니다.
Failure Reason: {"token":"The token ‘<Actual Token from CSSM>’ is not valid."]}
https를 사용하여 NSO를 등록하는 방법에 대한 자세한 내용은 How to Satellite Smart-licensing Server(Satellite Smart-licensing 서버에 HTTPS를 사용하여 장치를 등록하는 방법)를 참조하십시오.
문제 해결 3
세 번째 문제는 사용 중인 자바 버전에 문제가 있을 때 발생합니다. smart-agent는 기본적으로 JAVA 프로세스(NCS Smart Licensing Java VM)이며, 올바른 java 버전을 사용해야 합니다.
다음 오류가 표시됩니다.
Error occurred during initialization of boot layer
java.lang.module.FindException: Module java.xml.bind not found
child died (From the ncs-smart-licensing.log)
Java 11에서 손실된 java 모듈에 대한 힌트를 제거했습니다. 이 문제가 발생하면 버전을 확인하고 JAVA가 최근에 먼저 업그레이드되었는지 확인합니다.
NSO용 Cisco Smart License를 구성하는 방법에 대한 자세한 내용은 NSO를 사용하여 Cisco Smart License 구성을 참조하십시오.
관련 정보