Install Proxmox VE 7 on Hetzner root server

Posted on 232 views

This guide has been written to help Linux and Cloud users to install and configure Proxmox VE 7 on Hetzner root server. Root server in Hetzner Cloud is a dedicated server which is completely isolated from one another to give you full access and control to configure the server anyway you want without affecting other users. Hetzner Online GmbH provides auctions for dedicated server hardware at a very competitive rates with a monthly payment model. Visit Hetzner Server auction page to bid on servers and save money.

Proxmox Virtual Environment (VE) is a very powerful and enterprise-grade server virtualization software using Debian Linux as its base with a modified Linux kernel. With Proxmox you can run both Virtual Machines and Containers powered by KVM and LXC technologies respectively. The Proxmox VE source code is free, released under the GNU Affero General Public License, v3 (GNU AGPL, v3).

This guide is intended for personal Labs only. We’ll do a single node installation of Proxmox VE Server on Debian 11 (Bullseye) operating system. It comes with an integrated graphical user interface (GUI) for management, there is no need to install a separate management tool. For a multi-node Proxmox VE Cluster setup, visit the official Proxmox VE High Availability to read more if interested with the solution.

In this article, we shall perform installation of Proxmox VE 7 on a Hetzner root server with the following hardware specifications.

CPU: Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz (Cores 12)
Memory: 256GB RAM
Disk: 2 x 480GB SSD
Network: 1Gbit
IPV4 Addresses: 1 x IPV4 public address

When you order an hetzner root server, by default, you get a single IPv4 public IP address. If you need more public addresses, you’ll have to order separately.

Step 1 – Boot the Server in to Rescue Mode

Login to your Hetzner root server console and move Main functions > Servers > Server Label > Rescue section to boot your server in rescue mode.


From the page shown, select the Operating systemCPU Architecture, and public key or password and click on “Activate rescue system” to use activate rescue system.


After activating rescue system, the system has to be rebooted. This is done on Server > ServerName > Reset section in the console.


Step 2 – Create Root Server Configuration.

SSH to the server in rescue mode using root user and password shown during Rescue activation.

$ ssh [email protected]
 Welcome to the Hetzner Rescue System.
 This Rescue System is based on Debian 9 (stretch) with a newer
   kernel. You can install software as in a normal system.
 To install a new operating system from one of our prebuilt
   images, run 'installimage' and follow the instructions.
 More information at
 Rescue System up since 2021-12-03 21:01 +02:00

Hardware data:

   CPU1: Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz (Cores 12)
   Memory:  257653 MB
   Disk /dev/sda: 480 GB (=> 447 GiB) doesn't contain a valid partition table
   Disk /dev/sdb: 480 GB (=> 447 GiB) doesn't contain a valid partition table
   Total capacity 894 GiB with 2 Disks

Network data:
   eth0  LINK: yes
         MAC:  b4:2e:99:47:fa:5c
         IP:   xxxxxxxxxxxxxxxxxx
         IPv6: xxxxxxxxxxxxxxxxxx
         Intel(R) Gigabit Ethernet Network Driver
 [email protected] ~ # 

As seen from the output, the server we’re using has two disks @480GB. We’ll configure them in non-redundant RAID 0 configuration.

Disk /dev/sda: 480 GB (=> 447 GiB)
Disk /dev/sdb: 480 GB (=> 447 GiB)

Next we create our Hetzner server installer configuration file. We’ll name it debian-install-config.txt

vim install-config.txt

This is the data populated that will be used by the installimage to install Debian 11 (Bullseye) operating system from pre-built image.

DRIVE1 /dev/sda
DRIVE2 /dev/sdb
SWRAIDLEVEL 0 # Use 1 for Raid 1
HOSTNAME # Set correct hostname
PART /boot ext4 512M
PART lvm vg0 all

LV vg0 root / ext4 50G
LV vg0 swap swap swap 8G
LV vg0 var /var  ext4  300G

# List images with ls /root/.oldroot/nfs/install/../images
IMAGE /root/images/Debian-1101-bullseye-amd64-base.tar.gz

Configure your own partitioning scheme depending on storage hardware and usable space.

Step 3 – Install Debian 11 (Bullseye) on Hetzner root server

With correct installer configurations, initiate the installation process of Debian Linux on Hetzner root server by running the following command:

# installimage -a -c install-config.txt

Installation process will start immediately after command execution:

Found AUTOSETUP file '/autosetup'
Running unattended installimage installation ...

