NSX-T VIBs (vSphere Installation Bundle)



In this post, I will discuss NSX vSphere Installation Bundles (VIBs). When installing NSX, one must perform the action of "preparing" the ESXi host. To prepare the host, it means install the requisite NSX VIBs on the ESXi host. If you're coming from a purely networking background, you might be wondering, "What is a VIB"? VIBs are basically drivers, or bundles of software, that give ESXi enhanced or distinct software abilities. Even in cases where NSX is not installed, ESXi hosts will have VIBs installed to perform its day-to-day server virtualization functions.  

Non-NSX VIBs
List VIBs Command: esxcli software vib list


To give the ESXi host NSX capabilities such as Network Function Virtualization, NSX specific VIBs must be installed on the host. During host preparation, the VIBs are pushed from the NSX-T Manager to the host. Lets take a look at those vibs and I'll give a description of what each of them do. You'll notice in the image below that the NSX VIBs for my host are for NSX-T 3.2 and are to be paired with ESXi 7.0. 


NSX specific VIBS
List NSX VIBs Command: esxcli software vib list | grep -E 'nsx|vsip'



NSX-T 3.2 VIBs for ESXi version 7.0

As a result of adding an ESXi host to the NSX-T Data Center fabric, the following VIBs get installed on the host.

nsx-adf  - (Automated Diagnostics Framework) Collects and analyzes performance data to produce both local (at host) and central (across datacenter) diagnoses of performance issues.

nsx-aggservice - Provides host-side libraries for NSX-T Data Center aggregation service. NSX-T Data Center aggregation service is a service that runs in the management-plane nodes and fetches runtime state from NSX-T Data Center components.

nsx-cfgagent - Provides communication between the central control plane and hypervisors. Receives logical networking state from the central control plane and programs this state in the data plane.

nsx-cli-libs - Provides the NSX-T Data Center CLI on hypervisor hosts.

nsx-common-libs - Provide some utilities classes such as AES, SHA-1, UUID, bitmap, and others.

nsx-context-mux - Provides NSX Guest Introspection relay functionality. Allows VMware Tools guest agents to relay guest context to inhouse and registered third-party partner appliances.

nsx-esx-datapath - Provides NSX-T Data Center data plane packet processing functionality.

nsx-exporter - Provides host agents that report runtime state to the aggregation service running in the management plane.

nsx-host - Provides metadata for the VIB bundle that is installed on the host.

nsx-metrics-libs - Provides metric utility classes for collecting daemon metrics.

nsx-mpa - Provides communication between NSX Manager and hypervisor hosts.

nsx-nestdb - NestDB is a database that stores NSX configurations related to the host (desired/runtime state, etc).

nsx-opsagent - Communicates operations agent executions (transport node realization, Link Layer Discovery Protocol - LLDP,traceflow, packet capture, etc.) with the management plane.

nsx-netcpa - Provides communication required by the different components.

nsx-platform-client - Provides a common CLI execution agent, for centralized CLI and audit log collecting.

nsx-profiling-libs - Provides the functionality of profiling based on gpeftool which used for daemon process profiling.

nsx-proxy - Provides the only northbound contact point agent, which talks to the central control plane and management plane.

nsx-python-gevent - Contains Python Gevent.

nsx-python-greenlet - Contains Python Greenlet library (third party libraries).

nsx-python-logging - Contains the Python logs.

nsx-python-protobuf - Provides Python bindings for protocol buffers.

nsx-rpc-libs - This library provides nsx-rpc functionality.

nsx-sfhc - Service fabric host component (SFHC). Provides a host agent for managing the lifecycle of the hypervisor as a fabric host in the management plane's inventory. This provides a channel for operations such as NSX-T Data Center upgrade and uninstall and monitoring of NSX-T Data Center modules on hypervisors.

nsx-shared-libs - Contains the shared NSX libraries.

nsx-upm-libs - Provides unified profile management functionality for flattening client-side configuration and avoiding duplicate data transmission.

nsx-vdpi - Provides Deep Packet Inspection capabilities for NSX-T Data Center Distributed Firewall.

vsipfwlib - Provides distributed firewall functionality.

nsxcli - Provides the NSX-T Data Center CLI on hypervisor hosts.

(Source: NSX-T Install Guide 3.2 - https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.2/nsxt_32_install.pdf)


On occasion, you might run into a problem with host preparation. In those cases, check the host's log file esxupdate.log. Consider running a tail on the log file while the install is taking place so you can see exactly where the problem is.

tail -f /var/log/esxupdate.log

YouTube Demonstration




Outside of NSX installation, there are a few occasions where vib installation happens. NSX upgrades from version to version will remove vibs from the old version and install vibs for the new NSX version. Additionally, when you upgrade between some ESXi versions, such as from ESXi 6.7 to ESXi 7.0, the NSX vibs will need to be upgraded. You'll want to follow the NSX documentation closely in this matter because NSX vibs don't automatically update themselves unless you follow VMware documentation. For more on that, consult VMware documentation:

Page 28


Thanks for taking the time to read my blog post about NSX-T vibs. Hopefully this post helped you understand a little bit more about NSX-T vibs than before you started reading this post! 






 





 

Comments

Popular posts from this blog

VXLAN versus GENEVE (NSX-V vs. NSX-T)

"Twice NAT" with NSX-T T0 Gateway

Packet Capture Network Traffic Inside ESXi Hypervisor