NSX Edge 전송 노드는 HA 페일오버 시 자동으로 NSX 유지 보수 모드로 전환됩니다.
문제
NSX Edge 전송 노드의 데이터 경로 또는 힙 메모리 사용량에 문제가 있는 경우 전송 노드가 자동으로 NSX 유지 보수 모드로 전환됩니다.
원인
Edge 노드 고가용성 상태, 상태 변경 및 이유를 보려면 admin CLI get edge-cluster status 및 get edge-cluster history state를 실행합니다. Edge 상태가 [종료]인 경우 데이터 경로 프로세스가 실행되고 있지 않거나 물리적 링크가 종료되었거나 vtep 터널이 종료된 것입니다.
해결책
- Admin CLI get diagnois config 및 get service dataplane을 실행하여 핵심 서비스가 실행 중인지 확인합니다.
- Admin CLI get diagnosis topology를 실행하여 자세한 Edge 구성 상태를 확인합니다.
- Admin CLI get host-switch를 실행하여 vtep-device name 및 physical-port-name을 가져옵니다.
- Admin CLI get physical-port <port-name>을 실행하여 호스트 스위치 포트의 상태를 확인한 후 get physical-port <interface-name> stats를 실행하고 rx_misses(수신 버퍼) 또는 tx_drops(송신 버퍼) 카운터를 찾아 패킷 손실 발생을 확인합니다. Edge가 데이터 경로 CPU에서 처리할 수 있는 것보다 더 높은 트래픽 속도로 플러드된 경우 패킷 손실이 나타날 수 있습니다. 패킷은 먼저 입력/송신 버퍼에 포함되었다가 버퍼가 가득 차면 삭제됩니다. 현재 버퍼 크기 구성을 확인하려면 CLI get dataplane | find ring을 사용합니다.
- 데이터부 서비스가 중지된 경우 먼저 cmd start service dataplane을 실행합니다(임시 해결 방법).
- 호스트 스위치 포트가 종료된 경우 먼저 cmd set physical-port fp-eth0 state up을 실행합니다(임시 해결 방법).
- 패킷 손실이 확인되거나 호스트 스위치 상태에 문제가 있는 경우 VMware 지원 데스크에 티켓을 제출합니다.
CLI set dataplane ring-size <rx/tx> <size>를 사용하여 rx/tx 버퍼 구성을 변경(Edge 인터페이스 트래픽 관리 용량 개선)할 수도 있습니다. 지원되는 버퍼 크기 범위는 128-4096바이트이며 새 구성을 적용하여 약 60초의 다운타임을 발생시키기 위해 데이터부 서비스를 다시 시작해야 합니다.
- 예를 들면 set dataplane ring-size rx 2048와 같이 입력합니다. 변경 내용을 적용하려면 데이터부 서비스를 다시 시작합니다.
- set dataplane ring-size tx 2048의 정보를 사용합니다. 변경 내용을 적용하려면 데이터부 서비스를 다시 시작합니다.
restart service dataplane
get dataplane | find ring
Bfd_ring_size : 512
Lacp_ring_size : 512
Learning_ring_size : 512
Livetrace_ring_size: 512
Rx_ring_size : 2048
Slowpath_ring_size : 512
Tx_ring_size : 2048