Welcome to EngineerHow.com! In this comprehensive guide, we’ll walk you through the complete process of installing Proxmox VE 9 on a dedicated server. We’ll cover everything from securely wiping the drives using advanced methods to configuring a robust ZFS RAID1 array and correctly setting up the network.

By the end of this tutorial, you’ll have a fully functional, updated, and accessible Proxmox host ready for your virtualization projects. This method uses a “Rescue System” or temporary Linux environment, which is a common practice for bare-metal installations provided by many hosting companies.

Server Configuration Overview

This guide uses example values for the network configuration. You will need to replace these with the actual details provided by your server hosting company.

Specification

Example Value

Notes / How to Find

Hostname

pve.yourdomain.com

Your server’s desired Fully Qualified Domain Name (FQDN).

IP Address/CIDR

198.51.100.5/24

Provided by your server hosting company.

Gateway

198.51.100.1

Provided by your server hosting company.

Server IP

198.51.100.5

The public IP address used to connect to your server.

Phase 1: Prepare the Server (NVMe Secure Erase Method)

Starting with a truly clean slate is the most critical step to avoid frustrating errors. We’ll use low-level hardware commands to guarantee the NVMe drives are factory-fresh.

  1. Boot into Rescue Mode: Log in to your server provider’s control panel, select your server, and activate the Linux-based rescue or recovery system. Note the root password provided.

  2. Connect via SSH: Use the provided password to connect to your server’s public IP address.

    # EngineerHow.com - Replace with your server's IP
    ssh root@YOUR_SERVER_IP
    
  3. Perform NVMe Secure Erse: This process will permanently destroy all data on the disks.

    • First, install the necessary tool:

      # EngineerHow.com
      apt-get update
      apt-get install -y nvme-cli
      
    • Next, execute the secure erase command on both drives (e.g., /dev/nvme0n1 and /dev/nvme1n1).

      # EngineerHow.com
      nvme format /dev/nvme0n1 -s 1
      nvme format /dev/nvme1n1 -s 1
      
    • Finally, zap any leftover partition data:

      # EngineerHow.com
      sgdisk --zap-all /dev/nvme0n1
      sgdisk --zap-all /dev/nvme1n1
      sync
      
  4. Reboot Back into Rescue System (CRITICAL): This forces the server hardware to recognize the newly wiped state of the disks.

    # EngineerHow.com
    reboot
    

    Important: You must go back to your provider’s control panel, reactivate the Rescue System, and use the new password to log in again.

  5. Final Check: After logging into the new rescue session, run zpool import. The output must be no pools available. This confirms the wipe was successful.

Phase 2: Launch the Proxmox VE Installer

  1. Download Proxmox ISO:

    # EngineerHow.com
    wget https://enterprise.proxmox.com/iso/proxmox-ve_9.0-1.iso
    
  2. Start the KVM Instance: This command launches a virtual machine for the installer.

    # EngineerHow.com
    qemu-system-x86_64 -enable-kvm -nodefaults \
    -cpu host -smp 2 -m 4096 \
    -boot d -cdrom proxmox-ve_9.0-1.iso \
    -drive file=/dev/nvme0n1,format=raw,if=virtio \
    -drive file=/dev/nvme1n1,format=raw,if=virtio \
    -bios /usr/share/OVMF/OVMF_CODE.fd \
    -vnc 127.0.0.1:0 -vga std \
    -netdev user,id=net0 -device e1000,netdev=netdev0
    
  3. Connect with a VNC Client:

    • On your local computer, open a terminal and create a secure SSH tunnel to the server.

      # EngineerHow.com - Replace with your server's IP
      ssh -L 5900:127.0.0.1:5900 root@YOUR_SERVER_IP
      
    • If you see a “HOST IDENTIFICATION HAS CHANGED” warning, run ssh-keygen -R YOUR_SERVER_IP on your local machine to fix it.

    • Open your favorite VNC client and connect to 127.0.0.1:5900.

Phase 3: The Proxmox Installation Wizard

