VM이 존재하지 않거나 데이터 센터에서 해당 위치를 변경해야 하는 경우 NSX Edge VM을 다시 배포할 수 있습니다. 예를 들어 NSX Edge를 다른 데이터스토어 또는 계산 리소스로 이동해야 하는 경우 NSX Edge 노드를 다시 배포합니다. 노드를 다른 네트워크로 이동할 수도 있습니다. 그러나 네트워크 요구 사항에 따라 다시 배포해야 할 이유가 있을 수 있습니다.

NSX Edge VM 장치를 사용하여 기존 NSX Edge 노드(물리적 서버 또는 NSX Edge VM 장치)만 다시 배포할 수 있습니다.

사전 요구 사항

  • NSX Edge 전송 노드 페이로드의 구성을 변경할 수 있지만 새 노드로 재배포해야 하는 기존 NSX Edge 노드의 이러한 구성은 변경하지 마십시오.
    • 장애 도메인
    • 전송 노드 연결
    • 물리적 NIC 구성
    • 논리적 라우터
    • 로드 밸런서 할당
  • 기존 NSX Edge 노드가 물리적 서버이거나 vSphere Client를 통해 수동으로 배포된 VM인 경우 NSX Edge 노드와 NSX Manager 간의 연결이 종료되었는지 확인합니다. 연결이 실행 중이면 NSX-T는 기존 NSX Edge 노드를 새 노드로 바꿀 수 없습니다.

