In my personal journey to understand NSX, I've found the greatest understanding to come from the NSX Design Guide. As it so happens, when I decided to write this blog (Dec 30, 2022), I noticed VMware released a new design guide on December 5th. This gave the perfect opportunity to write new blog posts as they relate to topics in the design guide. My intention is to write a series of blog post that give concrete examples corresponding to the section headings in the design guide. The reader will hopefully get a better understanding of the ideas being conveyed in the design guide, and I get to flesh out my understanding of the topic by explaining it.
The NSX design guide can be found here: https://communities.vmware.com/t5/VMware-NSX-Documents/VMware-NSX-T-Reference-Design/ta-p/2778093?attachment-id=110654
Starting on page 18, we've got an introduction to the NSX Architecture Components.
To start, we've got the NSX management cluster. NSX can function with only a single NSX manager, but for production support, you must have 3 NSX managers in a cluster. Lets have a look at the management cluster from the perspective of my vCenter Server.
In a production environment, you'll probably see NSX managers using a larger VM form factor. Here, I've used the smallest form factor suitable for a home lab. And since we're getting into specifics, let me specify my nsx and vcenter versions:
vCenter Server: 7.0.3 build 19717403
ESXi: 7.0.2 build 18426014
NSX: 3.2.0.0.0.19067070
If you want a more in-depth understanding of nsx installation, check out the NSX install guide here:
https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.2/nsxt_32_install.pdf
Also consider the VMware interoperability guide here to make sure your NSX and vCenter (and ESXi) instances are compatible:
https://interopmatrix.vmware.com/Interoperability?col=2,&row=912,
Assuming your NSX infrastructure is healthy, the most common method to interface with NSX will be the NSX web GUI. To access the web GUI, browse to the ip address of one of the NSX manager ip addresses, or URL, or the VIP address:
After login, it looks like this:
The other access method is via SSH. There are two user accounts of consequence, root login and an admin login. Each will give the user a different prompt and different commands. Lets take a look:
Here I've logged in as root. It gives the user access to Linux prompt. A common reason why you may want to login as root is to view some of the NSX specific log files and you are familiar with a Linux command line:
Alternatively, there is the admin access. Its possible to change from root privlidge to admin and vice versa. While I'm already in root access, the easiest way to change to admin access is type "su admin" to drop to admin user access:
I can get to root from admin privilege using "st en". I believe this is short for "start engineering" mode. In admin privilege mode, the most common command you'll run is "get cluster status". This will allow you to validate some of the topics discussed in the design guide heading "NSX Architecture Components" .
You can check this same information in the NSX GUI, but the output will be a little delayed relative to cli output. Interestingly, you get a bit more information in the GUI. I've highlighted the fact that it also shows how many transport nodes this specific manager is responsible for. Each NSX manager will handle management and control plane for 1/3 of the total transport nodes.
Lastly for this blog post, I'll talk about the management plane and control plane from the perspective of the ESXi hosts. When an ESXi host has NSX installed on it, we say that that host is prepared for NSX. Preparation is the process of installing NSX on the host. I'm starting here with NSX already installed and will show how you can validate the NSX management and control planes of an ESXi host.
First, you'll need to SSH to the host. Next, verify the version of the host and verify that NSX is installed.
What you should see if NSX is installed on the host is a list of vibs starting with the name nsx. Think of a vib as a driver. I went over them in a previous blog post. When you've verified that NSX installed, be aware that you'll have access to an NSX specific cli tool called 'nsxcli'.
The ESXi hosts form their management and control plane connections to the nsx manager and controller on port 1234 and 1235 respectively. Using command "esxcli network ip connection list | grep 1234" or "1235", I can check the connection of the management plane and control plane. Below, you can see my ESXi host has a management plane connection to each of the 3 hosts, but only a single control plane connection to one manager.
In subsequent blog posts, I'll cover additional topics in the NSX Design guide. As a final point to illustrate the kinds of things NSX manager can show from a CLI stand point, I'll leave a list of commands available from the "get" prompt. This output was generated from typing "get ?". For a more comprehensive listing of all cli commands, perform a Google search for ""NSX-T cli guide".
From my NSX Lab:
nsx-t-manager1> get version
Thu Jan 05 2023 UTC 18:22:30.595
VMware NSX Software, Version 3.2.0.0.0.19067081
Product Version 3.2.0.0.0.19067070
nsx-t-manager1> get
all All items
arp-table ARP entries
auth-policy Authentication policy
capture Packet capture
certificate X509 certificate
cgroup Container grouping object
cgroups Container grouping objects
cli-output CLI output
cli-timeout CLI timeout
clock Manage the system clock
cluster NSX cluster
command Command history
configuration Configuration details
cpu-stats CPU statistics
data Datum(s) for nestdb-pigeon
domain-object Logical object representation for controller
domain-objects Logical objects representation for controller
eula End User License Agreement
file File
files Files
filesystem-stats Filesystem statistics
firewall Firewall configuration
gateway Gateway
gateways Gateways
group Multicast group address
groups IGMP groups
hostname System's network name
interface Interface configuration
interfaces Interface status and configuration
last Show last N lines of output
log-file Log file
logging-servers Syslog logging servers
logical-router Logical router
logical-routers Logical routers
logical-switch Logical switch
logical-switch-port Logical switch port
logical-switches Logical switches
managers NSX managers
memory-stats Memory statistics
name-servers Name servers
network-stats Show system network stats
node Node
nodes Nodes
ntp-server NTP server
ntp-servers NTP servers
processes System processes
realization-status The fulfillment status of a desired entity
receivers Transport nodes connected to nestdb-pigeon
route IP routing table
routes IP routing table
routing-domain Routing domain
routing-domains Routing domains
search-domains DNS search domains
segment Segment
segment-port Segment port
segments Segments
service Node service
services Node services
site-replicator Controller module to sync states among sites.
snmp SNMP service
sockets Open IP sockets
stretched Stretched configurations used in multiple sites
support-bundle Support bundle
transport-node Transport node
transport-nodes Transport nodes
upgrade Upgrade
upgrade-bundle Node Upgrade bundle
uptime Show system uptime information
user Configure system passwords
version System version
vif VIF
vtep-group Vtep group
vtep-groups Vtep groups
Comments
Post a Comment