VM & Container Management
Quick Actions
- Start, stop, restart, shutdown (ACPI), force stop
- Suspend and resume
- Clone (full and linked clones)
- Delete with confirmation
- Bulk actions on multiple VMs/CTs
Bulk actions
Available from PegaProx 1.3
Select several guests (Bulk select) in any layout and run start, shut down, stop, reboot, snapshot or tags on all of them. Each guest is checked against your permissions on its own, and the result is shown per guest, so one refused guest does not stop the others.
On a node, you can start, stop or migrate all its guests at once.
Bulk migration runs on the server: one guest at a time, a few at once or all at once. It follows each guest, can be cancelled, and keeps running and reporting when you reload the page.
App containers from OCI images
Available from PegaProx 1.3, Proxmox VE 9.1 or newer
Under App Containers, a container can be created from an OCI image (Docker Hub or another registry): pick one from the small catalog or enter any image by its reference (registry/name:tag). The node pulls the image onto the chosen image storage, where it is reused for the next container from it, and creates the container with the root disk, memory, network and environment you set.
Proxmox VE treats application containers as a technology preview; try them before you rely on them. Only nodes running Proxmox VE 9.1 or newer are offered. Creating them needs the permission to create guests on a cluster where you are not limited to single pools or guests.
VM Configuration
Full VM configuration editing directly from PegaProx:
- CPU: cores, sockets, type, NUMA
- Memory: RAM, ballooning, minimum memory
- Disks: add, resize, detach, change bus type
- Network: add/edit NICs, VLAN tags, bridges, firewall
- Boot order, EFI disk, Secure Boot, TPM
- Cloud-Init configuration
- PCI/USB passthrough
- CD/DVD ISO management
Snapshots
- Create, restore, and delete snapshots
- Snapshot tree visualization
- Efficient LVM Snapshots: Space-efficient snapshots for VMs on shared/LVM storage (Proxmox normally does not support this)
- Bulk snapshot deletion across multiple VMs
Console Access
- noVNC: Browser-based VNC console for QEMU VMs
- xterm.js: Browser-based SSH terminal for LXC containers and nodes
- SPICE: Downloadable virt-viewer
.vvfor audio, USB and multi-monitor sessions - Own window: The header's pop-out button opens the console in a separate browser window, so several guests can be watched side by side. The link is a normal URL you can bookmark or share - it lands on the login screen first if you are not signed in, and the same permissions apply as everywhere else.
- WebSocket proxy handles authentication and connection tunneling
Affinity Rules
- Affinity: Keep specified VMs together on the same host
- Anti-Affinity: Keep specified VMs on separate hosts
- Works with both QEMU VMs and LXC containers
- Enforced during live migration and load balancing
Online Disk Resize
Expand VM disks while the VM is running. Guest OS detects the change automatically on Linux 4.x+ and Windows Server 2016+. Only growing is supported online - shrinking requires VM to be powered off.
Hot-Plug Devices
Add Disks
Attach new disks to any SCSI or VirtIO slot while running. All storage backends supported (local, NFS, Ceph, ZFS).
Remove Disks
Detach disks from a running VM. Warning shown if disk appears mounted inside the guest.
Modify NICs
Change bridge assignment, VLAN tag, model (VirtIO/e1000), and rate limiting on the fly.
CPU Affinity
Pin vCPUs to specific physical cores for latency-sensitive workloads. Example: affinity 4-7 pins vCPU 0-3 to physical cores 4, 5, 6, 7. Reduces cache misses and jitter.
VM Tags & Favorites
Tags
Add colored badges to VMs for organization (e.g. "production", "dev", "database"). Filter by tags in sidebar or global search.
Favorites
Star VMs to pin them to the top of your list. Per-user, persistent across sessions. Keyboard shortcut: F.
Global Search
Press Ctrl+K to search VM names, VMIDs, IPs, tags, and nodes across all clusters. Results filtered by RBAC permissions.
Guest Agent Integration
Install the QEMU Guest Agent for enhanced visibility and control:
| Feature | Without Agent | With Agent |
|---|---|---|
| IP Address Display | Not available | All interfaces shown in real time |
| Disk Usage | Not available | Per-filesystem usage with mount points |
| OS Information | Basic (from config) | Full OS name, kernel, hostname |
| Graceful Shutdown | ACPI signal only | Clean OS-level shutdown |
| Snapshot Consistency | Crash-consistent | Application-consistent (filesystem freeze/thaw) |
bash
# Debian/Ubuntu
sudo apt install -y qemu-guest-agent && sudo systemctl enable --now qemu-guest-agent
# RHEL/CentOS
sudo yum install -y qemu-guest-agent && sudo systemctl enable --now qemu-guest-agent
Extra CPU Flags & LXC detail info
A tri-state toggle panel in the VM Hardware tab exposes fine-grained control over CPU feature flags. Each flag cycles through three states:
- default - leave the flag unset
- +enabled - force the flag on
- −disabled - force the flag off
The selected state is spliced into the VM's cpu= string. The panel covers the standard Proxmox flag set:
pcid, spec-ctrl, ssbd, ibpb, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, hv-tlbflush, hv-evmcs, aes, md-clear
Warning
Changing a flag requires a VM restart to take effect.
Note
For nested virtualization, setting the CPU type to host already passes vmx/svm through. The discrete flags above are for finer control.
LXC detail info
LXC containers now show their OS type and IP address in the VM detail views.
Disk Operations
All VM-scoped endpoints take the form /api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/... where vm_type is qemu or lxc.
| Method | Endpoint | Description |
|---|---|---|
PUT |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/resize |
Resize disk (expand only) |
POST |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/disks |
Attach new virtual disk |
DELETE |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/disks/{disk_id} |
Detach and delete disk |
PUT |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/move-disk/{disk_id} |
Move disk to different storage |
Network Operations
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/networks |
Add NIC |
PUT |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/networks/{net_id} |
Modify NIC |
DELETE |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/networks/{net_id} |
Remove NIC |
PUT |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/networks/{net_id}/link |
Toggle link state |
Passthrough Devices
PCI Passthrough
GPUs, NICs, storage controllers. Requires IOMMU on host.
USB Passthrough
Individual devices or full controller. For dongles, security keys.
Resource mappings (from 1.3): PCI and USB devices can be attached through the cluster's resource mappings instead of a raw device address. Mappings also work on clusters connected with an API token. Attaching a raw device needs a root@pam connection (a Proxmox rule), and from 1.3 only an operator who is not limited to single pools or guests on that cluster may do it.
Serial Ports
Socket or pty types for OOB management or legacy apps.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/clusters/{id}/nodes/{node}/hardware/pci |
List available PCI devices |
GET |
/api/clusters/{id}/nodes/{node}/hardware/usb |
List available USB devices |
POST |
/api/clusters/{id}/vms/{node}/qemu/{vmid}/passthrough/pci |
Add PCI passthrough |
POST |
/api/clusters/{id}/vms/{node}/qemu/{vmid}/passthrough/usb |
Add USB passthrough |
Container features
From 1.3, a container's features (nesting, keyctl, fuse, mknod, NFS and CIFS mounts) can be changed after it was created, in the container's settings. Root-only flags need a whole-cluster operator.
VirtIO RNG
From 1.3, the VM hardware settings have a VirtIO RNG section: it gives the guest entropy from the host, so it does not wait for randomness while booting. Choose the source (/dev/urandom, /dev/random or /dev/hwrng), the limit in bytes per period and the period; PegaProx checks the values against what QEMU accepts before they reach Proxmox. /dev/hwrng needs a hardware RNG on every node the VM may run on. A running VM picks the change up after a restart.
Virtiofs and directory mappings
From 1.3, a host directory can be shared with VMs through virtiofs:
- Create a directory mapping in the cluster's datacenter settings: a name and, per node, the absolute path of the directory. Creating, changing and deleting mappings needs
cluster.configand an operator who is not limited to pools or guests. - In the VM's hardware settings, add a virtiofs share that uses the mapping, with its cache and ACL options.
The guest needs the virtiofs driver; Windows needs WinFsp and the virtio-win drivers. A VM with a virtiofs share cannot be live-migrated; the migrate dialog says so. Users limited to pools or single guests cannot give a VM a directory it does not already share.
Guest file read
Reading a file inside a VM through the guest agent needs the vm.config permission from 1.3 (it used to need only vm.view), because the agent reads as root inside the guest.
Per-VM Firewall
Each VM can have its own firewall policy independent of datacenter rules.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/firewall/rules |
List firewall rules |
POST |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/firewall/rules |
Create rule |
GET |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/firewall/aliases |
List aliases |
GET |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/firewall/ipsets |
List IP sets |
GET |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/firewall/options |
Firewall options |
GET |
/api/clusters/{id}/vms/{node}/{vm_type}/{vmid}/firewall/log |
Firewall log |
Efficient LVM Snapshots
Thin-provisioned LVM snapshots with instant creation and minimal overhead. Separate from Proxmox built-in snapshots.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/clusters/{id}/vms/{vmid}/efficient-snapshots |
List efficient snapshots |
POST |
/api/clusters/{id}/vms/{vmid}/efficient-snapshots |
Create LVM snapshot |
DELETE |
/api/clusters/{id}/vms/{vmid}/efficient-snapshots/{snap_id} |
Delete snapshot |
PUT |
/api/clusters/{id}/vms/{vmid}/efficient-snapshots/{snap_id} |
Rollback to snapshot |
GET |
/api/clusters/{id}/vms/{vmid}/snapshots/check-capability |
Check LVM snapshot support |
Global Search
Press Ctrl+K or / to search across all clusters. Indexes: VM names, VMIDs, IPs (from guest agent), tags, node names. Results grouped by cluster, filtered by RBAC permissions.
From 1.3 the search also finds guests by MAC address (separators and case do not matter), by IP addresses from their configuration and by text in their notes, and shows which field matched. Prefix filters narrow a search, for example mac:bc:24:11, ip:192.168, notes:backup, tag:web, node:pve1 or status:running.
Favorites
Star VMs via the star icon or F key. Per-user, persistent, pinned to top of VM list. From 1.3 favorites are stored on the server again and show as a Favorites group at the top of the sidebar in Modern and Corporate, with the usual right-click menu.
VM Tags
Custom colored badges for organization. Filter in sidebar or global search. Shared across all users with vm.view.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/clusters/{id}/tags |
List tags |
POST |
/api/clusters/{id}/tags |
Create tag |
DELETE |
/api/clusters/{id}/tags/{tag} |
Delete tag |
GET |
/api/user/favorites |
List favorites |
POST |
/api/user/favorites |
Add favorite |
DELETE |
/api/user/favorites/{vmid} |
Remove favorite |