프로시저

  1. (vSphere Client를 통해 배포된 물리적 서버 또는 NSX Edge) SSH 세션을 열고 NSX Edge 콘솔에 연결합니다.
  2. CLI 콘솔 get logical-routers을 통해 NSX Edge 노드에 구성된 논리적 경로를 확인합니다.
  3. NSX Edge 노드의 전원을 끕니다.
  4. 다음 API 명령을 실행하여 NSX Edge 노드가 NSX Manager에서 분리되었는지 확인합니다.
    GET api/v1/transport-nodes/<edgenode>/state
     "node_deployment_state": 
            {"state": MPA_Disconnected"}

    node_deployment_state 값은 NSX Edge 노드 다시 배포를 계속할 수 있음을 나타내는 MPA 연결이 끊김입니다.

    참고: node_deployment_state노드 준비됨이면 NSX Manager에서는 오류 78006 - Edge 노드에 대한 관리자 연결이 실행 중입니다. 하드웨어 교체/재배포는 허용되지 않습니다.를 표시합니다.
  5. 또는 Edge 전송 노드 페이지에서 NSX Edge 노드와 NSX Manager 사이의 연결 상태를 확인합니다. 연결 해제된 NSX Edge 노드에는 구성 오류, Edge VM MPA 연결이 중단된 시스템 메시지가 표시됩니다.
  6. NSX Edge 노드가 자동 배포된 노드인 경우 GET /<NSX-Manager-IPaddress>/api/v1/transport-nodes/<edgenode>를 실행합니다. 이 API의 출력 페이로드를 복사합니다.
    "resource_type": "EdgeNode",
    	        "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "display_name": "Edge_TN2",
    	        "description": "EN",
    	        "external_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "ip_addresses": [
    	            "10.170.94.240"
    	        ],
    	        "_create_user": "admin",
    	        "_create_time": 1600106319056,
    	        "_last_modified_user": "admin",
    	        "_last_modified_time": 1600106907312,
    	        "_system_owned": false,
    	        "_protection": "NOT_PROTECTED",
    	        "_revision": 2
    	    },
    	    "is_overridden": false,
    	    "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
    	    "resource_type": "TransportNode",
    	    "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "display_name": "Edge_TN2",
    	    "_create_user": "admin",
    	    "_create_time": 1600106319399,
    	    "_last_modified_user": "admin",
    	    "_last_modified_time": 1600106907401,
    	    "_system_owned": false,
    	    "_protection": "NOT_PROTECTED",
    	    "_revision": 1
    	}
  7. 재배포 시나리오 중 하나를 선택할 수 있습니다.
    선택 항목 작업

    NSX Edge VM 노드(NSX Manager API를 통해 배포됨)를 사용하여 기존 NSX Edge 노드(물리적 서버 또는 수동으로 배포된 노드)를 다시 배포합니다.

    API 명령 /api/v1/transport-nodes/<transport-node-id>?action=redeploy에서 다음을 수행합니다.
    • 다시 배포 API의 본문에 페이로드를 붙여넣습니다.
    • deployment_config 섹션이 노드를 다시 배포하려는 계산 관리자, 데이터스토어 및 네트워크 세부 정보를 참조하는지 확인합니다. 이러한 값이 node_settings 섹션에 사용되는 값과 일치하는지 확인합니다.

    • deployment_config 섹션에서 로그인 암호를 추가합니다.

    NSX Managerdeployment_config 섹션에 제공된 세부 정보를 기준으로 NSX Edge 노드를 다시 배포합니다.

    기존 NSX Edge 노드의 배치 변경

    API 명령 /api/v1/transport-nodes/<transport-node-id>?action=redeploy에서 다음을 수행합니다.
    • 다시 배포 API의 본문에 페이로드를 붙여넣습니다.
    • deployment_config 섹션에서 새 계산 관리자, 데이터스토어, 네트워크, CPU, 메모리 또는 지연 시간 민감도 세부 정보를 참조합니다.
    POST https://<manager-ip>/api/v1/transport-nodes/<transport-node-id>?action=redeploy의 예
    	{
    	    "node_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "host_switch_spec": {
    	        "host_switches": [
    	            {
    	                "host_switch_name": "nsxvswitch_overlay",
    	                "host_switch_id": "c0a4a83e-c8b8-4324-a4d7-dbbc07b30b53",
    	                "host_switch_type": "NVDS",
    	                "host_switch_mode": "STANDARD",
    	                "host_switch_profile_ids": [
    	                    {
    	                        "key": "UplinkHostSwitchProfile",
    	                        "value": "f9a2a2fa-b49d-498f-abaf-2fdc81917716"
    	                    },
    	                    {
    	                        "key": "LldpHostSwitchProfile",
    	                        "value": "9e0b4d2d-d155-4b4b-8947-fbfe5b79f7cb"
    	                    }
    	                ],
    	                "pnics": [
    	                    {
    	                        "device_name": "fp-eth0",
    	                        "uplink_name": "uplink1"
    	                    }
    	                ],
    	                "is_migrate_pnics": false,
    	                "ip_assignment_spec": {
    	                    "ip_pool_id": "647d9b0d-0143-4903-91f5-930d9ab011e8",
    	                    "resource_type": "StaticIpPoolSpec"
    	                },
    	                "cpu_config": [],
    	                "transport_zone_endpoints": [
    	                    {
    	                        "transport_zone_id": "0b33b078-6438-4d9b-a1ec-33211fd36822",
    	                        "transport_zone_profile_ids": [
    	                            {
    	                                "resource_type": "BfdHealthMonitoringProfile",
    	                                "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
    	                            }
    	                        ]
    	                    },
    	                    {
    	                        "transport_zone_id": "a0133574-48de-4e3a-9407-7db1a68bae41",
    	                        "transport_zone_profile_ids": [
    	                            {
    	                                "resource_type": "BfdHealthMonitoringProfile",
    	                                "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
    	                            }
    	                        ]
    	                    }
    	                ],
    	                "vmk_install_migration": [],
    	                "pnics_uninstall_migration": [],
    	                "vmk_uninstall_migration": [],
    	                "not_ready": false
    	            }
    	        ],
    	        "resource_type": "StandardHostSwitchSpec"
    	    },
    	    "transport_zone_endpoints": [],
    	    "maintenance_mode": "DISABLED",
    	    "node_deployment_info": {
    	        "deployment_type": "VIRTUAL_MACHINE",
    	        "deployment_config": {
    	            "vm_deployment_config": {
    	                "vc_id": "cc82da39-b119-4869-a7fe-a54621cb4d3d",
    	                "compute_id": "domain-c9",
    	                "storage_id": "datastore-14",
    	                "host_id": "host-12",
    	                "compute_folder_id": "group-v5",
    	                "management_network_id": "network-16",
    	                "hostname": "EdgeSmallFactor",
    	                "data_network_ids": [
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c",
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c",
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c"
    	                ],
    	                "search_domains": [
    	                    "eng.vmware.com",
    	                    "vmware.com"
    	                ],
    	                "enable_ssh": true,
    	                "allow_ssh_root_login": true,
    	                "reservation_info": {
    	                    "memory_reservation": {
    	                        "reservation_percentage": 100
    	                    },
    	                    "cpu_reservation": {
    	                        "reservation_in_shares": "HIGH_PRIORITY",
    	                        "reservation_in_mhz": 0
    	                    }
    	                },
    	                "resource_allocation": {
    	                    "cpu_count": 4,
    	                    "memory_allocation_in_mb": 8192
    	                },
    	                "placement_type": "VsphereDeploymentConfig"
    	            },
    	            "form_factor": "MEDIUM",
    	            "node_user_settings": {
    	                 "cli_username": "admin",
                            "root_password":"Admin!23Admin", 
                            "cli_password":"Admin!23Admin" 
    	            }
    	        },
    	        "node_settings": {
    	            "hostname": "EdgeSmallFactor",
    	            "search_domains": [
    	                "eng.vmware.com",
    	                "vmware.com"
    	            ],
    	            "enable_ssh": true,
    	            "allow_ssh_root_login": true
    	        },
    	        "resource_type": "EdgeNode",
    	        "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "display_name": "Edge_TN2",
    	        "description": "EN",
    	        "external_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "ip_addresses": [
    	            "10.170.94.240"
    	        ],
    	        "_create_user": "admin",
    	        "_create_time": 1600106319056,
    	        "_last_modified_user": "admin",
    	        "_last_modified_time": 1600106907312,
    	        "_system_owned": false,
    	        "_protection": "NOT_PROTECTED",
    	        "_revision": 2
    	    },
    	    "is_overridden": false,
    	    "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
    	    "resource_type": "TransportNode",
    	    "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "display_name": "Edge_TN2",
    	    "_create_user": "admin",
    	    "_create_time": 1600106319399,
    	    "_last_modified_user": "admin",
    	    "_last_modified_time": 1600106907401,
    	    "_system_owned": false,
    	    "_protection": "NOT_PROTECTED",
    	    "_revision": 1
    	}
    
    참고: 이전 노드가 NSX Manager UI를 통해 배포된 NSX Edge VM 노드인 경우, API 페이로드의 node_user_settings 섹션에 로그인 자격 증명을 제공하지 않아도 됩니다.
    페이로드 세부 정보에 대한 자세한 내용은 " NSX-T Data Center API 가이드" 를 참조하십시오.
  8. NSX Manager에서 새 NSX Edge 노드의 구성 상태를 확인합니다.
  9. 또는 API 명령 Get api/v1/transport-nodes/<node-id>/state를 실행하여 새로 준비된 NSX Edge 전송 노드의 상태를 확인합니다.
  10. get logical-routers CLI 명령을 실행하여 논리적 라우터 구성이 새 NSX Edge 노드로 마이그레이션되었는지 확인합니다.
  11. 바뀐 NSX Edge 노드에서 TEP 주소가 동일하게 유지되는지 확인합니다.
  12. NSX Edge 클러스터 상태가 실행 중인지 확인합니다. API는 GET api/v1/edge-clusters/<cluster>입니다. NSX-TNSX 페더레이션을 사용하도록 구성된 경우 사이트 간 상태가 실행 중인지 확인합니다.
  13. NSX Edge 전송 노드 및 클러스터 상태 API를 검토하여 상태가 실행 중인지 확인합니다.
  14. 오류 메시지 해결:
    • (78006) Edge 노드에 대한 NSX Manager 연결이 종료되어야 합니다. 하드웨어 교체가 허용되지 않습니다.: NSX Edge 노드가 NSX Manager에 연결되어 있지 않은지 확인하십시오.

    • (16064) 배포 구성이 누락되었습니다.: 다시 배포 API에서 deployment_config 섹션에 대한 세부 정보를 입력합니다.

    • (16066) 로그인 암호가 없습니다.: 로그인 자격 증명을 제공하십시오.

    • (15019) 노드에서 로드 밸런서 풀에 할당할 리소스가 부족합니다.: 새 NSX Edge 노드의 폼 팩터 크기가 이전 NSX Edge 노드의 폼 팩터보다 작을 수 있습니다. 새 폼 팩터에 로드 밸런서 풀에 할당할 리소스가 충분하지 않을 수 있습니다.

