VCF 9.1 Home Lab Series – Part 3: Pre-Deployment Planning

Welcome to part 3 of the VCF-9.1 home lab series. The previous post in this series discussed the VCF 9.1 high-level design and lab best practices. In this post, I will discuss the planning and preparation for deploying a VCF 9.1 fleet.

If you are not following along, I encourage you to read the earlier parts of this series from the links below:

1: Whats New in VCF 9.1

2: VCF 9.1 High-Level Design

After you have understood the VCF deployment models and the design is ready in your mind, the next step is to get familiar with the VCF Planning and Preparation Workbook. If you have been working on the VCF platform for quite some time, you already understand the importance of this workbook. The workbook is an Excel file that helps you gather the inputs required for deploying a VCF fleet. The v9.1 workbook can be downloaded from here

The VCF Installer is a ruthless validator. Before it deploys a single component, it checks DNS resolution, NTP reachability, NIC speed, disk eligibility, and IP availability. If any of those checks fail, bring-up stops. Unlike older VCF versions, where you could work around prerequisite gaps during installation, VCF 9.x Installer enforces its pre-checks as hard gates.

That means your hardware, network, DNS, and IP planning must be complete — and verified — before attempting deployment.

Hardware Requirement

Choosing Your Deployment Model

With VCF 9.1, the management domain footprint has become heavy as new components are added to the architecture. During deployment, you’re asked whether to deploy a simple topology or a highly available one. Also, you are asked for the size of the components. Your choice here directly determines your minimum host count and CPU/memory requirements. For a medium-sized, highly available deployment, the resource requirements are shown below.

Unsupported CPU

If your physical host has an unsupported CPU, you can bypass it by adding the allowLegacyCPU flag during the ESXi installation.

In my lab, I am using an HP DL380 Gen9 host with the following configuration:

  • Memory: 512 GB
  • CPU: 72 (with hyperthreading)
  • Storage: 30 TB FC (Pure Flash)
  • NIC: 2 x 25 GBPS

Pre-Deployment Planning

Documentation

The most common cause of failed VCF deployment isn’t misconfigured software — it’s under-planned infrastructure. Missing DNS records, incorrect MTU values, overlapping IP ranges, and absent reverse lookup zones all surface as cryptic installer failures that take hours to diagnose.

The VCF installer collects a significant amount of information during the bring-up wizard—FQDNs, IP addresses, VLAN IDs, DNS server addresses, NTP server addresses, and more. If you don’t have this information documented and verified before you start, you will either make mistakes mid-wizard or need to restart the bring-up process.

Build a planning document—even a simple spreadsheet that captures the requirements. The time investment is 2–3 hours, and it directly determines whether your deployment succeeds on the first attempt.

DNS Planning

DNS is the single most common bring-up failure point. Every VCF component requires a fully qualified domain name with both forward (A) and reverse (PTR) records resolvable before bringup starts. Choose a dedicated DNS domain for your lab. Use a private lab domain that does not conflict with your home network. Your DNS server must be located outside the environment/host where VCF 9.1 will be deployed.

In my lab, I am using Microsoft Server 2022 as a DNS server and have the DNS zone thinkon.lab configured.

IP Address Planning

Plan your IP space by function (traffic type), not by host. Each traffic type gets its own subnet and VLAN. This is not over-engineering—it’s the production pattern, and it matters because VCF’s deployment wizard asks for these ranges. I am using the following networks/VLANs in my lab:

Network Type VLAN CIDR Gateway Purpose
VCF Management 256 10.252.1.0/24 10.252.1.254 ESXi Management network
VM Management 80 10.252.80.0/24 10.252.80.254 Infra Management VMs
VCF vMotion 9 10.252.9.0/24 10.252.9.254 vMotion network
VCF vSAN 10 10.252.10.0/24 10.252.10.254 vSAN Network
ESX TEP 91 10.252.91.0/24 10.252.91.254 ESXi TEP Network
Edge TEP 92 10.252.92.0/24 10.252.92.254 Edge TEP Network

Transport Node TEP Details

Transport Node CIDR IP Pool Description
Mgmt Dom Host 10.252.91.0/24 10.252.91.220 – 10.252.91.240 Mgmt Domain ESX TEP
Mgmt Dom Edge 10.252.92.0/24 10.252.92.209 – 10.252.92.224 Mgmt Domain Edge TEP
WLD Dom Host 10.252.91.0/24 10.252.91.171 – 10.252.91.180 WLD Domain ESX TEP
WLD Dom Edge 10.252.92.0/24 10.252.92.225 – 10.252.92.236 WLD Domain Edge TEP

I have intentionally omitted the BGP details, as I will cover that in the network connectivity setup post.

IP Allocation

To build the VCF management domain, the IP requirements are shown below:

For the full list of IP/FQDN requirements, see VCF Components FQDNs and IP addresses

I have built my lab as per the IP/FQDN scheme shown in the table below. I have broken it down into day-0, day-1, and day-2 requirements.

Day-0 (Management Domain)

