ESXi VIB Backup and Recovery Guide

Overview

VIBs (vSphere Installation Bundles) are software packages that extend ESXi functionality. This guide covers backing up and restoring VIBs, particularly important for Intel NUCs with USB network adapters and other third-party drivers.

What Are VIBs?

VIB Types

  • VMware VIBs: Core ESXi components
  • Partner VIBs: Hardware vendor drivers
  • Community VIBs: Community-supported drivers
  • Custom VIBs: Your own packages

Common VIBs for Homelab

  • net-usb-nic-linux: USB network adapter support
  • net-e1000e: Intel network drivers
  • net-r8168: Realtek network drivers
  • sata-xahci: Additional SATA controller support

Backup Strategies

1. List Installed VIBs

# SSH to ESXi host
ssh root@esxi-host

# List all VIBs
esxcli software vib list

# List with details
esxcli software vib list -v

# Filter third-party VIBs
esxcli software vib list | grep -v VMware

2. Export VIB Information

# Export to file
esxcli software vib list > /vmfs/volumes/datastore1/vib-backup-$(date +%Y%m%d).txt

# Export software profile
esxcli software profile get > /vmfs/volumes/datastore1/profile-$(date +%Y%m%d).txt

3. Automated Backup Script

Use the provided script for comprehensive backup:

./scripts/backup-esxi-vibs.sh <esxi-host-ip>

This script backs up:

  • VIB lists and details
  • Software profiles
  • Host configuration
  • Network settings
  • Storage configuration

Manual VIB Backup

Locate VIB Files

# VIBs are typically stored in
ls /var/log/vmware/vua/
ls /bootbank/
ls /altbootbank/

# Find specific VIB files
find / -name "*.vib" 2>/dev/null

Copy VIB Files

# Create backup directory
mkdir -p /vmfs/volumes/datastore1/vib-backup

# Copy system VIBs (if accessible)
cp /bootbank/*.vib /vmfs/volumes/datastore1/vib-backup/ 2>/dev/null

# Download VIBs to local machine
scp root@esxi-host:/vmfs/volumes/datastore1/vib-backup/* ./local-backup/

Downloading Original VIBs

Intel NUC USB NIC Driver

  1. VMware Flings
  2. Extract VIB

    unzip ESXi80U3-VMKUSB-NIC-FLING-*.zip
    # VIB file will be in the extracted folder
    

Community Drivers

# V-Front Online Depot
# Contains community-maintained drivers
# Browse: https://vibsdepot.v-front.de

VIB Installation Methods

1. Install from File

# Basic installation
esxcli software vib install -v /path/to/driver.vib

# Force installation (bypass checks)
esxcli software vib install -v /path/to/driver.vib -f

# No signature check (community VIBs)
esxcli software vib install -v /path/to/driver.vib --no-sig-check

2. Install from ZIP Bundle

# Install from depot ZIP
esxcli software vib install -d /path/to/bundle.zip

# Update existing VIBs
esxcli software vib update -d /path/to/bundle.zip

3. Install from URL

# Direct URL installation
esxcli software vib install -v http://server/path/to/driver.vib

Recovery Procedures

After ESXi Reinstallation

  1. Boot ESXi (may have no network if USB NIC)
  2. Use local console to configure temporary management
  3. Install USB NIC driver:

    # From USB drive mounted at /vmfs/volumes/USB/
    esxcli software vib install -v /vmfs/volumes/USB/net-usb-nic.vib -f --no-sig-check
    
  4. Reboot to activate driver
  5. Configure network normally

Emergency Recovery

If network is unavailable:

  1. Mount USB drive with VIBs
  2. Use DCUI (Direct Console) to enable shell
  3. Install from local storage:

    cd /vmfs/volumes/
    ls  # Find USB volume
    esxcli software vib install -v ./USB-VOLUME/driver.vib
    

Best Practices

Regular Backups

  1. Before Updates: Always backup VIBs before ESXi updates
  2. Schedule: Monthly backup of VIB configuration
  3. Storage: Keep backups on:
    • Local datastore
    • Network storage (Synology)
    • External USB drive

Documentation

Maintain a record of:

  • Installed third-party VIBs
  • Download sources
  • Installation commands used
  • Any custom configurations

Testing

  1. Test recovery procedures periodically
  2. Verify VIB compatibility before updates
  3. Keep multiple versions of critical drivers

Troubleshooting

VIB Installation Failures

# Check for conflicts
esxcli software vib list | grep <package-name>

# Remove conflicting VIB
esxcli software vib remove -n <package-name>

# Check acceptance level
esxcli software acceptance get

# Set to CommunitySupported if needed
esxcli software acceptance set --level=CommunitySupported

Missing Dependencies

# List VIB dependencies
esxcli software vib get -n <vib-name>

# Install with dependencies
esxcli software vib install -d /path/to/bundle.zip

Verification

# Verify VIB installation
esxcli software vib get -n <vib-name>

# Check module loading
vmkload_mod -l | grep <module-name>

# Check driver binding
esxcli network nic list

Intel NUC Specific Notes

Required VIBs

  • USB Network Driver: Essential for network connectivity
  • Realtek Audio: Optional, for HDMI audio
  • Additional SATA: For some NUC models

Installation Order

  1. Install ESXi from custom ISO (includes drivers)
  2. Or install standard ESXi, then add drivers via DCUI
  3. Configure network after driver installation
  4. Install additional VIBs as needed

Backup Priority

Always backup:

  • USB NIC driver VIB file
  • Installation commands used
  • Network configuration

Script Usage

Backup Script

# Backup VIBs from ESXi host
./scripts/backup-esxi-vibs.sh 192.168.10.100

# Output location
~/backup/homelab/esxi-backups/<hostname>/<timestamp>/

Restore Process

  1. Copy backup to ESXi host
  2. Use provided restore script
  3. Reboot after installation

This comprehensive backup strategy ensures quick recovery of your ESXi hosts, particularly important for homelab environments using non-standard hardware.


This project is for educational and home lab purposes.