Lab SeriesNetworkingStorageVCF 9
With the Arista DCS-7050TX-64-R fully configured for dual-site VCF 9 — VLANs, port-channels, SVIs, and BGP all in place — the next dependency before SDDC Manager deployment is shared storage. This post covers deploying a single Ubuntu NFS server on the R630-1 management host to serve both sites, and validating the end-to-end NFS path from ESXi.
Architecture overview
The design is deliberately simple: R630-1 runs ESXi 9 as its hypervisor, and a single Ubuntu 24.04 VM (nfs-server-01) runs on top of it with two vNICs — one on each site's NFS VLAN. Both Site 1 and Site 2 ESXi cluster hosts mount datastores from this single VM. The Arista switch handles inter-VLAN routing between the two NFS subnets via the Vlan1115 and Vlan1215 SVIs configured previously.
nfs-server-01) runs on top with two vNICs on VLAN 1115 (Site 1, 10.11.15.x) and VLAN 1215 (Site 2, 10.12.15.x). ESXi cluster hosts in each site mount NFS from the corresponding vNIC IP. The Arista switch provides inter-VLAN routing.
Network prerequisites
These were configured in the previous Arista post but are worth verifying before proceeding. The two NFS SVIs on the switch must be up before the Ubuntu VM can route to ESXi hosts.
| VLAN | Name | Subnet | Arista SVI IP | MTU | Purpose |
|---|---|---|---|---|---|
| 1115 | NFS-S1 | 10.11.15.0/24 | 10.11.15.1 | 9000 | Site 1 NFS traffic |
| 1215 | NFS-S2 | 10.12.15.0/24 | 10.12.15.1 | 9000 | Site 2 NFS traffic |
Verify from the switch:
show interface Vlan1115 show interface Vlan1215
Both should show line protocol is up (connected) once R630-1 is cabled into Et25–28 and the NFS VM vNICs are active.
R630-1 VM deployment
VM specification
| Parameter | Value | Notes |
|---|---|---|
| VM name | nfs-server-01 | |
| OS | Ubuntu Server 24.04 LTS | Minimal install |
| vCPU | 4 | NFS is I/O bound, not CPU bound |
| RAM | 16 GB | Allows generous read-ahead caching |
| OS disk | 60 GB thin | Local RAID on R630-1 H330 |
| Data disk | 1 TB+ thin | Backing store for all exports |
| vNIC 1 | VLAN 1115 port group | Site 1 NFS — 10.11.15.10/24 |
| vNIC 2 | VLAN 1215 port group | Site 2 NFS — 10.12.15.10/24 |
Ubuntu NFS server installation
Step 1 — Install the NFS kernel server
sudo apt update && sudo apt install -y nfs-kernel-server
Step 2 — Configure jumbo frames on both vNICs
Edit /etc/netplan/00-installer-config.yaml (adjust interface names to match your VM — check with ip link):
network:
version: 2
ethernets:
ens192:
addresses: [10.11.15.10/24]
routes:
- to: 10.11.0.0/16
via: 10.11.15.1
mtu: 9000
ens224:
addresses: [10.12.15.10/24]
routes:
- to: 10.12.0.0/16
via: 10.12.15.1
mtu: 9000
Apply the configuration:
sudo netplan apply ip link show ens192 | grep mtu ip link show ens224 | grep mtu
Both interfaces should show mtu 9000.
Step 3 — Create export directories
sudo mkdir -p /exports/vcf-s1-shared sudo mkdir -p /exports/vcf-s2-shared sudo mkdir -p /exports/vcf-backups sudo mkdir -p /exports/vcf-images sudo chmod 777 /exports/vcf-s1-shared /exports/vcf-s2-shared sudo chmod 777 /exports/vcf-backups sudo chmod 755 /exports/vcf-images
| Export path | Accessible from | Purpose | Mode |
|---|---|---|---|
| /exports/vcf-s1-shared | 10.11.15.0/24 | Site 1 VM datastore, shared VMDKs | rw |
| /exports/vcf-s2-shared | 10.12.15.0/24 | Site 2 VM datastore, shared VMDKs | rw |
| /exports/vcf-backups | Both subnets | SDDC Manager, NSX, vCenter backups | rw |
| /exports/vcf-images | Both subnets | ESXi ISOs, VCF bundle staging | ro |
Step 4 — Configure /etc/exports
sudo tee /etc/exports <<'EOF' /exports/vcf-s1-shared 10.11.15.0/24(rw,sync,no_subtree_check,no_root_squash,anonuid=0,anongid=0) /exports/vcf-s2-shared 10.12.15.0/24(rw,sync,no_subtree_check,no_root_squash,anonuid=0,anongid=0) /exports/vcf-backups 10.11.15.0/24(rw,sync,no_subtree_check,no_root_squash) 10.12.15.0/24(rw,sync,no_subtree_check,no_root_squash) /exports/vcf-images 10.11.15.0/24(ro,sync,no_subtree_check) 10.12.15.0/24(ro,sync,no_subtree_check) EOF
Step 5 — Apply exports and enable the service
sudo exportfs -arv sudo systemctl enable --now nfs-kernel-server sudo systemctl status nfs-kernel-server
Expected output from exportfs -arv:
exporting 10.11.15.0/24:/exports/vcf-s1-shared exporting 10.12.15.0/24:/exports/vcf-s2-shared exporting 10.11.15.0/24:/exports/vcf-backups exporting 10.12.15.0/24:/exports/vcf-backups exporting 10.11.15.0/24:/exports/vcf-images exporting 10.12.15.0/24:/exports/vcf-images
Step 6 — Firewall
Ubuntu 24.04 ships with ufw inactive by default. If you have enabled it:
sudo ufw allow from 10.11.15.0/24 to any port nfs sudo ufw allow from 10.12.15.0/24 to any port nfs sudo ufw reload
NFS version — why NFSv3 for VMware
Use NFSv3, not NFSv4. vSphere supports NFSv4.1 but NFSv3 is the standard choice for VCF lab environments for several reasons: no stateful locking complexity, simpler troubleshooting, full support for all VCF datastore operations, and no Kerberos dependency. Unless you specifically need NFSv4.1 features (pNFS, delegations), stick with v3.
Validation — end-to-end MTU test
Before mounting NFS from ESXi, validate that jumbo frames traverse the full path without fragmentation. Run from an ESXi host on the NFS VMkernel:
# From ESXi host SSH — VMkernel on VLAN 1115 vmkping -I vmk2 -d -s 8972 10.11.15.10
The -d flag sets the DF (don't fragment) bit. The payload size 8972 bytes + 28 bytes IP/ICMP header = 9000 bytes total. A successful result confirms end-to-end MTU 9000 with no fragmentation across: ESXi VMkernel → vSwitch → Arista trunk → SVI → NFS VM vNIC.
Mounting NFS from ESXi
Once validated, add the NFS datastore from vCenter — Datastores → New Datastore → NFS → NFSv3:
| Field | Site 1 value | Site 2 value |
|---|---|---|
| NFS server | 10.11.15.10 | 10.12.15.10 |
| NFS share | /exports/vcf-s1-shared | /exports/vcf-s2-shared |
| Datastore name | vcf-s1-nfs-shared | vcf-s2-nfs-shared |
| Access mode | Read/Write | Read/Write |
Or via ESXCLI if vCenter is not yet deployed:
# Site 1 host esxcli storage nfs add -H 10.11.15.10 -s /exports/vcf-s1-shared -v vcf-s1-nfs-shared # Site 2 host esxcli storage nfs add -H 10.12.15.10 -s /exports/vcf-s2-shared -v vcf-s2-nfs-shared
Verification commands — NFS server side
# Check what is currently exported and mounted sudo exportfs -v sudo showmount -e localhost # Check active NFS client connections sudo ss -tnp | grep :2049 # Check NFS server statistics nfsstat -s
What this enables for VCF 9
With NFS validated, SDDC Manager can now be pointed at the NFS datastores for:
- SDDC Manager backup repository (
/exports/vcf-backups) - vCenter appliance deployment staging
- NSX Manager configuration backups
- ESXi ISO and VCF bundle staging (
/exports/vcf-images) - Shared VM storage for management workloads
Next post
With switch config and NFS in place, the next post covers VCF 9 management domain deployment — running SDDC Manager, validating the host commission checklist, and working through the first real deployment error (there's always one).
nfs-server-01) is a VM on top of ESXi — not a bare-metal install. Cabled into Arista Et25–Et28 (trunk, VLAN 1111 native, all VCF VLANs allowed, MTU 9000).

No comments:
Post a Comment