소개
이 문서에서는 UAME의 메모리 누출(Memory Extrence) 문제 - CSCvu73187에서 UAME(Ultra Automation and Monitoring Engine)을 복구하는 방법에 대해 설명합니다.
문제
Ultra M 상태 모니터의 ESC(Elastic Services Controller) 경보:
[root@pod1-ospd ~]# cat /var/log/cisco/ultram-health/*.report | grep -i xxx
10.10.10.10/vnf-esc | esc | XXX | vnf-esc:(error)
솔루션
상태 확인
1단계. OSP-D(OpenStack Platform Director)에 로그인하고 vnf-esc 오류를 확인합니다.
[stack@pod1-ospd ~]$ cat /var/log/cisco/ultram-health/*.report | grep -i xxx
[stack@pod1-ospd ~]$ cat /var/log/cisco/ultram-health/*.report | grep -iv ':-)'
2단계. 관리 IP 10.241.179.116을 통해 UAME에 로그인할 수 없지만 IP에 ping이 가능한지 확인합니다.
(pod1) [stack@pod1-ospd ~]$ ssh ubuntu@10.10.10.10
ssh_exchange_identification: read: Connection reset by peer
(pod1) [stack@pod1-ospd ~]$ ping -c 5 10.10.10.10
PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data.
64 bytes from 10.10.10.10: icmp_seq=1 ttl=57 time=0.242 ms
64 bytes from 10.10.10.10: icmp_seq=2 ttl=57 time=0.214 ms
64 bytes from 10.10.10.10: icmp_seq=3 ttl=57 time=0.240 ms
64 bytes from 10.10.10.10: icmp_seq=4 ttl=57 time=0.255 ms
64 bytes from 10.10.10.10: icmp_seq=5 ttl=57 time=0.240 ms
--- 10.10.10.10 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 0.214/0.238/0.255/0.016 ms
3단계. ESC 및 UAME과 관련된 VM이 활성 상태이고 OSP-D에서 실행되는지 확인합니다.
[stack@pod1-ospd ~]$ source *core
(pod1) [stack@pod1-ospd ~]$
(pod1) [stack@pod1-ospd ~]$ nova list --field name,status,host,instance_name,power_state | grep esc
| 31416ffd-0719-4ce5-9e99-a1234567890e | pod1-uame-1 | ACTIVE | - | Running | pod1-AUTOMATION-ORCH=172.16.180.15; pod1-AUTOMATION-MGMT=172.16.181.33 |
| d6830e97-bd82-4d8e-9467-a1234567890e | pod1-uame-2 | ACTIVE | - | Running | pod1-AUTOMATION-ORCH=172.16.180.8; pod1-AUTOMATION-MGMT=172.16.181.12
(pod1) [stack@pod1-ospd ~]$ nova list --field name,status,host,instance_name,power_state | grep uame
| 0c1596bc-e50f-4374-9098-a1234567890e | pod1-esc-vnf-esc-core-esc-1 | ACTIVE | - | Running | pod1-AUTOMATION-ORCH=172.16.180.10; pod1-AUTOMATION-MGMT=172.16.181.10 |
| 3875618d-dcbe-4748-b196-a1234567890e | pod1-esc-vnf-esc-core-esc-2 | ACTIVE | - | Running | pod1-AUTOMATION-ORCH=172.16.180.18; pod1-AUTOMATION-MGMT=172.16.181.5
4단계. 기본 및 백업 ESC에 연결할 수 있는지 확인합니다.ESC 상태도 전달되었는지 확인합니다.
[admin@pod1-esc-vnf-esc-core-esc-2 ~]$ cat /opt/cisco/esc/keepalived_state
[admin@pod1-esc-vnf-esc-core-esc-2 ~]$ health.sh
============== ESC HA with DRBD =================
vimmanager (pgid 14654) is running
monitor (pgid 14719) is running
mona (pgid 14830) is running
snmp is disabled at startup
etsi is disabled at startup
pgsql (pgid 15130) is running
keepalived (pgid 13083) is running
portal is disabled at startup
confd (pgid 15027) is running
filesystem (pgid 0) is running
escmanager (pgid 15316) is running
=======================================
ESC HEALTH PASSED
[admin@pod1-esc-vnf-esc-core-esc-2 ~]$ ssh admin@172.16.180.12
####################################################################
# ESC on pod1-esc-vnf-esc-core-esc-2 is in BACKUP state.
####################################################################
[admin@pod1-esc-vnf-esc-core-esc-1 ~]$ cat /opt/cisco/esc/keepalived_state
BACKUP
복구 단계
1단계. pod1-uame-2 인스턴스의 경우 Horizon Dashboard 콘솔에 로그인합니다.

2단계. 소프트 Horizon Dashboard에서 pod1-uame-2 VM 인스턴스를 재부팅합니다.인스턴스의 콘솔 로그 메시지를 확인합니다.
3단계. Horizon Dashboard에서 pod1-uame-2 VM 인스턴스의 콘솔에 로그인 프롬프트가 표시되면 관리 IP 10.10.10.10을 통해 UAME에 SSH를 시작합니다.
(pod1) [stack@pod1-ospd ~]$ ssh ubuntu@10.10.10.10
참고:이 단계가 성공한 경우에만 다음 단계로 진행합니다.
4단계. 특히 기본 UAME의 /dev/vda3 파일 시스템에 대한 디스크 공간을 확인합니다.
ubuntu@pod1-uame-1:~$ df -kh
5단계. 기본 UAME에서 syslog 또는 syslog.1 파일(일반적으로 MB 또는 GB의 두 파일 중 큰 파일 크기)을 자릅니다.
ubuntu@pod1-uame-1:~$ sudo su -
root@pod1-uame-1:~#
root@pod1-uame-1:~# cd /var/log
root@pod1-uame-1:/var/log# ls -lrth *syslog*
root@pod1-uame-1:/var/log# > syslog.1 or > syslog
6단계. syslog 또는 syslog.1 파일 크기가 이제 기본 UAME에서 0바이트인지 확인합니다.
root@pod1-uame-1:/var/log# ls -lrth *syslog*
7단계. df -kh가 기본 UAME에서 파일 시스템 파티션을 위한 충분한 여유 공간이 있어야 합니다.
ubuntu@pod1-uame-1:~$ df -kh
보조 UAME에 SSH를 적용합니다.
ubuntu@pod1-uame-1:~$ ssh ubuntu@172.16.180.8
password:
...
ubuntu@pod1-uame-2:~$
8단계. 보조 UAME에서 syslog 또는 syslog.1 파일(일반적으로 MB 또는 GB의 두 파일 중 큰 파일 크기)을 자릅니다.
ubuntu@pod1-uame-2:~$ sudo su -
root@pod1-uame-2:~#
root@pod1-uame-2:~# cd /var/log
root@pod1-uame-2:/var/log# ls -lrth *syslog*
root@pod1-uame-2:/var/log# > syslog.1 or > syslog
9단계. 이제 syslog 또는 syslog.1 파일 크기가 보조 UAME에서 0바이트인지 확인합니다.
root@pod1-uame-2:/var/log# ls -lrth *syslog*
10단계. df -kh가 보조 UAME의 파일 시스템 파티션을 위한 충분한 여유 공간이 있어야 합니다.
ubuntu@pod1-uame-2:~$ df -kh
복구 후 상태 확인
1단계. 상태 보고서에 표시된 vnf-esc 오류가 없음을 확인하기 위해 Ultra M 상태 모니터의 반복을 하나 이상 기다립니다.
[stack@pod1-ospd ~]$ cat /var/log/cisco/ultram-health/*.report | grep -i xxx
[stack@pod1-ospd ~]$ cat /var/log/cisco/ultram-health/*.report | grep -iv ':-)'
2단계. ESC 및 UAME VM이 활성 상태이고 OSPD에서 실행 중인지 확인합니다.
[stack@pod1-ospd ~]$ source *core
(pod1) [stack@pod1-ospd ~]$ nova list --field name,status,host,instance_name,power_state | grep esc
(pod1) [stack@pod1-ospd ~]$ nova list --field name,status,host,instance_name,power_state | grep uame
3단계. 기본 및 백업 ESC에 SSH를 입력하고 ESC 상태도 전달되었는지 확인합니다.
[admin@pod1-esc-vnf-esc-core-esc-2 ~]$ cat /opt/cisco/esc/keepalived_state
[admin@pod1-esc-vnf-esc-core-esc-2 ~]$ health.sh
============== ESC HA with DRBD =================
vimmanager (pgid 14638) is running
monitor (pgid 14703) is running
mona (pgid 14759) is running
snmp is disabled at startup
etsi is disabled at startup
pgsql (pgid 15114) is running
keepalived (pgid 13205) is running
portal is disabled at startup
confd (pgid 15011) is running
filesystem (pgid 0) is running
escmanager (pgid 15300) is running
=======================================
ESC HEALTH PASSED
[admin@pod1-esc-vnf-esc-core-esc-2 ~]$ ssh admin@
admin@172.16.181.26's password:
Last login: Fri May 1 10:28:12 2020 from 172.16.180.13
####################################################################
# ESC on scucs501-esc-vnf-esc-core-esc-2 is in BACKUP state.
####################################################################
[admin@pod1-esc-vnf-esc-core-esc-2 ~]$ cat /opt/cisco/esc/keepalived_state
BACKUP
4단계. UAME에서 ESC vnfd가 ALIVE 상태인지 확인합니다.
ubuntu@pod1-uame-1:~$ sudo su
ubuntu@pod1-uame-1:~$ confd_cli -u admin -C
pod1-uame-1# show vnfr state