Hostname/FQDN IP Address Component
vcf910-installer.cmb1.thinkon.lab 10.252.80.35 VCF Installer
vcf910-vcsa.cmb1.thinkon.lab 10.252.80.36 vCenter Server
vcf910-nsx.cmb1.thinkon.lab 10.252.80.37 NSX VIP
vcf910-nsx01.cmb1.thinkon.lab 10.252.80.38 NSX Node01
vcf910-nsx02.cmb1.thinkon.lab 10.252.80.39 NSX Node02
vcf910-nsx03.cmb1.thinkon.lab 10.252.80.40 NSX Node03
vcf910-sddcm.cmb1.thinkon.lab 10.252.80.41 SDDC Manager
vcf910-fleetm.cmb1.thinkon.lab 10.252.80.42 Fleet Manager
vcf910-ops-clt.cmb1.thinkon.lab 10.252.80.43 VCF OPS Fleet Collector
vcf910-ops.cmb1.thinkon.lab 10.252.80.44 VCF OPS VIP
vcf910-ops01.cmb1.thinkon.lab 10.252.80.45 VCF Ops Mgr Node
vcf910-ops02.cmb1.thinkon.lab 10.252.80.46 VCF Ops Data Node
vcf910-ops03.cmb1.thinkon.lab 10.252.80.47 VCF Ops Replica Node
vcf910-lic-srv.cmb1.thinkon.lab 10.252.80.51 VCF License Server
vcf910-inst-mgr.cmb1.thinkon.lab 10.252.80.52 VCF Instance manager
vcf910-vidb.cmb1.thinkon.lab 10.252.80.53 VCF VIDB
vcf910-svc.cmb1.thinkon.lab 10.252.80.54 VCF Services Runtime FQDN
VCF VMSP Cluster 10.252.80.160-10.252.80.179 VCF Mgmt Services

Note: For the VMSP cluster, a minimum of 12 IP addresses is required. A full range of 30 IPs is needed for components that can be deployed as day-N.

Note: If you are planning to deploy VCF Automation on day-0, you need additional IPs. I deployed VCF Automation on day-2.

Day 1: Workload Domain and NSx Edges

Hostname/FQDN IP Address Component
vcf910-mgmt-edge01.cmb1.thinkon.lab 10.252.80.48 NSX Edge Node01
vcf910-mgmt-edge02.cmb1.thinkon.lab 10.252.80.49 NSX Edge Node02
vcf910-w01-vcsa.cmb1.thinkon.lab 10.252.80.9 WLD Dom VCSA
vcf910-w01-nsx.cmb1.thinkon.lab 10.252.80.10 WLD Dom NSX VIP
vcf910-w01-nsx01.cmb1.thinkon.lab 10.252.80.55 WLD Dom NSX Node01
vcf910-w01-nsx02.cmb1.thinkon.lab 10.252.80.56 WLD Dom NSX Node02
vcf910-w01-nsx03.cmb1.thinkon.lab 10.252.80.57 WLD Dom NSX Node03
vcf910-w01-edge01.cmb1.thinkon.lab 10.252.80.13 WLD Dom Edge Node01
vcf910-w01-edge02.cmb1.thinkon.lab 10.252.80.14 WLD Dom Edge Node02

Day 2: VCF Automation, Avi Controllers, DSM, etc.

Hostname/FQDN IP Address Component
vcf910-vcfa.cmb1.thinkon.lab 10.252.80.140 VCF Automation VIP
vcf910-vcfa-svc.cmb1.thinkon.lab 10.252.80.141 VCF Automation SVC Runtime
VCF Automation SVC 10.252.80.200/29 VCF Automation SVC Cluster Nodes
vcf910-avi.cmb1.thinkon.lab 10.252.80.86 Avi VIP
vcf910-avi01.cmb1.thinkon.lab 10.252.80.87 AVI Node 01
vcf910-avi02.cmb1.thinkon.lab 10.252.80.88 AVI Node 02
vcf910-avi03.cmb1.thinkon.lab 10.252.80.89 AVI Node 03
vcf910-dsm.cmb1.thinkon.lab 10.252.80.21 VCF Data Services Manager
vcf910-log.cmb1.thinkon.lab 10.252.80.22 VCF Log
vcf910-ni-platform.cmb1.thinkon.lab 10.252.80.147 Network Insight Platform
vcf910-ni-proxy.cmb1.thinkon.lab 10.252.80.148 Network Insight Collector

Pre-Deployment Checklist

Run through this checklist completely before launching the VCF Installer. The installer will check most of these automatically, but catching failures here is faster than catching them mid-wizard.

Hardware

  • Each host has ≥ 12 physical cores / 24 threads.
  • Each host has ≥ 128 GB RAM.
  • Hosts connected to the managed switch on trunk ports with all VLANs allowed.

Network / Switch

  • All VLANs that will be used for the deployment are configured on the switch.
  • Host ports are configured as trunks on the switch.
  • Physical connectivity verified (link up on both NICs per host).

DNS

  • A record was created for all components.
  • PTR records are created for all IP addresses.
  • The forward lookup returns the correct IP for every record.
  • The reverse lookup returns the correct FQDN for every IP address.

NTP

  • NTP server is running and reachable.
  • NTP FQDN resolves from all hosts.
  • Each ESX host is configured to sync to the lab NTP server.
  • NTP is synchronized on each host.

ESX Host Preparation

  • ESX 9.1 is installed on each host.
  • SSH is enabled on each host.
  • The management IP, subnet, and gateway are configured statically.
  • DNS is configured on each host (pointing to the lab DNS server).
  • Hostname set to FQDN.
  • SSL certificate regenerated on each host. The host certificate shows it was issued to the host FQDN.
  • NIC speed validation workaround applied if using non-10GbE NICs

VCF Installer Appliance

  • VCF Installer OVA deployed on the infra host.
  • VCF Installer VM has management network connectivity.
  • VCF offline bundle downloaded and staged in depot (if not using online mode).

What’s Next

With hardware ordered, a planning document complete, and every item in the checklist verified, you’re ready to deploy the VCF fleet. Part 5 of this series will cover the VCF Installer walkthrough in detail—launching the bring-up wizard, validating the pre-checks, and watching the management domain come to life.

And that’s it for this post. In the next post of this series, I will discuss the VCF offline depot setup!!!

I hope you enjoyed reading this post. Feel free to share this on social media if it is worth sharing.

Leave a Reply