이 항목에서는 몇 가지 문제와 해결 방법을 살펴봅니다.

다음 문제는 NSX 로드 밸런싱을 사용할 때 일반적으로 나타납니다.

  • TCP 포트(예: 포트 443)의 로드 밸런싱은 작동하지 않습니다.

    • 토폴로지를 확인합니다. 자세한 내용은 NSX 관리 가이드를 참조하십시오.

    • Ping을 사용하여 가상 서버 IP 주소에 연결할 수 있는지 확인하거나 업스트림 라우터를 확인하여 ARP 테이블이 채워져 있도록 합니다.

    • UI에서 구성을 확인합니다.

    • CLI에서 구성을 확인합니다.

    • 패킷을 캡처합니다.

  • 로드 밸런싱 풀의 멤버가 활용되지 않습니다.

    • 서버가 풀에 있는지, 사용되도록 설정되어 있는지 확인하고 상태를 모니터링합니다.

  • Edge 트래픽이 로드 밸런싱되지 않습니다.

    • 풀 및 지속성 구성을 확인합니다. 지속성이 구성되어 있고 소수의 클라이언트를 사용하는 경우 연결이 백엔드 풀 멤버로 동등하게 분산되지 않을 수 있습니다.

  • 계층 7 로드 밸런싱 엔진이 중지되었습니다.

  • 상태 모니터 엔진이 중지되었습니다.

    • 로드 밸런서 서비스를 사용하도록 설정합니다. NSX 관리 가이드를 참조하십시오.

  • 풀 멤버 모니터 상태가 주의/위험입니다.

    • 로드 밸런서에서 애플리케이션 서버에 연결할 수 있는지 확인합니다.

    • 애플리케이션 서버 방화벽 또는 DFW가 트래픽을 허용하는지 확인합니다.

    • 애플리케이션 서버가 지정된 상태 탐색에 응답할 수 있는지 확인합니다.

  • 풀 멤버가 비활성 상태입니다.

    • 풀 구성에서 풀 멤버가 사용되도록 설정되어 있는지 확인합니다.

  • 계층 7 고정 테이블이 대기 Edge와 동기화되지 않습니다.

    • HA가 구성되어 있는지 확인합니다.

  • 클라이언트 연결이 구성되어 있으나 애플리케이션 트랜잭션을 완료할 수 없습니다.

    • 애플리케이션 프로파일에서 적절한 지속성이 구성되어 있는지 확인합니다.

    • 애플리케이션이 풀의 (둘이 아니고) 한 서버에서만 작동할 경우 지속성 문제일 가능성이 높습니다.

기본 문제 해결

  1. vSphere Web Client에서 로드 밸런서 구성 상태를 확인합니다.

    1. Networking & Security > NSX Edge(Networking & Security > NSX Edges)를 클릭합니다.

    2. NSX Edge를 두 번 클릭합니다.

    3. 관리(Manage)를 클릭한 다음 로드 밸런서(Load Balancer) 탭을 클릭합니다.

    4. 로드 밸런서 상태 및 로깅 수준이 구성되어 있는지 확인합니다.

  2. 로드 밸런서 서비스 문제를 해결하기 전에 NSX Manager에서 다음 명령을 실행하여 서비스가 작동 및 실행되고 있는지 확인합니다.

    nsxmgr> show edge edge-4 service loadbalancer
    haIndex:              0
    -----------------------------------------------------------------------
    Loadbalancer Services Status:
    
    L7 Loadbalancer     : running
    -----------------------------------------------------------------------
    L7 Loadbalancer Statistics:
    STATUS     PID        MAX_MEM_MB MAX_SOCK   MAX_CONN   MAX_PIPE   CUR_CONN   CONN_RATE  CONN_RATE_LIMIT MAX_CONN_RATE
    running    1580       0          2081       1024       0          0          0          0               0
    -----------------------------------------------------------------------
    L4 Loadbalancer Statistics:
    MAX_CONN   ACT_CONN   INACT_CONN TOTAL_CONN
    0          0          0          0
    
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    
    참고:

    show edge all을 실행하여 NSX Edge의 이름을 조회할 수 있습니다.

구성 문제 해결

로드 밸런서 구성 작업이 NSX 사용자 인터페이스 또는 REST API 호출에 의해 거부되면 구성 문제로 분류됩니다.

데이터부 문제 해결

