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 |
| Your server’s desired Fully Qualified Domain Name (FQDN). |
IP Address/CIDR |
| Provided by your server hosting company. |
Gateway |
| Provided by your server hosting company. |
Server IP |
| 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.
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
rootpassword provided.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_IPPerform 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-cliNext, execute the secure erase command on both drives (e.g.,
/dev/nvme0n1and/dev/nvme1n1).# EngineerHow.com nvme format /dev/nvme0n1 -s 1 nvme format /dev/nvme1n1 -s 1Finally, zap any leftover partition data:
# EngineerHow.com sgdisk --zap-all /dev/nvme0n1 sgdisk --zap-all /dev/nvme1n1 sync
Reboot Back into Rescue System (CRITICAL): This forces the server hardware to recognize the newly wiped state of the disks.
# EngineerHow.com rebootImportant: You must go back to your provider’s control panel, reactivate the Rescue System, and use the new password to log in again.
Final Check: After logging into the new rescue session, run
zpool import. The output must beno pools available. This confirms the wipe was successful.
Phase 2: Launch the Proxmox VE Installer
Download Proxmox ISO:
# EngineerHow.com wget https://enterprise.proxmox.com/iso/proxmox-ve_9.0-1.isoStart 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=netdev0Connect 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_IPIf you see a “HOST IDENTIFICATION HAS CHANGED” warning, run
ssh-keygen -R YOUR_SERVER_IPon 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.
Welcome & EULA: Click
Install Proxmox VEand agree to the terms.Target Harddisk: Click
Options.Filesystem: Select
ZFS (RAID1).hdsize: Enter450. 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.
Location/Timezone: Set as required.
Password/Email: Set a strong
rootpassword.Network: Carefully configure your management network using the details from the table at the top of this guide.
Summary: Review all settings. Crucially, uncheck
Automatically reboot after successful installation. ClickInstall.
Phase 4: Final Network Configuration
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.Mount Filesystem:
# EngineerHow.com zpool import -f -R /mnt rpoolNote: If this command says the pool already exists, that’s okay. The critical next step is to verify the mount.
Verify Mount: Check if you can see the files.
# EngineerHow.com ls /mnt/etc/networkIf this fails, manually mount the filesystem with
zfs mount rpool/ROOT/pve-1and verify again.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 aLook for the main physical interface (not
lo). The name will be something likeenp6s0,eth0, oreno1. Note this name down.Edit Network Config: Open the interfaces file.
# EngineerHow.com nano /mnt/etc/network/interfacesDelete 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_IPProvider Note: This
post-uproute configuration is a robust method for many providers with routed networks. However, some may require a simplergateway YOUR_GATEWAY_IPline instead. Always check your hosting provider’s documentation if you have issues.Fix Hostname: Ensure the correct FQDN is set.
# EngineerHow.com - Replace with your chosen hostname echo "pve.yourdomain.com" > /mnt/etc/hostnameUnmount and Reboot:
# EngineerHow.com cd / zpool export rpool reboot
Phase 5: First Login and System Updates
Access Web UI: Open
https://YOUR_SERVER_IP:8006in your browser.Login: Use
rootand the password you set.Configure Repositories:
In the UI, go to
Datacenter->your-node->Updates->Repositories.Disabletheenterprise.proxmox.comrepository.AddtheNo-Subscriptionrepository.Disabletheceph-squidrepository.
Run System Updates: In the Proxmox shell (via Web UI or SSH), run:
# EngineerHow.com apt update && apt dist-upgrade -yConclusion
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!
