vSphere ESX Agent Manager는 ESXi 호스트에 VIB를 배포합니다.

호스트에 배포하려면 DNS가 호스트, vCenter Server 및 NSX Manager에 구성되어 있어야 합니다. 배포를 위해 ESXi 호스트를 재부팅할 필요는 없지만 VIB의 업데이트 또는 제거를 위해서는 ESXi 호스트를 재부팅해야 합니다.

VIB는 NSX Manager에서 호스팅되며 zip 파일로도 제공됩니다.

이 파일은 https://<NSX-Manager-IP>/bin/vdn/nwfabric.properties에서 액세스할 수 있습니다. 다운로드할 수 있는 zip 파일은 NSX 및 ESXi 버전에 따라 다릅니다. 예를 들어 NSX 6.3.0에서 vSphere 6.0 호스트는 파일 https://<NSX-Manager-IP>/bin/vdn/vibs-6.3.0/6.0-buildNumber/vxlan.zip을 사용합니다.

# 5.5 VDN EAM Info
VDN_VIB_PATH.1=/bin/vdn/vibs-6.3.0/5.5-4744075/vxlan.zip
VDN_VIB_VERSION.1=4744075
VDN_HOST_PRODUCT_LINE.1=embeddedEsx
VDN_HOST_VERSION.1=5.5.*

# 6.0 VDN EAM Info
VDN_VIB_PATH.2=/bin/vdn/vibs-6.3.0/6.0-4744062/vxlan.zip
VDN_VIB_VERSION.2=4744062
VDN_HOST_PRODUCT_LINE.2=embeddedEsx
VDN_HOST_VERSION.2=6.0.*

# 6.5 VDN EAM Info
VDN_VIB_PATH.3=/bin/vdn/vibs-6.3.0/6.5-4744074/vxlan.zip
VDN_VIB_VERSION.3=4744074
VDN_HOST_PRODUCT_LINE.3=embeddedEsx
VDN_HOST_VERSION.3=6.5.*

# Single Version associated with all the VIBs pointed by above VDN_VIB_PATH(s)
VDN_VIB_VERSION=6.3.0.4744320

# Legacy vib location. Used by code to discover avaialble legacy vibs.
LEGACY_VDN_VIB_PATH_FS=/common/em/components/vdn/vibs/legacy/
LEGACY_VDN_VIB_PATH_WEB_ROOT=/bin/vdn/vibs/legacy/

호스트에 설치되는 VIB는 NSX 및 ESXi 버전에 따라 다릅니다.

ESXi 버전

NSX 버전

설치된 VIB

5.5

모든 6.3.x

  • esx-vsip

  • esx-vxlan

6.0 이상

6.3.2 또는 이전 버전

  • esx-vsip

  • esx-vxlan

6.0 이상

6.3.3 이상 버전

  • esx-nsxv

esxcli software vib list 명령을 사용하여 설치된 VIB를 볼 수 있습니다.

[root@esx-01a:~] esxcli software vib list | grep -e vsip -e vxlan
esx-vsip                       6.0.0-0.0.XXXXXXX                     VMware  VMwareCertified   2016-04-20
esx-vxlan                      6.0.0-0.0.XXXXXXX                     VMware  VMwareCertified   2016-04-20

or

esxcli software vib list | grep nsxv
esx-nsxv                       6.0.0-0.0.XXXXXXX                     VMware  VMwareCertified   2017-08-11

호스트 준비 중에 발생하는 일반적인 문제

호스트 준비 중에 발생할 수 있는 일반적인 문제는 다음과 같습니다.

  • EAM이 VIB를 배포하지 못합니다.

    • 호스트에서 DNS가 잘못 구성되어 있을 수 있습니다.

    • 방화벽이 ESXi, NSX Manager 및 vCenter Server 간의 필수 포트를 차단하고 있을 수 있습니다.

  • 이전 버전의 이전 VIB가 이미 설치되어 있습니다. 이 경우 사용자가 호스트를 재부팅해야 합니다.

  • NSX Manager 및 vCenter Server에서 통신 문제가 발생합니다.

    • Networking & Security 플러그인의 호스트 준비(Host Preparation) 탭에 일부 호스트가 제대로 표시되지 않습니다.

    • vCenter Server에서 모든 호스트 및 클러스터를 열거할 수 있는지 확인합니다.

호스트 준비(VIB) 문제 해결

  • 호스트에 대한 통신 채널 상태를 확인합니다. 통신 채널 상태 확인를 참조하십시오.

  • vSphere ESX Agent Manager에 오류가 있는지 확인합니다.

    vCenter 홈 > 관리 > vCenter Server Extensions > vSphere ESX Agent Manager(vCenter home > Administration > vCenter Server Extensions > vSphere ESX Agent Manager)

    vSphere ESX Agent Manager에서 접두사로 “VCNS160”이 붙어 있는 에이전시의 상태를 확인합니다. 에이전시가 불량 상태인 경우 해당 에이전시를 선택하고 문제를 확인합니다.

  • 문제가 있는 호스트에서 tail /var/log/esxupdate.log 명령을 실행합니다.

  • https://kb.vmware.com/kb/2053782를 참조하십시오.

호스트 준비(UWA) 문제 해결

NSX Manager는 클러스터의 모든 호스트에서 2개의 User World Agent를 구성합니다.

  • 메시징 버스 UWA(vsfwd)

  • 제어부 UWA(netcpa)

드문 경우 VIB 설치가 성공하지만 일부 이유로 인해 User World Agent 중 하나 또는 둘 다가 제대로 작동하지 않을 수 있습니다. 이 경우 다음과 같은 현상이 나타날 수 있습니다.

  • 방화벽에 잘못된 상태가 표시됩니다.

  • 하이퍼바이저 및 컨트롤러 사이의 제어부가 작동 중단됩니다. NSX Manager 시스템 이벤트를 확인하십시오.

