This article looks at a simple NSX home lab design, loosely using the approach presented in the NSX Data Center Design training.
Objective:
The goal is to build a simple home based NSX Lab environment to help gain hands-on experience with the product to develop some of the skills needed to design, deploy, and manage virtual networks in a production environment.
Let’s start with a high level view, with a look at my lab design requirements, constraints, and assumptions.
Conceptual Design:
– Technical Requirements:
- Support a 3-Tier web/app/db compute workloads
- Provides NAT/DHCP/DNS services to compute workloads
- Provides DFW security to compute workloads
- Compute workloads can reach the Internet over the home network
- Keep setup simple, using default settings where possible
- System does not need to support high availability
– Constraints:
- Run on a single physical server
- Run a single small NSX Manager
– Assumptions:
- Use current vCenter and NSX versions
- System will be upgradable
- Possible support for an inexpensive lab L3 switch
Logical Design:
Based on these objectives, requirements, constraints, and assumptions, a simple logical design could look something like this:
Physical Design Approaches:
It’s often helpful to break down the NSX virtualized environment into management, edge, and compute functions. Here is a summary of each in the context of this lab design:
- Management: Supporting Infrastructure, such as NSX Manager, vCenter, NTP server, and lab domain DNS.
- Edge: NSX Edges, VMs to provide north/south connectivity, and centralized services, such as NAT, DNS, and DHCP.
- Compute: Virtualized workloads fit here, in this case the 3-tier app, sitting on NSX segments.
There are two main approaches to building an NSX lab:
- Native Lab Approach: No operating system abstraction, a single ESXi hypervisor is installed directly on a physical server
- Nested Lab Approach: Virtual environments are created within a native environment, with hypervisors running on a hypervisor
Notice that in the nested lab approach it is possible to build more complex solutions, such as an NSX edge cluster on top of a vSphere edge cluster. The downside is that the nested approach is much more resource intensive.
Lab Approach Comparison:
Here is. brief summary of these two lab design approaches:
Native Lab Approach | Nested Lab Approach |
Closer to a VMware validated design | More flexible |
Easier to setup | Supports more complex solutions |
Easier to troubleshoot | More resource intensive |
Requires external physical routing hardware | External routing can be virtualized with say VyOS |
Physical Design:
Here is a simple native physical design where management, edge, and compute roles are collapsed onto a single hypervisor:
Here is a nested physical design where edge and compute roles are hosted on nested hypervisors, and management is hosted on the main hypervisor:
Native or Nested, which to choose?
My objective is to build a simple home based NSX Lab environment to help gain hands-on experience with the product.
In this series of articles, I’m going to implement the native lab approach, to try and create a more simple NSX lab environment, as a starting point for discovery and learning.