Is ProxMox right for me?

DavidHeath

New Member
Sep 11, 2026
2
1
1
Hi. I've been tasked with selecting and implementing a virtualised training environment for my technical training team. After a cursory search, I discovered ProxMox, which I must admit I'd never heard of before.

Here's my intended use...

Up to 15 concurrent, lightly loaded Windows workstations (No AD required). Two or three of those will be server applications that connect via ethernet to external equipment using either UDP or TCP - the clients will connect to both the swervers and the equipment. VLAN implementations will likely also be required - a 24-port Gigabit switch will handle all external connections.

For a significant portion of the usage, the Windows machines will be accessed remotely from anywhere in the world (hopefully via either thin clients or the students' own machines), thus the need to burn and re-establish any machine remotely.

It would likely be that a trainer would spin up the teaching set prior to travel, but not always guaranteed.

After a training session, there is nothing in any Windows machine that would need to be preserved. The environment would be re-created from default images as new versions every time. How easy is it to edit a client virtualisation master image remotely?

Will ProxMox handle this (I assume so!).. what should I be thinking about?

Also, are there any sizing and specification documents that I could use to reference the appropriate configurations?


Sorry... so many questions!
 
A tool is what you make it.

Whilst Proxmox VE won't do what you want out of the box, you can certainly create template VMs and clone them off.

Given its linux under the hood, If you need to expand things, you can always use scripting to achieve more granular tasks than the default UI allows you to do. This could include wiping / deleting a number of VMs and respawning them from your template, changing VLAN etc etc.

The biggest expense these days is likely the RAM to run these - as obviously Windows has specific requirements for memory - but you may well be able to massage that into a more acceptable figure with ballooning.

If you have a system in mind, or already have the compute resources, you can download the Proxmox VE ISO for free - and learn by doing. The forum is always here - and there's a LOT of knowledge around to point you in the right direction if you get stuck. There's also a massive collection of guides and video tutorials available via your favourite search engine.

My suggestion - give it a go and see!
 
  • Like
Reactions: longer
By using a hook script, you can automatically perform a rollback only when the VM shuts down.

Code:
mkdir -p /var/lib/vz/snippets
cat << 'EOF' > /var/lib/vz/snippets/shutdown_rollback.sh
#!/bin/bash
if [ "$2" = "post-stop" ]; then
    (
        sleep 10
        /usr/sbin/qm rollback $1 $(/usr/sbin/qm listsnapshot $1 | awk '/current/{print p} {p=$2}')
    ) >/dev/null 2>&1 &
fi
EOF
chmod +x /var/lib/vz/snippets/shutdown_rollback.sh

## Configure the script on the virtual machine.

qm set <VMID> -hookscript local:snippets/shutdown_rollback.sh

## Set `qm` before taking a snapshot. Otherwise, the `qm` settings will be lost during a rollback.

qm snapshot <VMID> <snapshot_name>

If you want to enable automatic startup, you must configure it carefully; otherwise, you won't be able to shut down PVE itself. That is why you should start the VM manually.
With this approach, the administrator only needs to start the VM manually.

There are probably better ways to do this, but I don't think it's impossible to get it done with just these commands.
 
A tool is what you make it.

Whilst Proxmox VE won't do what you want out of the box, you can certainly create template VMs and clone them off.

Given its linux under the hood, If you need to expand things, you can always use scripting to achieve more granular tasks than the default UI allows you to do. This could include wiping / deleting a number of VMs and respawning them from your template, changing VLAN etc etc.

The biggest expense these days is likely the RAM to run these - as obviously Windows has specific requirements for memory - but you may well be able to massage that into a more acceptable figure with ballooning.

If you have a system in mind, or already have the compute resources, you can download the Proxmox VE ISO for free - and learn by doing. The forum is always here - and there's a LOT of knowledge around to point you in the right direction if you get stuck. There's also a massive collection of guides and video tutorials available via your favourite search engine.

My suggestion - give it a go and see!
Thanks. I'm currently stuck at home in a moon boot (partially torn achillies!) so I might have someone send me a machine to play with. Not much else to do..

I dabbled in Linux a long time ago, so it's not entirely foreign, Time to have some fun.
 
  • Like
Reactions: Johannes S
With the right tools, you can automate such environments quite easily. For example, use Ansible to spin up the VMs and tear them down again after the training.
With some additional work around that, you can make sure that each instance gets a different IP address on the network.

Rough outline:

  • Create a Windows VM as you need it for your training. Maybe even sysprep it? but that is a Wndows question
  • Convert to template (this instance cannot be started anymore!), note the VMID
  • Use automation tools like ansible to create linked clones quickly from the template VM (either via API or CLI on the host)
  • Use automation tools to stop and destroy VMs after the training is finished

Think about setting up a DHCP server with predefined reservations. You can easily set the MAC address of the virtual NICs after the clone task.
If you encode a student ID (1...X) in the MAC address (convert to HEX). This way, if the guest is configured to use DHCP, you can easily configure their network from the outside.

When you need to update your template, do a full clone of the current template to a new VM, prepare it, and once done, convert it to a template again and update the source VMID from which the clones are created in your automation tool.

If you need additional infrastructure and private networks, you can achieve all that, but things will get more involved.
We do our official trainings also virtualized on a Proxmox VE cluster and heavily use Ansible to prepare the training labs.
 
  • Like
Reactions: Johannes S