NSX Controllers provides a control plane to distribute network information to hosts. To achieve a high level of resiliency the NSX Controller is clustered for scale out and HA. NSX controllers can be deployed in a three-node cluster .These virtual appliances provide, maintain and update the state of all network function within the NSX domain. NSX Manager is used to deploy NSX Controllers for managing the control plane activities that take place within the environment.
NSX controllers will form a control cluster. Controller Cluster will require a quorum (majority) in order to avoid any sort of split brain scenario. A quorum is best achieved with an odd number.It is always recommended to deploy the controllers in Odd numbers ( 3 ,5,etc). It provides redundancy incase of failure of other NSX controller.The controller cluster is the control plane component responsible for managing the switching and routing modules in the hypervisors. Below are the few of the commands which can be used to test the status of NSX controller cluster status.
NSX Control Cluster Status:
You can use the below command to verify the current status of Controller Cluster
show control-cluster status
Majority status: check if this controller cluster is connected to cluster majority.
Cluster ID: All the Controller Node should have the same Cluster ID.
Configured and Active Status: Verify that the all the Controller roles are enabled and activated.
NSX Control Cluster Connection Status:
Controller Node’s intra-cluster communication connections status can be determined by running the below command:
show control-cluster connections
Controller Cluster majority leader will be listening on port 2878 (you can see “Y” in the “listening” column).The other Controller nodes will have a dash (-) in the “listening” column for Port 2878.
“Open Connections” column shows whether the controller cluster majority leader has any open connections. In a 3-node controller cluster, the controler cluster majority leader should show 2 open connections. It should be the same as the number of other Controller nodes in the Controller Cluster
NSX Control Cluster Role Status:
Execute the below command to get the detailed status about Various role hold by each controller node.
show control-cluster roles
Below is the output from my 3 NSX controller node. Each controller node will be master for different role.
If a master NSX Controller instance for a role fails, the cluster elects a new master for that role from the available NSX Controller instances. The new master NSX Controller instance for that role reallocates the lost portions of work among the remaining NSX Controller instances.
NSX Controller instances are on the control plane. So an NSX Controller failure does not affect data plane traffic.
NSX Control Cluster History:
Execute the below command to see a history of Controller Cluster-related events on this node including restarts, upgrades, Controller Cluster errors and loss of majority:
show control-cluster history
We will discuss in detail about various NSX management commands in upcoming posts. I hope this is informative for you. Thanks for Reading!!!. Be Social and share it in social media, if you feel worth sharing it.