다음에 수행할 작업

  • 교체된 물리적 서버 또는 네트워크의 일부로 수동으로 배포된 NSX Edge VM 장치를 작동하려면 노드를 네트워크에서 연결 해제해야 합니다. 그런 다음, del nsx를 실행하여 노드의 NSX-T VIB를 완전히 삭제합니다. del nsx에 대한 자세한 내용은 " NSX-T Data Center 설치 가이드" 를 참조하십시오.

    호스트에서 del nsx를 실행하면 논리적 라우터, VTEP IP 주소, 업링크 IP 주소의 이전 항목이 해제됩니다. 이제 교체된 물리적 서버를 새 NSX-T 전송 노드로 준비할 수 있습니다.

  • NSX Edge VM 장치를 다시 배포한 후 일부 보안 매개 변수가 기본값으로 설정됩니다. 환경에 따라 이러한 매개 변수를 재구성합니다.
    • set auth-policy minimum-password-length <password-length-arg>

      암호에 포함되어야 하는 최소 문자 수를 설정합니다. 설정할 수 있는 가장 작은 값은 8입니다.

      예: nsx> set auth-policy minimum-password-length 12

    • set user <node-username> password-expiration <password-expiration-arg>

      암호 변경 후 사용자의 암호가 유효한 일 수를 설정합니다.

      여기서 <username>은 사용자의 사용자 이름입니다.

      <password-expiration>은 변경 후 암호가 유효한 일 수입니다(1 - 9999).

      예: nsx> set user audit password-expiration 120

    • set auth-policy cli max-auth-failures <auth-failures-arg>

      계정이 잠길 때까지 허용되는 실패한 CLI 인증 시도 횟수입니다. 0으로 설정하면 계정 잠금이 사용되지 않도록 설정됩니다.

      여기서 <auth-failures>는 잠금을 트리거하기 위한 인증 실패 횟수입니다.

      예: nsx> set auth-policy cli max-auth-failures 5

    • set banner

      보안 배너 또는 오늘의 메시지를 설정합니다.

      예: nsx> set banner

      Enter TEXT message. End with 'Ctrl-D'

    • reset dataplane hugepage

      hugepage 관련 부팅 시간 기본값을 공장 기본값으로 재설정합니다.

      nsx-edge-1> reset dataplane hugepage

      0000:0b:00.0 already bound to driver vfio-pci, skipping
      0000:1b:00.0 already bound to driver vfio-pci, skipping
      0000:13:00.0 already bound to driver vfio-pci, skipping
      INFO: Config was written to: /config/vmware/edge/config.json
      Generating grub configuration file ...
      Found linux image: /vmlinuz-3.14.17-nn4-server
      Found initrd image: //initrd.img-3.14.17-nn4-server
      File descriptor 4 (/tmp/ffinvYglp (deleted)) leaked on lvs invocation. Parent PID 32203: /bin/sh
      done
      INFO: Updated grub. Please reboot to take effect.