소개
이 문서에서는 CPS(Cisco Policy Suite)에서 ISSM(In-Service Software Migration) 실패에 대한 직경 피어 문제를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Linux
- CPS
- 지름
- OSGI(Open Service Gateway Initiative) 프레임워크
참고: CPS CLI에 대한 루트 액세스 권한이 있어야 합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- CPS 19.4, 21.1
- CentOS Linux 릴리스 8.1.1911(코어)
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
사용자는 CPS 19.4.0/CPS 19.5.0에서 CPS 21.1.0으로 ISSM을 수행할 수 있습니다. 이 마이그레이션을 통해 트래픽이 완료되는 동안 아무런 영향 없이 계속 진행할 수 있습니다.
ISSM-CPS 21.1.0은 HA(Mobile High Availability) 및 GR(Geographic Redundancy) 설치에만 지원됩니다. 다른 CPS 설치 유형(mog|pfs|arbiter|andsf|ecef)은 마이그레이션할 수 없습니다.
문제
CPS19.4에서 CPS21.1로의 ISSM이 유효하지 않은 것으로 인해 실패한 것으로 관찰됩니다 Hosts.csv
이 경우 모든 지름 피어의 LB(Load Balancing)와의 연결이 모두 중단되고 정상적인 재시작이 복원에는 도움이 되지 않습니다.
[root@lab-lb02 ~]# ./show_peers.sh --all --summary
###############################################################################
[Wed Sep 21 01:57:47 CDT 2022]
SUMMARY of Peers in OKAY State:
| Gx | Re | Rx | Sh | Sy |
-------------|------|------|------|------|------|
lb01 peers | 0 | 0 | 0 | 0 | 0 |
-------------|------|------|------|------|------|
lb02 peers | 0 | 0 | 0 | 0 | 0 |
-------------|------|------|------|------|------|
디버그 레벨 로거를 활성화할 때 consolidated-qns.log에 표시되는 예외입니다.
2022-09-21 08:25:00,188 [pool-3-thread-1] DEBUG c.b.d.i.server.DelayedStartManager.? - isWorkerConnected: true queueSystem.enabled: false queueSystem.available: true isUpgradeState: false
이 단계를 실행한 후 프로세스의 잘못된 항목이 Hosts.csv
파일.
/mnt/iso/migrate.sh disable set 1
2022-09-21 02:52:48,913 INFO [__main__.migrate_disable_set] Waiting for build init.d background task
Replica-set Configuration
-------------------------------------------------------------------------------
The progress of this script can be monitored in the following log:
/var/log/broadhop/scripts//build_set_21092022_024648_1663728408306850218.log
-------------------------------------------------------------------------------
[ Done ] file creation [ In Progress ]
2022-09-21 02:58:16,385 INFO [__main__.migrate_disable_set] build init.d successfully.
2022-09-21 02:58:16,385 INFO [__main__.run_recipe] Performing installation stage: QuiesceClusterSet
[lab-cc02 PSZ06PCRFCC02] Executing task 'DisableArbiterVipNode'
[lab-cc02 PSZ06PCRFCC02] run: /var/qps/bin/support/disable_arbiter_vip_node.sh
Fatal error: Name lookup failed for lab-cc02 PSZ06PCRFCC02 --> Error highlight. Invalid host entry is noticed.
Underlying exception:
Name or service not known
Aborting.
2022-09-21 02:58:16,967 ERROR [__main__.<module>] Error during installation
2022-09-21 02:58:16,970 INFO [__main__.<module>] =====================
2022-09-21 02:58:16,970 INFO [__main__.<module>] FAILURE
2022-09-21 02:58:16,970 INFO [__main__.<module>] ======== END ========
2022-09-21 02:58:16,970 INFO [__main__.<module>] To have the environment variable updated, please logout and login from all opened shell on the current system
[root@lab-cm csv]#
스크립트 trigger_silo.sh
의 일부로 migrate.sh
set1 마이그레이션을 위해 선택한 LB의 모든 qns 프로세스가 일시 중지됩니다.
2022-09-21 03:11:34,885 INFO [migrate_traffic.run] running - ['bash', '-c', 'source /var/qps/install/current/scripts/migrate/trigger_silo.sh && trigger_silo_pre_set1_upgrade /var/tmp/cluster-upgrade-set-1.txt /var/tmp/cluster-upgrade-set-2.txt /var/log/trigger_silo.log']
2022-09-21 03:17:27,594 INFO [command.execute] (stdout): LB qns process count : 7
Running pause on lb02-1
checking JMX port 9045 ....
Done - Paused qns-1
Running pause on lb02-2
checking JMX port 9046 ....
Done - Paused qns-2
Running pause on lb02-3
checking JMX port 9047 ....
Done - Paused qns-3
Running pause on lb02-4
checking JMX port 9048 ....
Done - Paused qns-4
Running pause on lb02-5
checking JMX port 9049 ....
Done - Paused qns-5
Running pause on lb02-6
checking JMX port 9050 ....
Done - Paused qns-6
Running pause on lb02-7
checking JMX port 9051 ....
Done - Paused qns-7
솔루션
업그레이드가 완료되지 않고 일부이므로 ISSM 프로세스에서 CPS 시스템을 isUpgradeState: false
.
이 상태에서 복구하려면 isUpgradeState: true
제공할 수 있습니다
올바른 업그레이드 상태 설정 절차
1단계. 클러스터 관리자 노드에 로그인합니다.
2단계. CPS 시스템의 OSGI 프레임워크에 연결합니다.
[root@installer ~]# telnet qns01 9091
Trying 192.168.10.11...
Connected to qns01.
Escape character is '^]'.
osgi>
3단계. 이 명령을 실행합니다.
osgi> markNodeUpgraded
Upgraded status set to true
osgi>
4단계. 이 명령을 사용하여 OSGI 프레임워크에서 연결을 끊습니다.
osgi> disconnect
Disconnect from console? (y/n; default=y) y
Connection closed by foreign host.
[root@installer ~]#
솔루션을 적용한 후에는 이 명령으로 diameter peer 상태를 확인하고 필요한 모든 피어가 활성 상태인지 확인합니다.
[root@lab-lb02 ~]# ./show_peers.sh --all --summary
###############################################################################
[Wed Sep 21 01:57:47 CDT 2022]
SUMMARY of Peers in OKAY State:
| Gx | Re | Rx | Sh | Sy |
-------------|------|------|------|------|------|
lb01 peers | 72 | 120 | 36 | 0 | 12 |
-------------|------|------|------|------|------|
lb02 peers | 72 | 120 | 36 | 0 | 12 |
-------------|------|------|------|------|------|