If you enjoyed this article, you can support the author by becoming a sponsor on Boosty (link in the contacts section).
Proxmox VE is a powerful open-source virtualization platform that supports creating templates and using linked clones - lightweight clones based on a single base image. This significantly speeds up deploying new virtual machines and saves disk space. That said, it’s not suitable for use in a truly production infrastructure.
In this article you’ll learn how to:
- Create a template from a virtual machine.
- Set up linked clones.
- Automate deployment of new VMs based on templates.
Why Use Templates and Linked Clones?#
If you frequently create identical virtual machines (this also works for LXC containers) running Ubuntu, Debian, or other operating systems, using templates and linked clones will help you:
- Save disk space and time. Mostly time, honestly.
- Standardize deployment.
- Simplify CI/CD or DevOps infrastructure - if you actually need that.
Step 1. Preparing the Virtual Machine#
- Create a regular VM through the Proxmox web interface (or
the command line, if you're a misanthrope). - Install the OS you need (for example, Ubuntu Server).
- Install the base set of packages, configure networking, etc.
- Be sure to install qemu-guest-agent.
Step 2. Converting the VM into a Template#
- Shut down the virtual machine:
qm shutdown 100- Convert it into a template:
qm template 100Now VM 100 can no longer be started directly - it’s a template.
Step 3. Creating a Linked Clone#
A linked clone is a VM that uses a copy only for the changes it makes, while the base system lives in the template. This lets you:
- Create VMs instantly.
- Save disk space.
Creating a linked clone via the CLI (in the video I show how to do it through the GUI):
qm clone 100 200 --name ubuntu-clone --full 0Where 100 is the ID of the template VM, and 200 is the ID of the newly created VM. ubuntu-clone is the name of the new VM. --full 0 means it’s a linked clone.
After this, you can change the properties of the newly created VM.
When shouldn’t you use linked clones?
If the template is deleted, all linked clones will stop working. You can’t move a linked clone to a different storage without converting it into a full clone. Migration between nodes requires shared storage (for example, Ceph or NFS).
Conclusion#
Templates and linked clones in Proxmox are a great way to automate and speed up VM deployment. This is especially useful in test environments, DevOps scenarios, and when working with cloud images.
Links#
- Proxmox VE: Installation and Basic Configuration
- Automation with cloud-init in Proxmox
- LXC Containers in Proxmox VE: A Beginner’s Guide
Subscribe to stilicho2011 on YouTube for more videos on Proxmox and system administration!





