Installing a Proxmox host

In this post we'll take a look at Proxmox and more specifically the Proxmox Virtual Environment (PVE). We'll install a PVE host, set up storage and networking, and create a virtual machine.

Hardware

The hardware used in this setup is a Supermicro host with 1 physical CPU and 64GB RAM. It has 4x1GbE ethernet ports and 2x25GbE SFP+ ports. The host have 1x960 GB NVMe disk which will be used as a boot disk, and 2x3.84 TB SSDs we'll use for ZFS storage.

Install PVE

After mounting the installer image and booting the host on it we'll go ahead with the PVE installation

For this post we'll choose the Graphical installer

Welcome screen

We'll read and accept the EULA

EULA

Select the Installer target disk

Target disk

Set timezone and location settings

Set timezone and location settings

Set Admin password and email

Admin password and email

Set Management network

Set management network details

Verify the Installer summary

Installer summary

The Installer has finished and are preparing to restart our host

Installer finished

Configure VLAN on management network

In my environment I want to have the PVE node management on a specific VLAN and such I have to add a VLAN tag to the network configuration before the host comes online

There's multiple ways of doing VLANs in a Linux based setup. In this case I'll just set a tag on the interface and not create a bridge which is what we'll use later on for VMs.

From the CLI we'll edit the /etc/network/interfaces file

Note! Ensure that you have a backup of the file before editing

I've commented out the settings which the installer set for us and added in my new config

Network settings

1auto eno1.171
2iface eno1.171 inet static
3    address 192.168.171.201/24
4    gateway 192.168.171.1

After saving the file we can go ahead and restart the networking stack and check our IP settings

1systemctl restart networking
2ip addr

Restart networking

With this we can verify that our interface now has a VLAN tag eno1.171 and it should be online.

PVE initial configuration

Host is online

Let's login to the host with our root user

We'll be greeted with a message stating that we don't have a valid subscription

Subscription message

Let's check out the Host summary page to get some information about our host

Host summary

Before creating a VM on this host we'll have to prepare a few things. First we'll set up a storage pool, secondly we'll need to prepare the networking.

Create Storage pool

We'll set up a ZFS pool consisting of our two SSD disks

Host hard disks

The pool will be configured with the two SSD disks in RAID1, or mirroring.

Create ZFS pool

ZFS pool created

Configure Networks

Now, let's take a look at the networking.

Host network cards

We've already covered the VLAN on our management network. But for VM traffic we would like to be able to support multiple VLANs. To do this we'll create a bridge.

Note! PVE also supports OVS (Open vSwitch). We will not use that in this setup.

We'll give the bridge a name, and we'll specify the physical interface(s) to connect this bridge to.

Create a Linux Bridge

For the change to take affect we'll hit the Apply configuration button

Apply network configuration

With that our bridge should be created

Bridge created

As we can see we now have a VLAN aware Linux bridge on our physical interface eno5.

More information about VLANs in Proxmox can be found in the documentation

Create VM

Last thing to do before creating our first VM is to upload a image

Upload ISO image

To create our VM we'll hit the Create VM button and follow the wizard. We'll mostly use the defaults, but we'll select the image to use, set the VLAN and choose the zfs pool for storage

Create VM wizard

Select iso image

System options

Storage options

CPU options

Memory options

Network options

Confirm settings

We'll start the VM and after a few seconds our Ubuntu installer should start

OS installer started

After stepping through the installer settings and waiting for the installation to finish we can verify that our VM has gotten an IP address from our DHCP server

IP address set

And we can verify the connectivity

VM can reach the network

Note that there's no firewall rules in place for outgoing traffic or for the traffic between the VLANs in use here. In a production environment proper measures should be taken

Summary

In this post we have seen how to install a Proxmox VE host, configure a VLAN on the management interface, and created a ZFS pool for VM storage. We've also created a Linux bridge for supporting VLANs on VMs and finally we created an Ubuntu VM to test our setup.

In an upcoming post we'll see how to create a cluster and how to set up replication of our ZFS pools.

Thanks for reading.

This page was modified on June 4, 2024: Added link to cluster post