Riggen_HomeLab_PlanForIT_4 - itnett/FTD02H-N GitHub Wiki

Here is a step-by-step installation guide for setting up your Proxmox environment on your hardware, based on the plans we discussed earlier. This guide will walk you through the BIOS configuration, initial Proxmox installation, disk setup, and network configuration to optimize your lab environment.

1. BIOS Configuration:

  1. Enter BIOS Setup:

    • Power on your system and press the DEL key repeatedly to enter the BIOS setup screen.
  2. Enable UEFI Boot Mode:

    • Go to the Boot tab and set the boot mode to UEFI to ensure compatibility with modern operating systems like Proxmox.
  3. Configure M.2 Settings:

    • Navigate to Advanced > PCI Subsystem Settings.
    • Ensure the M.2 slot is set to PCIe mode (this is for your NVMe SSD).
  4. Set Boot Priority:

    • Go to Boot > Boot Priority Order and set the USB drive with the Proxmox ISO as the first boot device.
  5. Enable Virtualization:

    • Go to Advanced > CPU Configuration and enable Intel Virtualization Technology (VT-x) and Intel VT-d if available.
  6. Save Changes and Exit:

    • Press F10 to save and exit the BIOS.

2. Install Proxmox VE:

  1. Boot from USB:

    • Insert the USB drive containing the Proxmox VE ISO and boot from it. The system will start the Proxmox installer.
  2. Select Install Proxmox VE:

    • Choose Install Proxmox VE from the boot menu.
  3. Agree to the License Agreement:

    • Read and accept the license terms.
  4. Choose the Target Hard Disk:

    • Select your 1TB M.2 NVMe SSD for the installation.
    • Custom Partitioning:
      • Opt for Advanced Options during the installation to create custom partitions:
        • EFI Partition: 512 MiB
        • LVM Partition for Proxmox: Allocate 120 GiB to Proxmox installation.
        • L2ARC Cache: Create a 50 GiB partition for the L2ARC cache.
        • SLOG Partition: Create a 25 GiB partition for the SLOG.
        • Swap Partition: Allocate 16 GiB for swap space.
  5. Configure Network:

    • Set the management network interface (typically vmbr0):
      • IP Address: Assign a static IP (e.g., 192.168.0.100).
      • Gateway: Set your default gateway (e.g., 192.168.0.1).
      • DNS Server: Set the DNS server (e.g., 8.8.8.8).
  6. Complete Installation:

    • Set the root password and email address for administrative purposes.
    • Confirm installation and allow the system to complete.

3. Disk Configuration in Proxmox:

  1. Set Up ZFS Pools:

    • After installation, access the Proxmox web interface by navigating to https://<your-proxmox-ip>:8006.
  2. Create ZFS Pools for SSDs:

    • zpool_vm:
      • Use 2x 1.8 TB SSDs in a ZFS RAID1 (mirror) configuration for VM storage.
      • Allocate only 50% of each SSD for the zpool_vm to leave space for future uses.
    • zpool_image:
      • Use the 500 GB SSD as a ZFS pool dedicated for ISOs, templates, and backup images.
  3. Set Up L2ARC and SLOG:

    • Assign the L2ARC and SLOG partitions on the M.2 SSD to the ZFS pools:
      • zpool_vm → L2ARC: 50 GiB, SLOG: 25 GiB.
    • Configure these via the Proxmox command line or web interface under Datacenter > Storage.

4. Network Configuration:

  1. Set Up Network Bridges:

    • Use the Proxmox GUI or SSH to configure additional network bridges:
    • vmbr0:
      • Attached to the onboard Ethernet port, used for management and internet access (192.168.0.100/24).
    • vmbr1, vmbr2, vmbr3:
      • Use for pfSense WAN/LAN interfaces and other VLANs as per your lab requirements.
  2. Configure VLANs:

    • Use pfSense VMs to set up and manage VLANs, providing isolation and network segmentation.

5. Backup Configuration:

  1. Backup Proxmox to SATA Pool:

    • Create a simple backup script or use the Proxmox backup utility to periodically back up your Proxmox configuration to the 4TB SATA pool.
    • Store ISO images and templates also on the zpool_image.
  2. Create Bootable Backup:

    • Install a minimal Debian or Proxmox system on the 2x 4TB SATA drives. This allows for a backup bootable environment in case the M.2 SSD fails.

6. Optimize Proxmox Configuration:

  1. Memory and Swap Usage:

    • Ensure proper memory allocation settings in /etc/vz/vz.conf or using the Proxmox web GUI.
    • Enable swap usage on the M.2 SSD partition (16 GiB swap).
  2. Over-Provisioning of Memory:

    • Use Proxmox’s overcommit features to allocate more virtual memory than physically available, optimizing for your workloads.

7. Post-Installation Tasks:

  1. Update Proxmox:

    • Run apt update && apt full-upgrade to bring Proxmox and its components to the latest version.
  2. Install Additional Tools:

    • Add useful packages like iftop, htop, and zfsutils-linux.

Summary Table for Disk Partitioning:

Disk Usage Partition Size Purpose
M.2 NVMe 1TB EFI Partition 512 MiB Boot partition
LVM for Proxmox OS 120 GiB Proxmox installation
L2ARC Cache (zpool_vm) 50 GiB ZFS L2ARC for VM storage pool
SLOG (zpool_vm) 25 GiB ZFS SLOG for VM storage pool
Swap 16 GiB Swap space
Unpartitioned space ~788 GiB Reserved for future use or expansion
2x 1.8 TB SSD ZFS Pool (zpool_vm) 50% of each SSD Mirror for VM storage (RAID1)
500 GB SSD ZFS Pool (zpool_image) 500 GB Storage for ISO images, templates, backups

This configuration ensures maximum flexibility, performance, and future-proofing while making full use of your existing hardware. Follow these steps, and you'll have your Proxmox lab environment up and running with optimal settings.