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

A field-tested guide to validating compute, network, name resolution and time services before beginning a VMware Cloud Foundation bring-up.

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.

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 TypeVLANCIDRGatewayPurpose
VCF Management25610.252.1.0/2410.252.1.254ESXi Management network
VM Management8010.252.80.0/2410.252.80.254Infra Management VMs
VCF vMotion910.252.9.0/2410.252.9.254vMotion network
VCF vSAN1010.252.10.0/2410.252.10.254vSAN Network
ESX TEP9110.252.91.0/2410.252.91.254ESXi TEP Network
Edge TEP9210.252.92.0/2410.252.92.254Edge TEP Network

Transport Node TEP Details

Transport NodeCIDRIP PoolDescription
Mgmt Dom Host10.252.91.0/2410.252.91.220 – 10.252.91.240Mgmt Domain ESX TEP
Mgmt Dom Edge10.252.92.0/2410.252.92.209 – 10.252.92.224Mgmt Domain Edge TEP
WLD Dom Host10.252.91.0/2410.252.91.171 – 10.252.91.180WLD Domain ESX TEP
WLD Dom Edge10.252.92.0/2410.252.92.225 – 10.252.92.236WLD 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/FQDNIP AddressComponent
vcf910-installer.cmb1.thinkon.lab10.252.80.35VCF Installer
vcf910-vcsa.cmb1.thinkon.lab10.252.80.36vCenter Server
vcf910-nsx.cmb1.thinkon.lab10.252.80.37NSX VIP
vcf910-nsx01.cmb1.thinkon.lab10.252.80.38NSX Node01
vcf910-nsx02.cmb1.thinkon.lab10.252.80.39NSX Node02
vcf910-nsx03.cmb1.thinkon.lab10.252.80.40NSX Node03
vcf910-sddcm.cmb1.thinkon.lab10.252.80.41SDDC Manager
vcf910-fleetm.cmb1.thinkon.lab10.252.80.42Fleet Manager
vcf910-ops-clt.cmb1.thinkon.lab10.252.80.43VCF OPS Fleet Collector
vcf910-ops.cmb1.thinkon.lab10.252.80.44VCF OPS VIP
vcf910-ops01.cmb1.thinkon.lab10.252.80.45VCF Ops Mgr Node
vcf910-ops02.cmb1.thinkon.lab10.252.80.46VCF Ops Data Node
vcf910-ops03.cmb1.thinkon.lab10.252.80.47VCF Ops Replica Node
vcf910-lic-srv.cmb1.thinkon.lab10.252.80.51VCF License Server
vcf910-inst-mgr.cmb1.thinkon.lab10.252.80.52VCF Instance manager
vcf910-vidb.cmb1.thinkon.lab10.252.80.53VCF VIDB
vcf910-svc.cmb1.thinkon.lab10.252.80.54VCF Services Runtime FQDN
VCF VMSP Cluster10.252.80.160-10.252.80.179VCF 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/FQDNIP AddressComponent
vcf910-mgmt-edge01.cmb1.thinkon.lab10.252.80.48NSX Edge Node01
vcf910-mgmt-edge02.cmb1.thinkon.lab10.252.80.49NSX Edge Node02
vcf910-w01-vcsa.cmb1.thinkon.lab10.252.80.9WLD Dom VCSA
vcf910-w01-nsx.cmb1.thinkon.lab10.252.80.10WLD Dom NSX VIP
vcf910-w01-nsx01.cmb1.thinkon.lab10.252.80.55WLD Dom NSX Node01
vcf910-w01-nsx02.cmb1.thinkon.lab10.252.80.56WLD Dom NSX Node02
vcf910-w01-nsx03.cmb1.thinkon.lab10.252.80.57WLD Dom NSX Node03
vcf910-w01-edge01.cmb1.thinkon.lab10.252.80.13WLD Dom Edge Node01
vcf910-w01-edge02.cmb1.thinkon.lab10.252.80.14WLD Dom Edge Node02

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

Hostname/FQDNIP AddressComponent
vcf910-vcfa.cmb1.thinkon.lab10.252.80.140VCF Automation VIP
vcf910-vcfa-svc.cmb1.thinkon.lab10.252.80.141VCF Automation SVC Runtime
VCF Automation SVC10.252.80.200/29VCF Automation SVC Cluster Nodes
vcf910-avi.cmb1.thinkon.lab10.252.80.86Avi VIP
vcf910-avi01.cmb1.thinkon.lab10.252.80.87AVI Node 01
vcf910-avi02.cmb1.thinkon.lab10.252.80.88AVI Node 02
vcf910-avi03.cmb1.thinkon.lab10.252.80.89AVI Node 03
vcf910-dsm.cmb1.thinkon.lab10.252.80.21VCF Data Services Manager
vcf910-log.cmb1.thinkon.lab10.252.80.22VCF Log
vcf910-ni-platform.cmb1.thinkon.lab10.252.80.147Network Insight Platform
vcf910-ni-proxy.cmb1.thinkon.lab10.252.80.148Network 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!!!

Related Articles