DRIVE1 /dev/sda
DRIVE2 /dev/sdb
SWRAIDLEVEL 0 # Use 1 for Raid 1
PART /boot ext3 512M
PART lvm vg0 all
LV vg0 root / ext4 50G
LV vg0 swap swap swap 8G
LV vg0 var /var  ext4  300G
IMAGE /root/.oldroot/nfs/install/../images/Debian-1101-bullseye-amd64-base.tar.gz

  Starting installation in 20 seconds ...
  Press X to continue immediately ...
  Installation will DELETE ALL DATA ON DISK(s)!
  Press CTRL-C to abort now!

The script will do disk preparation and Debian server installation for you. Just sit and relax as magic happens!

Hetzner Online GmbH - installimage

  Your server will be installed now, this will take some minutes
             You can abort at any time with CTRL+C ...

         :  Reading configuration                           done
         :  Loading image file variables                    done
         :  Loading debian specific functions               done
   1/17  :  Deleting partitions                             done
   2/17  :  Test partition size                             done
   3/17  :  Creating partitions and /etc/fstab              done
   4/17  :  Creating software RAID level 0                  done
   5/17  :  Creating LVM volumes                            done
   6/17  :  Formatting partitions
         :    formatting /dev/md/0 with ext4                done
         :    formatting /dev/vg0/root with ext4            done
         :    formatting /dev/vg0/swap with swap            done
         :    formatting /dev/vg0/var with ext4             done
   7/17  :  Mounting partitions                             done
   8/17  :  Sync time via ntp                               done
         :  Importing public key for image validation       done
   9/17  :  Validating image before starting extraction     done
  10/17  :  Extracting image (local)                        done
  11/17  :  Setting up network config                       done
  12/17  :  Executing additional commands
         :    Setting hostname                              done
         :    Generating new SSH keys                       done
         :    Generating mdadm config                       done
         :    Generating ramdisk                            done
         :    Generating ntp config                         done
  13/17  :  Setting up miscellaneous files                  done
  14/17  :  Configuring authentication
         :    Fetching SSH keys                             done
         :    Disabling root password                       done
         :    Disabling SSH root login without password     done
         :    Copying SSH keys                              done
  15/17  :  Installing bootloader grub                      done
  16/17  :  Running some debian specific functions          done
  17/17  :  Clearing log files                              done

   You can now reboot and log in to your new system with the
 same credentials that you used to log into the rescue system.

When installation is done, reboot to Debian 11 (Bullseye) environment.

# shutdown -r now

SSH to the server as root user with password or SSH Public key if set.

$ ssh [email protected]
Linux 5.13.19-2-pve #1 SMP PVE 5.13.19-4 (Mon, 29 Nov 2021 12:10:09 +0100) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

We can review our current system partitions on the server. If you used LVM and still have space in VG, you can adjust Logical Volumes capacity.

# lsblk
sda              8:0    0 447.1G  0 disk
├─sda1           8:1    0   512M  0 part
│ └─md0          9:0    0   511M  0 raid1 /boot
└─sda2           8:2    0 446.6G  0 part
  └─md1          9:1    0   893G  0 raid0
    ├─vg0-root 253:0    0    50G  0 lvm   /
    ├─vg0-swap 253:1    0     8G  0 lvm   [SWAP]
    └─vg0-var  253:2    0   300G  0 lvm   /var
sdb              8:16   0 447.1G  0 disk
├─sdb1           8:17   0   512M  0 part
│ └─md0          9:0    0   511M  0 raid1 /boot
└─sdb2           8:18   0 446.6G  0 part
  └─md1          9:1    0   893G  0 raid0
    ├─vg0-root 253:0    0    50G  0 lvm   /
    ├─vg0-swap 253:1    0     8G  0 lvm   [SWAP]
    └─vg0-var  253:2    0   300G  0 lvm   /var

# pvs
  PV         VG  Fmt  Attr PSize   PFree
  /dev/md1   vg0 lvm2 a--  893.00g 535.00g

# vgs
  VG  #PV #LV #SN Attr   VSize   VFree
  vg0   1   3   0 wz--n- 893.00g 535.00g

# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root vg0 -wi-ao----  50.00g
  swap vg0 -wi-ao----   8.00g
  var  vg0 -wi-ao---- 300.00g

See below example which adds extra 50GB to /dev/vg0/var Logical Volume

# lvextend -r -L +50G /dev/vg0/vg0

Confirm Debian successful installation by querying OS release info:

[email protected] ~ # cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION="11 (bullseye)"

Update and upgrade your Debian 11 (Bullseye) system

apt update
apt -y full-upgrade
apt install wget vim sudo bash-completion
[ -f /var/run/reboot-required ] && reboot -f

Step 4 – Install Proxmox VE 7 on Debian 11 (Bullseye)

Now that our Cloud server is ready, we can dive to the actual installation of Proxmox VE. Refer to our guide below to proceed with the setup.

To change Proxmox VE UI theme see guide below:


Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.