가상 TEP(터널 끝점)에 연결된 워크로드(VM 또는 컨테이너)의 연결 손실을 방지하려면 TEP HA 호스트 스위치 프로파일을 구성하고 이를 클러스터 전송 노드 또는 개별 전송 노드에 적용합니다.

L2 또는 L3 네트워크에 걸쳐 있는 오버레이 네트워크는 캡슐화 프로토콜을 사용하므로, 워크로드(VM 또는 컨테이너)에서 송신 또는 수신하는 패킷은 TEP(가상 터널 끝점)의 외부 패킷 내에서 캡슐화됩니다. TEP가 장애 상태가 되면 VTEP와 연결된 VM에 연결할 수 없습니다. VM과 TEP 간에 일대일 매핑이 있습니다.
다음 사항 중 하나에 해당되면 TEP에 장애가 발생합니다.
  • 언더레이 패브릭의 문제로 인해 TEP의 모든 BFD 세션이 종료됩니다.
  • TEP에 IP 주소가 없습니다.
정상 TEP의 특징은 다음과 같습니다.
  • IP 주소가 있습니다.
  • TEP와 관련된 하나 이상의 BFD 세션이 실행 중입니다.

NSX에서 TEP가 종료된 것을 발견하면 VM의 vNIC가 장애가 있는 TEP에서 동일한 ESXi 호스트의 정상 TEP로 마이그레이션됩니다. ESXi에 2개의 TEP가 있고 둘 다 장애가 있는 경우, VM vNIC를 마이그레이션할 수 없습니다.

각 VM에는 둘 이상의 vNIC가 있을 수 있습니다. 각 vNIC는 단일 TEP에 연결됩니다. vNIC의 패킷은 업링크에서 전송되기 전에 캡슐화됩니다. 여러 vNIC가 단일 TEP에 매핑될 수 있습니다. 매핑은 업링크 팀 구성 정책에 따라 결정됩니다.
참고: TEP HA는 IPv4 TEP만 지원합니다.

사전 요구 사항

단일 ESXi 호스트에 2개 이상의 TEP가 구성되어 있습니다. TNP(전송 노드 프로파일)를 생성하는 데 사용하는 업링크 프로파일 또는 개별 전송 노드 구성이 2개 이상의 활성 업링크(TEP)를 사용하는지 확인합니다.