둘 이상의 ESXi 호스트가 영향을 받는 경우 요약(Summary) 탭의 NSX Manager 장치 Web UI에서 메시지 버스 서비스의 상태를 확인하십시오. RabbitMQ가 중지되면 다시 시작하십시오.

메시지 버스 서비스가 NSX Manager에서 활성 상태인 경우:

  • ESXi 호스트에서 /etc/init.d/vShield-Stateful-Firewall status 명령을 실행하여 호스트의 메시지 버스 User World Agent 상태를 확인합니다.

    [root@esx-01a:~] /etc/init.d/vShield-Stateful-Firewall status
    vShield-Stateful-Firewall is running
    
  • /var/log/vsfwd.log에서 호스트에 대한 메시지 버스 User World Agent 로그를 확인합니다.

  • ESXi 호스트에서 esxcfg-advcfg -l | grep Rmq 명령을 실행하여 모든 Rmq 변수를 표시합니다. 16개의 Rmq 변수가 표시되어야 합니다.

    [root@esx-01a:~] esxcfg-advcfg -l | grep Rmq
    /UserVars/RmqIpAddress [String] : Connection info for RMQ Broker
    /UserVars/RmqUsername [String] : RMQ Broker Username
    /UserVars/RmqPassword [String] : RMQ Broker Password
    /UserVars/RmqVHost [String] : RMQ Broker VHost
    /UserVars/RmqVsmRequestQueue [String] : RMQ Broker VSM Request Queue
    /UserVars/RmqPort [String] : RMQ Broker Port
    /UserVars/RmqVsmExchange [String] : RMQ Broker VSM Exchange
    /UserVars/RmqClientPeerName [String] : RMQ Broker Client Peer Name
    /UserVars/RmqHostId [String] : RMQ Broker Client HostId
    /UserVars/RmqHostVer [String] : RMQ Broker Client HostVer
    /UserVars/RmqClientId [String] : RMQ Broker Client Id
    /UserVars/RmqClientToken [String] : RMQ Broker Client Token
    /UserVars/RmqClientRequestQueue [String] : RMQ Broker Client Request Queue
    /UserVars/RmqClientResponseQueue [String] : RMQ Broker Client Response Queue
    /UserVars/RmqClientExchange [String] : RMQ Broker Client Exchange
    /UserVars/RmqSslCertSha1ThumbprintBase64 [String] : RMQ Broker Server Certificate base64 Encoded Sha1 Hash
    
  • ESXi 호스트에서 esxcfg-advcfg -g /UserVars/RmqIpAddress 명령을 실행합니다. 출력에는 NSX Manager IP 주소가 표시되어야 합니다.

    [root@esx-01a:~] esxcfg-advcfg -g /UserVars/RmqIpAddress
    Value of RmqIpAddress is 192.168.110.15
  • ESXi 호스트에서 esxcli network ip connection list | grep 5671 명령을 실행하여 활성 메시징 버스 연결을 확인합니다.

    [root@esx-01a:~] esxcli network ip connection list | grep 5671
    tcp         0       0  192.168.110.51:29969            192.168.110.15:5671   ESTABLISHED     35505  newreno  vsfwd
    tcp         0       0  192.168.110.51:29968            192.168.110.15:5671   ESTABLISHED     35505  newreno  vsfwd
    

netcpa User World Agent의 작동 중단 이유를 확인하려면:

  • ESXi 호스트에서 /etc/init.d/netcpad status 명령을 실행하여 호스트의 netcpa User World Agent 상태를 확인합니다.

    [root@esx-01a:~] /etc/init.d/netcpad status
    netCP agent service is running
    
  • netcpa User World Agent 구성 /etc/vmware/netcpa/config-by-vsm.xml을 확인합니다. NSX Controller의 IP 주소가 나열되어야 합니다.

    [root@esx-01a:~] more /etc/vmware/netcpa/config-by-vsm.xml
    <config>
      <connectionList>
        <connection id="0000">
          <port>1234</port>
          <server>192.168.110.31</server>
          <sslEnabled>true</sslEnabled>
          <thumbprint>A5:C6:A2:B2:57:97:36:F0:7C:13:DB:64:9B:86:E6:EF:1A:7E:5C:36</thumbprint>
        </connection>
        <connection id="0001">
          <port>1234</port>
          <server>192.168.110.32</server>
          <sslEnabled>true</sslEnabled>
          <thumbprint>12:E0:25:B2:E0:35:D7:84:90:71:CF:C7:53:97:FD:96:EE:ED:7C:DD</thumbprint>
        </connection>
        <connection id="0002">
          <port>1234</port>
          <server>192.168.110.33</server>
          <sslEnabled>true</sslEnabled>
          <thumbprint>BD:DB:BA:B0:DC:61:AD:94:C6:0F:7E:F5:80:19:44:51:BA:90:2C:8D</thumbprint>
        </connection>
      </connectionList>
     ...
    
  • esxcli network ip connection list | grep 1234 명령을 실행하여 컨트롤러 TCP 연결을 확인합니다.

    >[root@esx-01a:~] esxcli network ip connection list | grep 1234
    tcp     0   0  192.168.110.51:16594     192.168.110.31:1234   ESTABLISHED     36754  newreno  netcpa-worker
    tcp     0   0  192.168.110.51:46917     192.168.110.33:1234   ESTABLISHED     36754  newreno  netcpa-worker
    tcp     0   0  192.168.110.51:47891     192.168.110.32:1234   ESTABLISHED     36752  newreno  netcpa-worker