In your VNC window, proceed through the graphical installer.

  1. Welcome & EULA: Click Install Proxmox VE and agree to the terms.

  2. Target Harddisk: Click Options.

    • Filesystem: Select ZFS (RAID1).

    • hdsize: Enter 450. This reserves space on the SSDs for over-provisioning, which is vital for long-term performance and endurance.

    • Ensure both drives are selected. Click OK.

  3. Location/Timezone: Set as required.

  4. Password/Email: Set a strong root password.

  5. Network: Carefully configure your management network using the details from the table at the top of this guide.

  6. Summary: Review all settings. Crucially, uncheck Automatically reboot after successful installation. Click Install.

Phase 4: Final Network Configuration

  1. Stop KVM: Once the installation is successful, go to your SSH terminal and press Ctrl+C. Your SSH session will disconnect; simply reconnect to the rescue system.

  2. Mount Filesystem:

    # EngineerHow.com
    zpool import -f -R /mnt rpool
    

    Note: If this command says the pool already exists, that’s okay. The critical next step is to verify the mount.

  3. Verify Mount: Check if you can see the files.

    # EngineerHow.com
    ls /mnt/etc/network
    

    If this fails, manually mount the filesystem with zfs mount rpool/ROOT/pve-1 and verify again.

  4. Discover Your Network Interface Name: Before editing, you must find the real name of your server’s network card. In the rescue system terminal, run:

    # EngineerHow.com
    ip a
    

    Look for the main physical interface (not lo). The name will be something like enp6s0, eth0, or eno1. Note this name down.

  5. Edit Network Config: Open the interfaces file.

    # EngineerHow.com
    nano /mnt/etc/network/interfaces
    

    Delete all content and replace it with the configuration below, making sure to replace the highlighted placeholder values with your own.

    # EngineerHow.com - Routed network configuration example
    auto lo
    iface lo inet loopback
    
    # IMPORTANT: Replace 'your_nic_name' with the name you found in the previous step
    auto your_nic_name
    iface your_nic_name inet manual
    
    auto vmbr0
    iface vmbr0 inet static
        # IMPORTANT: Replace with your server's IP Address and CIDR
        address YOUR_SERVER_IP/CIDR
        bridge-ports your_nic_name
        bridge-stp off
        bridge-fd 0
        # IMPORTANT: Replace with your server's Gateway IP
        post-up ip route add YOUR_GATEWAY_IP dev vmbr0
        post-up ip route add default via YOUR_GATEWAY_IP
    

    Provider Note: This post-up route configuration is a robust method for many providers with routed networks. However, some may require a simpler gateway YOUR_GATEWAY_IP line instead. Always check your hosting provider’s documentation if you have issues.

  6. Fix Hostname: Ensure the correct FQDN is set.

    # EngineerHow.com - Replace with your chosen hostname
    echo "pve.yourdomain.com" > /mnt/etc/hostname
    
  7. Unmount and Reboot:

    # EngineerHow.com
    cd /
    zpool export rpool
    reboot
    

Phase 5: First Login and System Updates

  1. Access Web UI: Open https://YOUR_SERVER_IP:8006 in your browser.

  2. Login: Use root and the password you set.

  3. Configure Repositories:

    • In the UI, go to Datacenter -> your-node -> Updates -> Repositories.

    • Disable the enterprise.proxmox.com repository.

    • Add the No-Subscription repository.

    • Disable the ceph-squid repository.

  4. Run System Updates: In the Proxmox shell (via Web UI or SSH), run:

    # EngineerHow.com
    apt update && apt dist-upgrade -y

    Conclusion

    That’s all there is to it. With one simple command and a quick repository adjustment, you’ve streamlined your Proxmox login experience while ensuring your system stays secure and up-to-date. This small tweak is one of the best quality-of-life improvements you can make for any homelab or testing environment.

    What other Proxmox tips do you rely on? Share your favorites in the comments below!

    🔗 Useful Links 📺 EngineerHow YouTube Channel 

    📢 About EngineerHow.com EngineerHow.com is dedicated to providing expert IT and engineering tutorials, helping professionals and enthusiasts set up servers, networks, and self-hosted solutions. Our guides focus on step-by-step instructions to make complex topics easy to understand. 🚀 Explore More IT Guides: EngineerHow.com

    💬 Join the Discussion! Have questions or insights? Drop a comment below and let’s discuss!