로드 밸런서 구성이 NSX Manager에서 수락되지만 클라이언트-Edge 로드 밸런서 서버 간에 연결 또는 성능 문제가 있습니다. 데이터부 문제에는 로드 밸런서 런타임 CLI 문제 및 로드 밸런서 시스템 이벤트 문제도 포함됩니다.

  1. 다음 REST API 호출을 사용하여 NSX Manager의 Edge 로깅 수준을 INFO에서 TRACE 또는 DEBUG로 변경합니다.

    URL: https://NSX_Manager_IP/api/1.0/services/debug/loglevel/com.vmware.vshield.edge?level=TRACE 
    Method: POST
  2. vSphere Web Client에서 풀 멤버 상태를 확인합니다.

    1. Networking & Security > NSX Edge(Networking & Security > NSX Edges)를 클릭합니다.

    2. NSX Edge를 두 번 클릭합니다.

    3. 관리(Manage)를 클릭한 다음 로드 밸런서(Load Balancer) 탭을 클릭합니다.

    4. 풀(Pools)을 클릭하여 구성된 로드 밸런서 풀의 요약을 확인하십시오.

    5. 로드 밸런서 풀을 선택합니다. 풀 통계 표시(Show Pool Statistics)를 클릭하여 풀 상태가 UP인지 확인하십시오.

  3. 다음 REST API 호출을 사용하여 NSX Manager에서 보다 자세한 로드 밸런서 풀 구성 통계를 얻을 수 있습니다.

    URL: https://NSX_Manager_IP/api/4.0/edges/{edgeId}/loadbalancer/statistics 
    Method: GET
    
    <?xml version="1.0" encoding="UTF-8"?>
    <loadBalancerStatusAndStats>
        <timeStamp>1463507779</timeStamp>
        <pool>
            <poolId>pool-1</poolId>
            <name>Web-Tier-Pool-01</name>
            <member>
                <memberId>member-1</memberId>
                <name>web-01a</name>
                <ipAddress>172.16.10.11</ipAddress>
                <status>UP</status>
                <lastStateChangeTime>2016-05-16 07:02:00</lastStateChangeTime>
                <bytesIn>0</bytesIn>
                <bytesOut>0</bytesOut>
                <curSessions>0</curSessions>
                <httpReqTotal>0</httpReqTotal>
                <httpReqRate>0</httpReqRate>
                <httpReqRateMax>0</httpReqRateMax>
                <maxSessions>0</maxSessions>
                <rate>0</rate>
                <rateLimit>0</rateLimit>
                <rateMax>0</rateMax>
                <totalSessions>0</totalSessions>
            </member>
            <member>
                <memberId>member-2</memberId>
                <name>web-02a</name>
                <ipAddress>172.16.10.12</ipAddress>
                <status>UP</status>
                <lastStateChangeTime>2016-05-16 07:02:01</lastStateChangeTime>
                <bytesIn>0</bytesIn>
                <bytesOut>0</bytesOut>
                <curSessions>0</curSessions>
                <httpReqTotal>0</httpReqTotal>
                <httpReqRate>0</httpReqRate>
                <httpReqRateMax>0</httpReqRateMax>
                <maxSessions>0</maxSessions>
                <rate>0</rate>
                <rateLimit>0</rateLimit>
                <rateMax>0</rateMax>
                <totalSessions>0</totalSessions>
            </member>
            <status>UP</status>
            <bytesIn>0</bytesIn>
            <bytesOut>0</bytesOut>
            <curSessions>0</curSessions>
            <httpReqTotal>0</httpReqTotal>
            <httpReqRate>0</httpReqRate>
            <httpReqRateMax>0</httpReqRateMax>
            <maxSessions>0</maxSessions>
            <rate>0</rate>
            <rateLimit>0</rateLimit>
            <rateMax>0</rateMax>
            <totalSessions>0</totalSessions>
        </pool>
        <virtualServer>
            <virtualServerId>virtualServer-1</virtualServerId>
            <name>Web-Tier-VIP-01</name>
            <ipAddress>172.16.10.10</ipAddress>
            <status>OPEN</status>
            <bytesIn>0</bytesIn>
            <bytesOut>0</bytesOut>
            <curSessions>0</curSessions>
            <httpReqTotal>0</httpReqTotal>
            <httpReqRate>0</httpReqRate>
            <httpReqRateMax>0</httpReqRateMax>
            <maxSessions>0</maxSessions>
            <rate>0</rate>
            <rateLimit>0</rateLimit>
            <rateMax>0</rateMax>
            <totalSessions>0</totalSessions>
        </virtualServer>
    </loadBalancerStatusAndStats>
    
  4. 명령줄에서 로드 밸런서 통계를 확인하려면 NSX Edge에서 다음 명령을 실행합니다.

    특정 가상 서버: 먼저 show service loadbalancer virtual을 실행하여 가상 서버 이름을 가져옵니다. 그런 다음 show statistics loadbalancer virtual <virtual-server-name>을 실행합니다.

    특정 TCP 풀: 먼저 show service loadbalancer pool을 실행하여 풀 이름을 가져옵니다. 그런 다음 show statistics loadbalancer pool <pool-name>을 실행합니다.

  5. 로드 밸런서 통계에서 실패 표시를 확인하십시오.