Networking (68) 썸네일형 리스트형 [NSX] top-cpu difference between vm and baremetal edge NSX 환경에서 가장 중추적인 역할을 하는 요소 중 하나가 Edge 입니다.이 Edge는 ESXi Hypervisor 환경 위에 VM으로 배포될 수도 있고, 일반 x86 서버에 Baremetal 형식으로 배포될 수도 있습니다. 이렇게 서로 다른 두 환경에서 배포가 될 수 있는데, 동일하게 High CPU 현상이 발생할 때는 봐야하는 Metric이 다를 수 있는 부분에 유의해야 합니다. 간단하게 설명하자면, VM 형태로 배포된 Edge의 경우에는 OS에서 제공하는 도구인 top 명령어를 통해 datapath 프로세스의 개별 CPU 사용량을 확인하면 되지만, Baremetal의 경우에는 top 에서 확인할 수 있는 CPU 사용량은 항상 고정되어 있어 CPU 사용량을 확인하기에는 유용하지 않습니다. 아래 실례.. [NSX] How to convert unresolved address to function and line number 내부에서 Symbol을 이용한 Debugging을 진행하는 경우가 간혹 있습니다.이러한 경우, Debug용 Package를 별도로 Download 받거나 또는 datapath의 Performanace 분석을 위해 고객사에 해당 파일을 전달하여 수집하는 경우도 있습니다. 문제는 고객사에 해당 파일을 전달하여 자료를 수집하는데도 정상적으로 Address가 Function Name으로 Resolve 되지 않는 경우 내부에서 수동으로 해당 Address를 변환해야 하는 경우도 생깁니다. 이러한 경우, addr2line 도구를 이용하여 Base Address와 Function Address를 참조하여 올바른 Function Name으로 변환을 시도해 볼 수 있습니다. 아래는 datapathd 프로세스에 대해 진행.. [NSX] How to decode "Trace the drop packet" message NSX Edge에서 Packet Drop이 발생한 경우 syslog에 "Trace the drop packet"과 함께 Base64로 Encode된 값이 기록됩니다.이 값을 Decode 해보면 src/dst ip address 등 drop 된 packet에 대한 정보를 확인할 수 있습니다.이를 수동으로 진행하는 방법을 알아보겠습니다. 아래 예제는 Windows OS에서 실행하였습니다.1. 우선 python이 설치되어 있어야 합니다. 2. pip 도구로 scapy를 설치합니다.C:\Users\jhaewon>pip install scapy Collecting scapy Downloading scapy-2.5.0.tar.gz (1.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━.. [NSX] What is "Transport Nodes" in NSX Manager UI? NSX Manager가 Cluster 구성 되어 있을 때, 각 NSX Manager별로 UI에서 Transport Node 수가 상이하게 보이는 현상이 있어 이에 대한 내용을 소개 합니다. [문제 증상]NSX Manager가 Three Node로 Cluster 구성된 상황에서 각 개별 NSX Manager에 직접 접속할 때 다음과 같이 Transport Node의 수가 Manager 별로 다르게 표현됩니다.실제로는 전체 Transport Node는 7개인 상황입니다. 1번 Manager : 4 2번 Manager : 3 3번 Manager : 0 [확인 내용]1. NSX Manager UI에서 Transport Nodes를 확인할 때 Browser 개발자 도구로 확인해보면 다음과 같은 API가 호출됩니다.. [NSX] High CPU 분석을 위한 perf tool 사용 방법 NSX의 중요 Component인 Edge Appliance의 경우 Ubuntu OS에 DPDK를 구현한 방식으로 구성되어 있습니다.이 Edge Appliance의 가장 중요한 프로세스는 datapathd 인데, 해당 프로세스가 Scheduling 되는 Core에서 High CPU Usage 현상이 발생하는 경우 Packet Drop등의 장애로 이어질 수 있습니다. 이런 경우, OS Troubleshooting 할 때와 동일하게 CPU Sampling이 필요합니다.제가 Microsoft 재직 시절, 동일한 Troubleshooting을 할 때는 Windows OS에서 Process Monitor나 Performance Toolkit(xperf)를 이용하여 CPU Sampling을 했었는데, Linux의 .. [NSX] Network Namespace in NSX Namespace 기술은 NSX에서도 사용됩니다.내부 LAB 환경에서 실제로 어떻게 구성되어 있고 이를 확인하는 방법을 알아보겠습니다. 우선 Network Namespace의 정의는 Wiki에 다음과 같이 기술되어 있습니다.https://en.wikipedia.org/wiki/Linux_namespacesNetwork (net)Network namespaces virtualize the network stack. On creation, a network namespace contains only a loopback interface.Each network interface (physical or virtual) is present in exactly 1 namespace and can be moved b.. [NSX] The number of current sessions of virtual server doesn't match with summation of current sessions across pool members. NSX에서 LB를 사용하는 환경에서 Connection이 종료되지 않은 상태에서 Virtual Server의 IP Address(VIP)나 Port를 변경하는 경우, Virtual Server에 남아 있는 Current Session 값이 초기화 되지 않는 현상이 있습니다. 현재 본 이슈는 Bug로 판명되어 Load Balancer 개발팀에서 Code를 Fix 중이며, Workaround로는 LB를 Hosting하는 Docker를 재시작 하기 위해서 Edge를 Maintenance Mode로 전환했다가 해제하는 방법을 가이드 드리고 있습니다. [Symptom] NSX Load Balancer에서 Virtual Server와 Pool에서 보이는 Current Session의 수는 동일한데, Pool 하위의.. [NSX] Statistics|Received Packets dropped|Cumulative metric has increased Aria Operations에서 특정 Tier-1 Gateway의 "Received Packets dropped" Count의 누적 값이 비정상적으로 증가하는 문제가 있어, 이에 대한 확인해 본 과정을 공유 합니다. [Symptom] 아래 캡쳐 화면을 보면, 전체 통계치가 1억을 넘는데, 개별 인터페이스 통계치의 합은 3600개 정도 [Troubleshooting Notes] 먼저 각 개별 Metric에 대한 내용을 확인하기 위해서 내부 Lab 환경을 이용하여 Metric별 API 확인 1. 내부 LAB 환경에서 Aria Operation UI 확인 Router Interface Statistics|Down Link|Received Packets dropped|Cumulative Router Interf.. Python and Powershell can be used for NSX Support Bundle NSX/Edge Support Bundle에 있는 대부분의 파일은 json format이기 때문에, 여러 가지 형태로 Filtering을 시도해 볼 수 있습니다. 아래는 Python과 Powershell을 활용하여, Edge Support Bundle에 있는 lb-stats.txt 파일을 Filtering 해보는 예제입니다. 다양한 방식으로 접근해 볼 수 있어 분석할 때 활용도가 높을 것으로 생각합니다. 1. Python import json d = {} with open("lb-stats.txt") as f: d = json.load(f) msg = "" for lb in d.get("lbs") or []: lb_display_name = lb.get("display_name") lb_l4_curr_s.. [NSX] false-positive alarm : Edge node NIC eth0 link is down NSX의 Transport인 ESXi와 Edge Node에는 System Health를 Report하기 위해 NSX-SHA(System Health Agent) 서비스가 위치합니다. 해당 서비스는 각종 State 정보에 대한 변경이 있는 경우 NSX Manager 쪽으로 이를 Report하는 것으로 확인되는데, 간혹 실제로 문제가 없는 상황이지만 Alarm을 전달하는 경우가 있습니다. Hypervisor Level의 이슈로 인해 Edge VM내의 NSX-SHA 서비스가 영향받고 결국 false-positive alarm까지 발생시키는 사례에 대해서 알아보겠습니다. [Symptom] eth0 NIC down 알람표시지만 edge 에서는 up상태 /var/log/syslog 확인시 down 없음. 2일동안 .. 이전 1 2 3 4 5 6 7 다음