프로시저

  1. TEP HA 호스트 스위치 프로파일을 생성합니다.
    PUT https://<nsx-policy-manager>/policy/api/v1/infra/host-switch-profiles/vtephaprofile1
    {
    "enabled": "true",
    "failover_timeout":"5",
    "auto_recovery" : "true",
    "auto_recovery_initial_wait" : "300",
    "auto_recovery_max_backoff" : "86400",
    "resource_type": "PolicyVtepHAHostSwitchProfile",
    "display_name": "VtepHAProfile1"
    }
    여기서 다음이 적용됩니다.
    • enabled: TEP HA의 사용 설정 여부를 나타냅니다. "true" 값은 TEP HA가 사용 설정되었음을 나타내고 "false"는 사용하지 않도록 설정되었음을 나타냅니다.
    • failover_timeout: TEP 고가용성 페일오버 시간 초과(초)입니다. 이 속성은 vmknic에서 장애가 감지되면 VM vNIC를 대체 정상 TEP로 이동해야 하는 시간을 제어합니다. 기본 시간 초과는 5초입니다. 지원되는 최대값은 최대 60초입니다.
    • auto_recovery: TEP 고가용성 기능에 대한 자치 복구 옵션의 상태를 지정합니다. auto_recovery가 true로 설정되면 장애가 발생한 vmknic는 주기적 순서마다 내부적으로 확인됩니다. 장애가 있는 vmknic가 복구되면 VM vNIC가 해당 TEP에 매핑된 경우, VM이 초기 TEP 매핑으로 다시 이동합니다. 기본적으로 auto_recovery true로 설정되어 있습니다. TEP가 여전히 장애 상태인 경우 자동 복구 중에 VM이 중단됩니다. 중단 시간은 failover_timeout + bfd timeout + 1 공식을 사용하여 계산됩니다. bfd timeout의 기본값은 4초입니다.
    • auto_recovery_initial_wait: 이 속성은 자치 복구가 시작되는 시간을 제어합니다. 최소 초기 대기 기간은 300초이고, 최대 대기 기간은 3600초입니다. 초기 대기 기간이 300초이면 자동 복구가 300초에서 시작됩니다.
    • auto_recovery_max_backoff: auto_recovery_initial_wait 후 초기 복구가 시도됩니다. 이 복구가 실패하면 이전 지연 시간을 두 배로 늦추면 추가적인 시도가 수행됩니다. 지연 시간이 auto_recovery_max_backoff에 도달하면 더 이상 증가하지 않고 auto_recovery_max_backoff마다 모든 추가 시도가 이루어집니다.
  2. TEP HA 프로파일을 모든 ESXi 호스트에 연결하려면 TEP HA 프로파일 키 및 값 속성이 호스트 스위치 프로파일 섹션에 추가된 TNP를 생성하거나 TEP HA 프로파일 키 및 값 속성을 사용하여 개별 전송 노드를 준비합니다.
    PUT https://<nsx-policy-manager>/policy/api/v1/infra/host-transport-node-profiles/<tnp-id>

    <tnp-id> 매개 변수에서 전송 노드 프로파일 ID를 입력합니다.

    {
        "host_switch_spec": {
            "host_switches": [
                {
                    "host_switch_name": "vtepha_vds",
                    "host_switch_id": "50 22 ee c4 f6 40 79 8b-0e a4 2b da 6a 4c 36 b3",
                    "host_switch_type": "VDS",
                    "host_switch_mode": "ENS_INTERRUPT",
                    "host_switch_profile_ids": [
                        {
                            "key": "UplinkHostSwitchProfile",
                            "value": "/infra/host-switch-profiles/b32e6ce6-f1ba-4e31-a2c4-33d550505cdd"
                        },
                        {
                            "key": "VtepHAHostSwitchProfile",
                            "value": "/infra/host-switch-profiles/vtephaprofile1"
                        }
                    ],
                    "uplinks": [
                        {
                            "vds_uplink_name": "Uplink 1",
                            "uplink_name": "uplink-1"
                        },
                        {
                            "vds_uplink_name": "Uplink 2",
                            "uplink_name": "uplink-2"
                        }
                    ],
                    "is_migrate_pnics": false,
                    "ip_assignment_spec": {
                        "ip_pool_id": "/infra/ip-pools/v4",
                        "resource_type": "StaticIpPoolSpec"
                    },
                    "cpu_config": [],
                    "transport_zone_endpoints": [
                        {
                            "transport_zone_id": "/infra/sites/default/enforcement-points/default/transport-zones/de47a6b9-fa4c-4bf3-bd75-385859895949",
                            "transport_zone_profile_ids": []
                        }
                    ],
                    "not_ready": false
                }
            ],
            "resource_type": "StandardHostSwitchSpec"
        },
        "ignore_overridden_hosts": false,
        "resource_type": "PolicyHostTransportNodeProfile"
     }
    참고: TEP HA를 사용하여 TNP를 구성하지 않은 경우, NSX는 기본 TEP HA 프로파일을 생성합니다. 이 기본 TEP HA 프로파일은 기본값으로 구성됩니다. TEP HA를 사용하지 않도록 설정됩니다.
  3. 1단계에서 생성한 TEP HA 프로파일 ID를 알아보려면 다음 API를 실행합니다.

    get https://<nsx-manager>/policy/api/v1/infra/host-switch-profiles/vtephaprofile1

    GET 응답의 id 필드에서 TEP HA 프로파일 값을 가져올 수 있습니다.

  4. TEP HA 호스트 스위치 프로파일이 전송 노드에 적용되는지 확인하려면 다음 API를 실행합니다.
    GET https://<nsx-manager>/policy/api/v1/infra/host-transport-nodes-profiles/<tnp_id>
     "host_switch_profile_ids": [
         {
            "key": "VtepHAHostSwitchProfile",
            "value": "/infra/host-switch-profiles/<vtephaprofile1>"
          }
        ],

    <vtephaprofile1>은 1단계에서 TEP HA 프로파일을 생성할 때 반환되는 ID입니다.

  5. 또한 장애가 있는 TEP의 수동 복구를 트리거하고 자동 복구가 시작되기를 기다리지 않으면서 연결된 VM을 정상 TEP로 마이그레이션할 수 있습니다.
    POST https://<nsx-mgr>/policy/api/v1/infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/<host-transport-node-id>/vteps/actions
    {
        "action_type": "TransportNodeVtepRecoveryRequest",
        "device_name": "vmk10"
    }
    여기서 vmk10은 TEP 이름입니다.
  6. TEP의 vmknic에 장애가 있는 경우, 경보 API를 실행하여 오류와 관련된 세부 정보를 보거나 NSX Manager 대시보드에서 오류를 확인합니다.

    vmknic에 장애가 있는 경우 NSX에서 경보를 발생하는 데 60초 이상 걸릴 수 있습니다. 마찬가지로 장애가 발생한 후 TEP가 다시 작동하면 NSX에서 새 상태를 반영하는 데 최대 60초가 걸릴 수 있습니다.

    GET https://<nsx-manager>/api/v1/alarms?feature_name=tep_health
  7. IP 또는 BFD 관련 오류를 수정한 후 state 매개 변수를 확인하여 vmknic 또는 TEP 상태를 확인합니다.
    GET https://<nsx-manager>/api/v1/transport-nodes/<node-id>/network/interfaces?source=realtime
    {
            "interfaceId": "vmk10",
            "linkStatus": "UP",
            "adminStatus": "UP",
            "mtu": "1600",
            "interfaceAlias": [{
              "broadcastAddress": "133.117.22.255",
              "ipAddress": {
                "ipv4": 2239043120
              },
              "ipConfiguration": "STATIC",
              "netmask": "255.255.255.0",
              "macAddress": "00:50:56:66:67:a6"
            }],
            "state": "NORMAL"
          },

결과

BFD가 종료된 경우, NSX는 장애가 있는 TEP가 자동 복구 또는 수동 복구 메커니즘을 사용하여 다시 실행되는지 여부를 결정합니다.

처음에는 IP를 사용할 수 없지만 장애가 있는 TEP에 다시 할당된 경우, NSX는 내장 메커니즘을 사용하여 TEP가 다시 실행되는 시기를 결정합니다. 수동 또는 자동 복구 메커니즘에 의존하지 않습니다.

장애가 있는 TEP가 다시 실행되지 않는 경우:
  • 자동 복구 또는 수동 복구 프로세스 중에 VM vNIC에서 일시적인 네트워크 중단이 발생할 수 있습니다.
  • BFD 확인 중에 VM vnic가 여전히 결함이 있는 TEP에 매핑되어 있으므로 네트워크 중단이 발생할 수 있습니다.
  • 네트워크 중단 시간은 failover_timeout + bfd timeout + 1 공식을 사용하여 계산되며, 여기서는 10초입니다. bfd timeout의 기본값은 4초입니다.
장애가 있는 TEP가 다시 실행되지 않으면 VM vNIC는 호스트에서 사용할 수 있는 정상 TEP로 다시 매핑됩니다. 정상 TEP가 없으면 VM vNIC가 원래 TEP에 매핑됩니다.