Proxmox placement audit

J.M. Field cluster, 7 nodes plus the E5-2470 v2 box. Data read live 2026-10-15 from pvesh: allocations, current use, swap, and 7-day CPU (average and peak, % of the VM's own vCPUs). First audit 2026-10-05; this is the update.

Bottom line

Node 1 is fixed. 122 aivqueue-3.216 moved off it (to node 7). Promised RAM went from 123 GB (98%) to 93 GB (74%), and it has 24 GB swap.

Node 7 is built and in the cluster (2x Gold 6142, 64 threads, 125 GB). It carries one VM so far, 122, and is the emptiest node.

Node 4 still has no swap. Checked on the host 2026-10-15: swapon shows nothing, no /swapfile, nothing in fstab. What was done earlier on node 4 was a ZFS cache cap (zfs_arc_max = 32 GB, in /etc/modprobe.d/zfs.conf) and vm.swappiness=20. Those help, but swappiness does nothing without a swap device.

Moved off node 4 tonight (2026-10-15): 134 pulse (LXC, 1 GB) to node 6, and 141 EnhancePanel-3.212 (12 GB) live to node 2 (same Broadwell CPU, no reboot). Node 4 went from 85 GB (77%) to 72 GB (65%) promised. ZFS cache cap then lowered from 32 to 16 GB (live and in initramfs). 72 GB of VMs plus 16 GB cache is 88 GB on a 110 GB host: 22 GB of headroom.

Nodes 5 and 6 have no swap either. Node 5 matters most: 179 GB promised on 251 GB, and it carries MariaDB-3.230 (96 GB), the VM a host OOM killed on 2026-10-02.

No RAM purchase is needed. RAM is still the only real constraint; CPU is idle across the cluster.

Nodes

NodeCPUGenThreadsRAMPromised to running VMs10-05SwapStatus
JMFPMX052x Gold 6334 3.6 GHzIce Lake32251 GB179 GB (71%)179 GB0No swap, holds MariaDB
JMFPMX062x Gold 6134 3.2 GHzSkylake32252 GB105 GB (42%)96 GB0Lots of room
JMFPMX012x Gold 6154 3.0 GHzSkylake72125 GB93 GB (74%)123 GB24 GBFixed
JMFPMX072x Gold 6142 2.6 GHzSkylake64125 GB78 GB (62%)not built8 GBNew, took 120 and 142
JMFPMX022x E5-2690 v4 2.6 GHzBroadwell56189 GB102 GB (54%)106 GB24 GBOK. Took 141 and 133, gave 120 and 142 to node 7
JMFPMX042x E5-2690 v4 2.6 GHzBroadwell56110 GB40 GB (36%)85 GB0Fixed by moves, still no swap
JMFPMX032x Silver 4110 2.1 GHzSkylake32126 GB54 GB (43%)54 GB24 GBOK, slowest
E5-2470 v2 boxE5-2470 v2 2.4 GHzIvy Bridge?188 GB00-Not in cluster

What is on each node now

NodeRunning VMs
1109 jmfsdc 8G, 110 sage-jmfacct 31G, 111 GrandeBay-Terminal 16G, 118 JMFDC2022 8G, 123 API-Server-3.244 21G, 138 JMFDC 8G
2112 jmfxups 12G, 113 jmfxfedex 12G, 114 FTP-Production 4G, 119 jmffs0.216 12G, 121 aivscripttesting3.202 18G, 141 EnhancePanel-3.212 12G, 133 AIV-3.234 32G
3115 BackupAdminsvr 13G, 137 Enhance-Backup-Server 8G, 139 callcenter 8G, 145 FreePBX-v17 8G, 147 JMFDC2 8G, 148 Exchange2019 8G, 150 uptime-kuma 1G
4126 aivscript-3.240 32G, 132 aivtpcserver-3.217 8G
5128 aivweb-3.2 32G, 129 pmg 4G, 130 MariaDB-3.230 96G, 151 jmfweb01 16G, 152 JMFAGENT 31G
6102 aivscriptv2027 16G, 104 aivdocker1 16G, 108 aivStoreFront 8G, 116 proxmox-backup 32G, 127 Roku-TVS-Ubuntu 8G, 134 pulse 1G, 136 aivqueue 16G, 153 jmf-listmonk 8G
7122 aivqueue-3.216 30G, 120 MySQL-Dev-Server-3.210 24G, 142 MySQL-Dev-2 24G

Live-migration groups

VMs set to cpu: host can only live-migrate between the same CPU generation. Otherwise they need a shutdown and cold start.

Who actually needs a fast CPU

Peak = busiest moment in 7 days, as % of the VM's vCPUs. Over ~60% means it really uses its cores at times. Read 2026-10-15.

VMNodevCPUAvgPeakVerdict
112 jmfxups2428.3%119%Busiest small VM. Keep on a modern node. Uses x86-64-v3, so never the 2470 box.
130 MariaDB-3.23051611.7%102%Right place. Fastest cores.
152 JMFAGENT5412.0%100%Sage RDS test host, now doing real work.
113 jmfxfedex2411.6%100%x86-64-v3, never the 2470 box.
148 Exchange20193219.7%99%Hybrid management only. Busier than 10-05; check what is using it.
123 API-Server-3.244183.0%96%Spiky (OP2 runs here). Keep on Skylake.
138 JMFDC1412.5%93%Primary DC. Keep where it is.
119 jmffs0.2162421.2%80%File server, Server 2008. Busy and out of support.
121 aivscripttesting3.2022211.2%58%Dev, but busy. OK on the 2470 box.
141 EnhancePanel-3.2122816.1%56%Moved here 2026-10-15.

Everything else peaks under 60%. Any of those would run fine on Silver or on the 2470 box.

Proposed moves

#VMFromToFreesStatus
1122 aivqueue-3.216 (30 GB)1730 GB on node 1Done. Went to node 7, not 6 as planned.
2134 pulse (1 GB), 141 EnhancePanel-3.212 (12 GB)46, 213 GB on node 4Done 2026-10-15. Pulse restarted (about 8 min down, see below); 141 live, no reboot.
3133 AIV-3.234 (32 GB, 1% avg, dev, Server 2012)4232 GB on node 4Done 2026-10-15, live, no reboot (46 min, 450 GB of disk). Disks keep cache=writeback on LVM-thin.
4120 MySQL-Dev-Server-3.210, 142 MySQL-Dev-2 (24 GB each, dev)2748 GB on node 2Done 2026-10-16, cold (Broadwell to Skylake). LVM-thin to ZFS goes through NFS-10G, since Proxmox cannot copy lvmthin to zfspool directly. Writeback removed on ZFS.
5121 aivscripttesting3.202, 111 GrandeBay-Terminal2, 12470 box34 GBOpen.
6136 aivqueue = 192.168.3.241, Dave's DBsbare metal6-Done 2026-10-06. Still on node 6; can live-move to 7 (both Skylake) if node 6 fills.

Swap on the three nodes without it

Nodes 4, 5 and 6 boot from ZFS. Swap on a ZFS zvol can deadlock under memory pressure, which is exactly when it is needed, so do not add it that way. Safer options, in order:

  1. The ZFS cache is already capped on all three (checked 2026-10-15): 16 GB on all three. Node 4 was 32 GB and was lowered to 16 GB on 2026-10-15 (backup of the old file: /root/zfs.conf.bak-20261015).
  2. Keep promised RAM plus the ZFS cap under the host's RAM. Node 4 today: 40 + 16 = 56 of 110 GB.
  3. If real swap is wanted, use a small partition or disk outside ZFS. That needs a free disk or a reinstall, so it is a planned job, not a quick fix.

Shrink, don't move

Backup audit (2026-10-16)

All jobs pick VMs by ID with no node filter, so a backup follows its VM to any node. Datastore DS001 is 82% full (29.2 of 35.4 TB).

Fixed: 109 jmfsdc, 110 sage-jmfacct and 113 jmfxfedex had no good backup from 10-06 to 10-16. Their disks were switched SATA to SCSI in the config on 10-06 but the VMs were never power-cycled, so every run failed with Device 'drive-scsi0' not found. Stopped and started 10-16 (VirtIO SCSI driver confirmed BOOT_START in Windows first), then backed up by hand. 110's run warned that Windows VSS timed out on the filesystem freeze (0x80042314): that copy is crash-consistent, not application-consistent. Check the next scheduled run.

Found during the 2026-10-15 moves

The E5-2470 v2 box: rules

No AVX2 (Ivy Bridge, 2013). Any VM using x86-64-v3 (112 jmfxups, 113 jmfxfedex) will not boot there. Any VM on cpu: host moved there must switch to x86-64-v2-AES first, and software inside it that needs AVX2 will then fail. Most notable: MongoDB 5+, some newer Docker images, RHEL 10 / Alma 10. Ubuntu, Windows Server, MySQL/MariaDB are fine.

DDR3 and high idle power. Expect 200 to 300 W at idle. Cost it against the RAM you are not buying.

Single generation group. Nothing live-migrates to or from it. Every move is a reboot.

Good for: dev and test VMs, idle legacy Windows, a second PBS target or replica. Not for: phones, DCs you depend on, MariaDB-3.230, anything client-facing.

Clean-up candidates (decide, then archive)

Stopped VMs cost no RAM, but they hold disk and some would cause an IP conflict if someone starts them.

VMNodeNote
127 MariaDB-3.230-DONOTPOWER3Gone. VMID 127 is now Roku-TVS-Ubuntu, running on node 6.
124 mailsvr-DONOTPOWER2Back up, then delete.
105 FTP-Retired, 106 Sage-Test-Box, 100 Sage20252Confirm with the Sage owner.
117 FreePBX-v16-Production2v17 (145) is live. Archive v16.
107 mariadbmonitor, 135 node3worker, 140 akaunting, 146 erpnext3Unused experiments?
103 RLDEV-Browsershot, 125 WebServer-3.2464Stopped since at least last week.
101 pdf-renderer6Stopped.
131 W11-Admin2Stopped. New on this list since 10-05.
990 migtest-9906Stopped. Migration test VM, delete when done.

End-of-life operating systems

What this audit did not check

First generated 2026-10-05. Updated 2026-10-16. Internal. Not indexed.