Hotplug (qemu disk,nic,cpu,memory)
Proxmox support hotplugging of qemu devices
- disks (hotplug/unplug)
- nics (hotplug/unplug)
- cpu (hotplug/unplug)
- memory (hotplug/unplug)
Linux Guests notes
kernel modules needed
you need to have 2 modules loaded in your linux guest
#modprobe acpiphp #modprobe pci_hotplug
cpu && memory hotplug
you need a recent kernel > 3.10
and a udev rules, to auto enable cpus or memory hotplugged
you can add a file:
/lib/udev/rules.d/80-hotplug-cpu-mem.rules
SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1" SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", ATTR{state}="online"
Windows Guests notes
- Disk and nic hotplug is working out of the box for all windows versions >2003 - cpu && memory hotplug is working on > 2008 enterprise/datacenter, 2012 > standard
Disk && Nic hotplug/unplug
edit your vm configuration file
/etc/pve/qemuserver/<VMID>.conf
and add
hotplug: network,disk,....
Note: Since proxmox 3.3, hotplug option is available in GUI.
Then add/remove your disk or nics as usual.
For disk unplug, verify that your disk is not mounted in your linux guest or disabled in windows disk management.
CPU hotplug
/etc/pve/qemuserver/<VMID>.conf
and add
cores: 2 sockets: 2 vcpus: 1 hotplug: cpu,...
You will start your vm with 1 cpu|cores, and you can hotplug later up to 4 cores. maxcpus = sockets * cores.
To hotplug a new vcpu (GUI not yet available in proxmox 3.4).
- qm set VMID -vcpus 3
This will hotplug 2 new vcpus, for a total of 3vcpus.
Note : windows cpu hotplug is working since qemu 2.6 cpu hot unplug is working since qemu 2.7
Memory hotplug
Memory hotplug is available in proxmox 3.4.
You need to enable numa and hotplug to get it working
numa: 1 hotplug: memory,...
Then you can use the memory GUI as usual.
- Memory unplug don't work windows currently (<=win10 currently) - Memory unplug can't be unstable on linux (<= kernel 4.8 currently)