OPTIONS
acpi: <boolean> (default = 1)
Enable/disable ACPI.
affinity: <string>
List of host cores used to execute guest processes, for
example: 0,5,8-11
agent: [enabled=]<1|0> [,freeze-fs-on-backup=<1|0>]
[,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]
Enable/disable communication with the QEMU Guest Agent
and its properties.
enabled=<boolean> (default = 0)
Enable/disable communication with a QEMU Guest Agent
(QGA) running in the VM.
freeze-fs-on-backup=<boolean> (default = 1)
Freeze/thaw guest filesystems on backup for
consistency.
fstrim_cloned_disks=<boolean> (default = 0)
Run fstrim after moving a disk or migrating the VM.
type=<isa | virtio> (default = virtio)
Select the agent type
arch: <aarch64 | x86_64>
Virtual processor architecture. Defaults to the
host.
args: <string>
Arbitrary arguments passed to kvm, for example:
args: -no-reboot -no-hpet
Note
this option is for experts only.
audio0: device=<ich9-intel-hda|intel-hda|AC97>
[,driver=<spice|none>]
Configure a audio device, useful in combination with
QXL/Spice.
device=<AC97 | ich9-intel-hda | intel-hda>
Configure an audio device.
driver=<none | spice> (default = spice)
Driver backend for the audio device.
autostart: <boolean> (default = 0)
Automatic restart after crash (currently ignored).
balloon: <integer> (0 - N)
Amount of target RAM for the VM in MiB. Using zero
disables the ballon driver.
bios: <ovmf | seabios> (default = seabios)
Select BIOS implementation.
boot: [[legacy=]<[acdn]{1,4}>]
[,order=<device[;device...]>]
Specify guest boot order. Use the
order=
sub-property as usage with no key or
legacy= is deprecated.
legacy=<[acdn]{1,4}> (default = cdn)
Boot on floppy (a), hard disk (c), CD-ROM (d), or network
(n). Deprecated, use order= instead.
order=<device[;device...]>
The guest will attempt to boot from devices in the order
they appear here.
Disks, optical drives and passed-through storage USB devices will
be directly booted from, NICs will load PXE, and PCIe devices will either
behave like disks (e.g. NVMe) or load an option ROM (e.g. RAID controller,
hardware NIC).
Note that only devices in this list will be marked as bootable and
thus loaded by the guest firmware (BIOS/UEFI). If you require multiple disks
for booting (e.g. software-raid), you need to specify all of them here.
Overrides the deprecated legacy=[acdn]* value when
given.
bootdisk: (ide|sata|scsi|virtio)\d+
Enable booting from specified disk. Deprecated: Use
boot: order=foo;bar instead.
cdrom: <volume>
This is an alias for option -scsi7
cicustom: [meta=<volume>] [,network=<volume>]
[,user=<volume>] [,vendor=<volume>]
cloud-init: Specify custom files to replace the
automatically generated ones at start.
meta=<volume>
Specify a custom file containing all meta data passed to
the VM via" ." cloud-init. This is provider specific meaning
configdrive2 and nocloud differ.
network=<volume>
To pass a custom file containing all network data to the
VM via cloud-init.
user=<volume>
To pass a custom file containing all user data to the VM
via cloud-init.
vendor=<volume>
To pass a custom file containing all vendor data to the
VM via cloud-init.
cipassword: <string>
cloud-init: Password to assign the user. Using this is
generally not recommended. Use ssh keys instead. Also note that older
cloud-init versions do not support hashed passwords.
citype: <configdrive2 | nocloud | opennebula>
Specifies the cloud-init configuration format. The
default depends on the configured operating system type (ostype. We use the
nocloud format for Linux, and configdrive2 for windows.
ciuser: <string>
cloud-init: User name to change ssh keys and password for
instead of the image’s configured default user.
cores: <integer> (1 - N) (default = 1)
The number of cores per socket.
cpu: [[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>]
[,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]
[,phys-bits=<8-64|host>] [,reported-model=<enum>]
Emulated CPU type.
cputype=<string> (default = kvm64)
Emulated CPU type. Can be default or custom name (custom
model names must be prefixed with custom-).
flags=<+FLAG[;-FLAG...]>
List of additional CPU flags separated by ;. Use
+FLAG to enable, -FLAG to disable a flag. Custom CPU models can
specify any flag supported by QEMU/KVM, VM-specific flags must be from the
following set for security reasons: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd,
amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes
hidden=<boolean> (default = 0)
Do not identify as a KVM virtual machine.
hv-vendor-id=<vendor-id>
The Hyper-V vendor ID. Some drivers or programs inside
Windows guests need a specific ID.
phys-bits=<8-64|host>
The physical memory address bits that are reported to the
guest OS. Should be smaller or equal to the host’s. Set to host
to use value from host CPU, but note that doing so will break live migration
to CPUs with other values.
reported-model=<486 | Broadwell | Broadwell-IBRS |
Broadwell-noTSX | Broadwell-noTSX-IBRS | Cascadelake-Server |
Cascadelake-Server-noTSX | Conroe | EPYC | EPYC-IBPB | EPYC-Milan |
EPYC-Rome | Haswell | Haswell-IBRS | Haswell-noTSX | Haswell-noTSX-IBRS |
Icelake-Client | Icelake-Client-noTSX | Icelake-Server |
Icelake-Server-noTSX | IvyBridge | IvyBridge-IBRS | KnightsMill | Nehalem |
Nehalem-IBRS | Opteron_G1 | Opteron_G2 | Opteron_G3 | Opteron_G4 |
Opteron_G5 | Penryn | SandyBridge | SandyBridge-IBRS | Skylake-Client |
Skylake-Client-IBRS | Skylake-Client-noTSX-IBRS | Skylake-Server |
Skylake-Server-IBRS | Skylake-Server-noTSX-IBRS | Westmere | Westmere-IBRS |
athlon | core2duo | coreduo | host | kvm32 | kvm64 | max | pentium |
pentium2 | pentium3 | phenom | qemu32 | qemu64> (default =
kvm64)
CPU model and vendor to report to the guest. Must be a
QEMU/KVM supported model. Only valid for custom CPU model definitions, default
models will always report themselves to the guest OS.
cpulimit: <number> (0 - 128) (default = 0)
Limit of CPU usage.
Note
If the computer has 2 CPUs, it has total of
2 CPU time. Value
0
indicates no CPU limit.
cpuunits: <integer> (1 - 262144) (default = cgroup
v1: 1024, cgroup v2: 100)
CPU weight for a VM. Argument is used in the kernel fair
scheduler. The larger the number is, the more CPU time this VM gets. Number is
relative to weights of all the other running VMs.
description: <string>
Description for the VM. Shown in the web-interface
VM’s summary. This is saved as comment inside the configuration
file.
efidisk0: [file=]<volume> [,efitype=<2m|4m>]
[,format=<enum>] [,pre-enrolled-keys=<1|0>]
[,size=<DiskSize>]
Configure a disk for storing EFI vars.
efitype=<2m | 4m> (default = 2m)
Size and type of the OVMF EFI vars. 4m is newer
and recommended, and required for Secure Boot. For backwards compatibility,
2m is used if not otherwise specified. Ignored for VMs with arch=aarc64
(ARM).
file=<volume>
The drive’s backing volume.
format=<cloop | cow | qcow | qcow2 | qed | raw | vmdk>
The drive’s backing file’s data
format.
pre-enrolled-keys=<boolean> (default = 0)
Use am EFI vars template with distribution-specific and
Microsoft Standard keys enrolled, if used with efitype=4m. Note that
this will enable Secure Boot by default, though it can still be turned off
from within the VM.
size=<DiskSize>
Disk size. This is purely informational and has no
effect.
freeze: <boolean>
Freeze CPU at startup (use c monitor command to
start execution).
hookscript: <string>
Script that will be executed during various steps in the
vms lifetime.
hostpci[n]: [host=]<HOSTPCIID[;HOSTPCIID2...]>
[,device-id=<hex id>] [,legacy-igd=<1|0>] [,mdev=<string>]
[,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>]
[,sub-device-id=<hex id>] [,sub-vendor-id=<hex id>]
[,vendor-id=<hex id>] [,x-vga=<1|0>]
Map host PCI devices into guest.
Note
This option allows direct access to host hardware. So it is no longer possible
to migrate such machines - use with special care.
Caution
Experimental! User reported problems with this option.
device-id=<hex id>
Override PCI device ID visible to guest
host=<HOSTPCIID[;HOSTPCIID2...]>
Host PCI device pass through. The PCI ID of a
host’s PCI device or a list of PCI virtual functions of the host.
HOSTPCIID syntax is:
bus:dev.func (hexadecimal numbers)
You can us the lspci command to list existing PCI
devices.
legacy-igd=<boolean> (default = 0)
Pass this device in legacy IGD mode, making it the
primary and exclusive graphics device in the VM. Requires pc-i440fx
machine type and VGA set to none.
mdev=<string>
The type of mediated device to use. An instance of this
type will be created on startup of the VM and will be cleaned up when the VM
stops.
pcie=<boolean> (default = 0)
Choose the PCI-express bus (needs the q35 machine
model).
rombar=<boolean> (default = 1)
Specify whether or not the device’s ROM will be
visible in the guest’s memory map.
romfile=<string>
Custom pci device rom filename (must be located in
/usr/share/kvm/).
sub-device-id=<hex id>
Override PCI subsystem device ID visible to guest
sub-vendor-id=<hex id>
Override PCI subsystem vendor ID visible to guest
vendor-id=<hex id>
Override PCI vendor ID visible to guest
x-vga=<boolean> (default = 0)
Enable vfio-vga device support.
hotplug: <string> (default = network,disk,usb)
Selectively enable hotplug features. This is a comma
separated list of hotplug features: network, disk, cpu,
memory, usb and cloudinit. Use 0 to disable
hotplug completely. Using 1 as value is an alias for the default
network,disk,usb. USB hotplugging is possible for guests with machine version
>= 7.1 and ostype l26 or windows > 7.
hugepages: <1024 | 2 | any>
Enable/disable hugepages memory.
ide[n]: [file=]<volume>
[,aio=<native|threads|io_uring>] [,backup=<1|0>]
[,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>]
[,bps_rd_max_length=<seconds>] [,bps_wr=<bps>]
[,bps_wr_max_length=<seconds>] [,cache=<enum>]
[,cyls=<integer>] [,detect_zeroes=<1|0>]
[,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>]
[,iops=<iops>] [,iops_max=<iops>]
[,iops_max_length=<seconds>] [,iops_rd=<iops>]
[,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>]
[,iops_wr=<iops>] [,iops_wr_max=<iops>]
[,iops_wr_max_length=<seconds>] [,mbps=<mbps>]
[,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>]
[,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>]
[,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>]
[,rerror=<ignore|report|stop>] [,secs=<integer>]
[,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>]
[,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>]
[,werror=<enum>] [,wwn=<wwn>]
Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
aio=<io_uring | native | threads>
AIO type to use.
backup=<boolean>
Whether the drive should be included when making
backups.
bps=<bps>
Maximum r/w speed in bytes per second.
bps_max_length=<seconds>
Maximum length of I/O bursts in seconds.
bps_rd=<bps>
Maximum read speed in bytes per second.
bps_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
bps_wr=<bps>
Maximum write speed in bytes per second.
bps_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
cache=<directsync | none | unsafe | writeback |
writethrough>
The drive’s cache mode
cyls=<integer>
Force the drive’s physical geometry to have a
specific cylinder count.
detect_zeroes=<boolean>
Controls whether to detect and try to optimize writes of
zeroes.
discard=<ignore | on>
Controls whether to pass discard/trim requests to the
underlying storage.
file=<volume>
The drive’s backing volume.
format=<cloop | cow | qcow | qcow2 | qed | raw | vmdk>
The drive’s backing file’s data
format.
heads=<integer>
Force the drive’s physical geometry to have a
specific head count.
iops=<iops>
Maximum r/w I/O in operations per second.
iops_max=<iops>
Maximum unthrottled r/w I/O pool in operations per
second.
iops_max_length=<seconds>
Maximum length of I/O bursts in seconds.
iops_rd=<iops>
Maximum read I/O in operations per second.
iops_rd_max=<iops>
Maximum unthrottled read I/O pool in operations per
second.
iops_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
iops_wr=<iops>
Maximum write I/O in operations per second.
iops_wr_max=<iops>
Maximum unthrottled write I/O pool in operations per
second.
iops_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
mbps=<mbps>
Maximum r/w speed in megabytes per second.
mbps_max=<mbps>
Maximum unthrottled r/w pool in megabytes per
second.
mbps_rd=<mbps>
Maximum read speed in megabytes per second.
mbps_rd_max=<mbps>
Maximum unthrottled read pool in megabytes per
second.
mbps_wr=<mbps>
Maximum write speed in megabytes per second.
mbps_wr_max=<mbps>
Maximum unthrottled write pool in megabytes per
second.
media=<cdrom | disk> (default = disk)
The drive’s media type.
model=<model>
The drive’s reported model name, url-encoded, up
to 40 bytes long.
replicate=<boolean> (default = 1)
Whether the drive should considered for replication
jobs.
rerror=<ignore | report | stop>
Read error action.
secs=<integer>
Force the drive’s physical geometry to have a
specific sector count.
serial=<serial>
The drive’s reported serial number, url-encoded,
up to 20 bytes long.
shared=<boolean> (default = 0)
Mark this locally-managed volume as available on all
nodes.
Warning
This option does not share the volume automatically, it assumes it is shared
already!
size=<DiskSize>
Disk size. This is purely informational and has no
effect.
snapshot=<boolean>
Controls qemu’s snapshot mode feature. If
activated, changes made to the disk are temporary and will be discarded when
the VM is shutdown.
ssd=<boolean>
Whether to expose this drive as an SSD, rather than a
rotational hard disk.
trans=<auto | lba | none>
Force disk geometry bios translation mode.
werror=<enospc | ignore | report | stop>
Write error action.
wwn=<wwn>
The drive’s worldwide name, encoded as 16 bytes
hex string, prefixed by 0x.
ipconfig[n]: [gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>]
[,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]
cloud-init: Specify IP addresses and gateways for the
corresponding interface.
IP addresses use CIDR notation, gateways are optional but need an
IP of the same type specified.
The special string dhcp can be used for IP addresses to use
DHCP, in which case no explicit gateway should be provided. For IPv6 the
special string auto can be used to use stateless autoconfiguration.
This requires cloud-init 19.4 or newer.
If cloud-init is enabled and neither an IPv4 nor an IPv6 address
is specified, it defaults to using dhcp on IPv4.
gw=<GatewayIPv4>
Default gateway for IPv4 traffic.
Note
Requires option(s): ip
gw6=<GatewayIPv6>
Default gateway for IPv6 traffic.
Note
Requires option(s): ip6
ip=<IPv4Format/CIDR> (default = dhcp)
IPv4 address in CIDR format.
ip6=<IPv6Format/CIDR> (default = dhcp)
IPv6 address in CIDR format.
ivshmem: size=<integer> [,name=<string>]
Inter-VM shared memory. Useful for direct communication
between VMs, or to the host.
name=<string>
The name of the file. Will be prefixed with
pve-shm-. Default is the VMID. Will be deleted when the VM is
stopped.
size=<integer> (1 - N)
The size of the file in MB.
keephugepages: <boolean> (default = 0)
Use together with hugepages. If enabled, hugepages will
not not be deleted after VM shutdown and can be used for subsequent
starts.
keyboard: <da | de | de-ch | en-gb | en-us | es | fi | fr |
fr-be | fr-ca | fr-ch | hu | is | it | ja | lt | mk | nl | no | pl | pt |
pt-br | sl | sv | tr>
Keyboard layout for VNC server. This option is generally
not required and is often better handled from within the guest OS.
kvm: <boolean> (default = 1)
Enable/disable KVM hardware virtualization.
localtime: <boolean>
Set the real time clock (RTC) to local time. This is
enabled by default if the ostype indicates a Microsoft Windows OS.
lock: <backup | block | clone | create | migrate | rollback |
snapshot | snapshot-delete | suspended | suspending>
Lock/unlock the VM.
machine:
(pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)
Specifies the QEMU machine type.
memory: <integer> (16 - N) (default = 512)
Amount of RAM for the VM in MiB. This is the maximum
available memory when you use the balloon device.
migrate_downtime: <number> (0 - N) (default =
0.1)
Set maximum tolerated downtime (in seconds) for
migrations.
migrate_speed: <integer> (0 - N) (default = 0)
Set maximum speed (in MB/s) for migrations. Value 0 is no
limit.
name: <string>
Set a name for the VM. Only used on the configuration web
interface.
nameserver: <string>
cloud-init: Sets DNS server IP address for a container.
Create will automatically use the setting from the host if neither
searchdomain nor nameserver are set.
net[n]: [model=]<enum> [,bridge=<bridge>]
[,firewall=<1|0>] [,link_down=<1|0>]
[,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>]
[,queues=<integer>] [,rate=<number>] [,tag=<integer>]
[,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]
Specify network devices.
bridge=<bridge>
Bridge to attach the network device to. The Proxmox VE
standard bridge is called
vmbr0.
If you do not specify a bridge, we create a kvm user (NATed)
network device, which provides DHCP and DNS services. The following
addresses are used:
10.0.2.2 Gateway
10.0.2.3 DNS Server
10.0.2.4 SMB Server
The DHCP server assign addresses to the guest starting from
10.0.2.15.
firewall=<boolean>
Whether this interface should be protected by the
firewall.
link_down=<boolean>
Whether this interface should be disconnected (like
pulling the plug).
macaddr=<XX:XX:XX:XX:XX:XX>
A common MAC address with the I/G (Individual/Group) bit
not set.
model=<e1000 | e1000-82540em | e1000-82544gc | e1000-82545em |
e1000e | i82551 | i82557b | i82559er | ne2k_isa | ne2k_pci | pcnet | rtl8139
| virtio | vmxnet3>
Network Card Model. The virtio model provides the
best performance with very low CPU overhead. If your guest does not support
this driver, it is usually best to use e1000.
mtu=<integer> (1 - 65520)
Force MTU, for VirtIO only. Set to 1 to use the
bridge MTU
queues=<integer> (0 - 64)
Number of packet queues to be used on the device.
rate=<number> (0 - N)
Rate limit in mbps (megabytes per second) as floating
point number.
tag=<integer> (1 - 4094)
VLAN tag to apply to packets on this interface.
trunks=<vlanid[;vlanid...]>
VLAN trunks to pass through this interface.
numa: <boolean> (default = 0)
Enable/disable NUMA.
numa[n]: cpus=<id[-id];...> [,hostnodes=<id[-id];...>]
[,memory=<number>] [,policy=<preferred|bind|interleave>]
NUMA topology.
cpus=<id[-id];...>
CPUs accessing this NUMA node.
hostnodes=<id[-id];...>
Host NUMA nodes to use.
memory=<number>
Amount of memory this NUMA node provides.
policy=<bind | interleave | preferred>
NUMA allocation policy.
onboot: <boolean> (default = 0)
Specifies whether a VM will be started during system
bootup.
ostype: <l24 | l26 | other | solaris | w2k | w2k3 | w2k8 |
win10 | win11 | win7 | win8 | wvista | wxp>
Specify guest operating system. This is used to enable
special optimization/features for specific operating systems:
| other |
unspecified OS |
| wxp |
Microsoft Windows XP |
| w2k |
Microsoft Windows 2000 |
| w2k3 |
Microsoft Windows 2003 |
| w2k8 |
Microsoft Windows 2008 |
| wvista |
Microsoft Windows Vista |
| win7 |
Microsoft Windows 7 |
| win8 |
Microsoft Windows 8/2012/2012r2 |
| win10 |
Microsoft Windows 10/2016/2019 |
| win11 |
Microsoft Windows 11/2022 |
| l24 |
Linux 2.4 Kernel |
| l26 |
Linux 2.6 - 6.X Kernel |
| solaris |
Solaris/OpenSolaris/OpenIndiania
kernel |
parallel[n]: /dev/parport\d+|/dev/usb/lp\d+
Map host parallel devices (n is 0 to 2).
Note
This option allows direct access to host hardware. So it is no longer possible
to migrate such machines - use with special care.
Caution
Experimental! User reported problems with this option.
protection: <boolean> (default = 0)
Sets the protection flag of the VM. This will disable the
remove VM and remove disk operations.
reboot: <boolean> (default = 1)
Allow reboot. If set to 0 the VM exit on
reboot.
rng0: [source=]</dev/urandom|/dev/random|/dev/hwrng>
[,max_bytes=<integer>] [,period=<integer>]
Configure a VirtIO-based Random Number Generator.
max_bytes=<integer> (default = 1024)
Maximum bytes of entropy allowed to get injected into the
guest every period milliseconds. Prefer a lower value when using
/dev/random as source. Use 0 to disable limiting (potentially
dangerous!).
period=<integer> (default = 1000)
Every period milliseconds the entropy-injection
quota is reset, allowing the guest to retrieve another max_bytes of
entropy.
source=</dev/hwrng | /dev/random | /dev/urandom>
The file on the host to gather entropy from. In most
cases /dev/urandom should be preferred over /dev/random to avoid
entropy-starvation issues on the host. Using urandom does not decrease
security in any meaningful way, as it’s still seeded from real entropy,
and the bytes provided will most likely be mixed with real entropy on the
guest as well. /dev/hwrng can be used to pass through a hardware RNG
from the host.
sata[n]: [file=]<volume>
[,aio=<native|threads|io_uring>] [,backup=<1|0>]
[,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>]
[,bps_rd_max_length=<seconds>] [,bps_wr=<bps>]
[,bps_wr_max_length=<seconds>] [,cache=<enum>]
[,cyls=<integer>] [,detect_zeroes=<1|0>]
[,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>]
[,iops=<iops>] [,iops_max=<iops>]
[,iops_max_length=<seconds>] [,iops_rd=<iops>]
[,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>]
[,iops_wr=<iops>] [,iops_wr_max=<iops>]
[,iops_wr_max_length=<seconds>] [,mbps=<mbps>]
[,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>]
[,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>]
[,media=<cdrom|disk>] [,replicate=<1|0>]
[,rerror=<ignore|report|stop>] [,secs=<integer>]
[,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>]
[,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>]
[,werror=<enum>] [,wwn=<wwn>]
Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
aio=<io_uring | native | threads>
AIO type to use.
backup=<boolean>
Whether the drive should be included when making
backups.
bps=<bps>
Maximum r/w speed in bytes per second.
bps_max_length=<seconds>
Maximum length of I/O bursts in seconds.
bps_rd=<bps>
Maximum read speed in bytes per second.
bps_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
bps_wr=<bps>
Maximum write speed in bytes per second.
bps_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
cache=<directsync | none | unsafe | writeback |
writethrough>
The drive’s cache mode
cyls=<integer>
Force the drive’s physical geometry to have a
specific cylinder count.
detect_zeroes=<boolean>
Controls whether to detect and try to optimize writes of
zeroes.
discard=<ignore | on>
Controls whether to pass discard/trim requests to the
underlying storage.
file=<volume>
The drive’s backing volume.
format=<cloop | cow | qcow | qcow2 | qed | raw | vmdk>
The drive’s backing file’s data
format.
heads=<integer>
Force the drive’s physical geometry to have a
specific head count.
iops=<iops>
Maximum r/w I/O in operations per second.
iops_max=<iops>
Maximum unthrottled r/w I/O pool in operations per
second.
iops_max_length=<seconds>
Maximum length of I/O bursts in seconds.
iops_rd=<iops>
Maximum read I/O in operations per second.
iops_rd_max=<iops>
Maximum unthrottled read I/O pool in operations per
second.
iops_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
iops_wr=<iops>
Maximum write I/O in operations per second.
iops_wr_max=<iops>
Maximum unthrottled write I/O pool in operations per
second.
iops_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
mbps=<mbps>
Maximum r/w speed in megabytes per second.
mbps_max=<mbps>
Maximum unthrottled r/w pool in megabytes per
second.
mbps_rd=<mbps>
Maximum read speed in megabytes per second.
mbps_rd_max=<mbps>
Maximum unthrottled read pool in megabytes per
second.
mbps_wr=<mbps>
Maximum write speed in megabytes per second.
mbps_wr_max=<mbps>
Maximum unthrottled write pool in megabytes per
second.
media=<cdrom | disk> (default = disk)
The drive’s media type.
replicate=<boolean> (default = 1)
Whether the drive should considered for replication
jobs.
rerror=<ignore | report | stop>
Read error action.
secs=<integer>
Force the drive’s physical geometry to have a
specific sector count.
serial=<serial>
The drive’s reported serial number, url-encoded,
up to 20 bytes long.
shared=<boolean> (default = 0)
Mark this locally-managed volume as available on all
nodes.
Warning
This option does not share the volume automatically, it assumes it is shared
already!
size=<DiskSize>
Disk size. This is purely informational and has no
effect.
snapshot=<boolean>
Controls qemu’s snapshot mode feature. If
activated, changes made to the disk are temporary and will be discarded when
the VM is shutdown.
ssd=<boolean>
Whether to expose this drive as an SSD, rather than a
rotational hard disk.
trans=<auto | lba | none>
Force disk geometry bios translation mode.
werror=<enospc | ignore | report | stop>
Write error action.
wwn=<wwn>
The drive’s worldwide name, encoded as 16 bytes
hex string, prefixed by 0x.
scsi[n]: [file=]<volume>
[,aio=<native|threads|io_uring>] [,backup=<1|0>]
[,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>]
[,bps_rd_max_length=<seconds>] [,bps_wr=<bps>]
[,bps_wr_max_length=<seconds>] [,cache=<enum>]
[,cyls=<integer>] [,detect_zeroes=<1|0>]
[,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>]
[,iops=<iops>] [,iops_max=<iops>]
[,iops_max_length=<seconds>] [,iops_rd=<iops>]
[,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>]
[,iops_wr=<iops>] [,iops_wr_max=<iops>]
[,iops_wr_max_length=<seconds>] [,iothread=<1|0>]
[,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>]
[,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>]
[,mbps_wr_max=<mbps>] [,media=<cdrom|disk>]
[,queues=<integer>] [,replicate=<1|0>]
[,rerror=<ignore|report|stop>] [,ro=<1|0>]
[,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>]
[,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>]
[,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]
[,wwn=<wwn>]
Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
aio=<io_uring | native | threads>
AIO type to use.
backup=<boolean>
Whether the drive should be included when making
backups.
bps=<bps>
Maximum r/w speed in bytes per second.
bps_max_length=<seconds>
Maximum length of I/O bursts in seconds.
bps_rd=<bps>
Maximum read speed in bytes per second.
bps_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
bps_wr=<bps>
Maximum write speed in bytes per second.
bps_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
cache=<directsync | none | unsafe | writeback |
writethrough>
The drive’s cache mode
cyls=<integer>
Force the drive’s physical geometry to have a
specific cylinder count.
detect_zeroes=<boolean>
Controls whether to detect and try to optimize writes of
zeroes.
discard=<ignore | on>
Controls whether to pass discard/trim requests to the
underlying storage.
file=<volume>
The drive’s backing volume.
format=<cloop | cow | qcow | qcow2 | qed | raw | vmdk>
The drive’s backing file’s data
format.
heads=<integer>
Force the drive’s physical geometry to have a
specific head count.
iops=<iops>
Maximum r/w I/O in operations per second.
iops_max=<iops>
Maximum unthrottled r/w I/O pool in operations per
second.
iops_max_length=<seconds>
Maximum length of I/O bursts in seconds.
iops_rd=<iops>
Maximum read I/O in operations per second.
iops_rd_max=<iops>
Maximum unthrottled read I/O pool in operations per
second.
iops_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
iops_wr=<iops>
Maximum write I/O in operations per second.
iops_wr_max=<iops>
Maximum unthrottled write I/O pool in operations per
second.
iops_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
iothread=<boolean>
Whether to use iothreads for this drive
mbps=<mbps>
Maximum r/w speed in megabytes per second.
mbps_max=<mbps>
Maximum unthrottled r/w pool in megabytes per
second.
mbps_rd=<mbps>
Maximum read speed in megabytes per second.
mbps_rd_max=<mbps>
Maximum unthrottled read pool in megabytes per
second.
mbps_wr=<mbps>
Maximum write speed in megabytes per second.
mbps_wr_max=<mbps>
Maximum unthrottled write pool in megabytes per
second.
media=<cdrom | disk> (default = disk)
The drive’s media type.
queues=<integer> (2 - N)
Number of queues.
replicate=<boolean> (default = 1)
Whether the drive should considered for replication
jobs.
rerror=<ignore | report | stop>
Read error action.
ro=<boolean>
Whether the drive is read-only.
scsiblock=<boolean> (default = 0)
whether to use scsi-block for full passthrough of host
block device
Warning
can lead to I/O errors in combination with low memory or high memory
fragmentation on host
secs=<integer>
Force the drive’s physical geometry to have a
specific sector count.
serial=<serial>
The drive’s reported serial number, url-encoded,
up to 20 bytes long.
shared=<boolean> (default = 0)
Mark this locally-managed volume as available on all
nodes.
Warning
This option does not share the volume automatically, it assumes it is shared
already!
size=<DiskSize>
Disk size. This is purely informational and has no
effect.
snapshot=<boolean>
Controls qemu’s snapshot mode feature. If
activated, changes made to the disk are temporary and will be discarded when
the VM is shutdown.
ssd=<boolean>
Whether to expose this drive as an SSD, rather than a
rotational hard disk.
trans=<auto | lba | none>
Force disk geometry bios translation mode.
werror=<enospc | ignore | report | stop>
Write error action.
wwn=<wwn>
The drive’s worldwide name, encoded as 16 bytes
hex string, prefixed by 0x.
scsihw: <lsi | lsi53c810 | megasas | megasas-gen2 | mptsas1068
| pvscsi | virtio-scsi-pci | virtio-scsi-single> (default =
lsi)
SCSI controller model
searchdomain: <string>
cloud-init: Sets DNS search domains for a container.
Create will automatically use the setting from the host if neither
searchdomain nor nameserver are set.
serial[n]: (/dev/.+|socket)
Create a serial device inside the VM (n is 0 to 3), and
pass through a host serial device (i.e. /dev/ttyS0), or create a unix socket
on the host side (use
qm terminal to open a terminal connection).
Note
If you pass through a host serial device, it is no longer possible to migrate
such machines - use with special care.
Caution
Experimental! User reported problems with this option.
shares: <integer> (0 - 50000) (default = 1000)
Amount of memory shares for auto-ballooning. The larger
the number is, the more memory this VM gets. Number is relative to weights of
all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is
done by pvestatd.
smbios1: [base64=<1|0>] [,family=<Base64 encoded
string>] [,manufacturer=<Base64 encoded string>]
[,product=<Base64 encoded string>] [,serial=<Base64 encoded
string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>]
[,version=<Base64 encoded string>]
Specify SMBIOS type 1 fields.
base64=<boolean>
Flag to indicate that the SMBIOS values are base64
encoded
family=<Base64 encoded string>
Set SMBIOS1 family string.
manufacturer=<Base64 encoded string>
Set SMBIOS1 manufacturer.
product=<Base64 encoded string>
Set SMBIOS1 product ID.
serial=<Base64 encoded string>
Set SMBIOS1 serial number.
sku=<Base64 encoded string>
Set SMBIOS1 SKU string.
uuid=<UUID>
Set SMBIOS1 UUID.
version=<Base64 encoded string>
Set SMBIOS1 version.
smp: <integer> (1 - N) (default = 1)
The number of CPUs. Please use option -sockets
instead.
sockets: <integer> (1 - N) (default = 1)
The number of CPU sockets.
spice_enhancements: [foldersharing=<1|0>]
[,videostreaming=<off|all|filter>]
Configure additional enhancements for SPICE.
foldersharing=<boolean> (default = 0)
Enable folder sharing via SPICE. Needs Spice-WebDAV
daemon installed in the VM.
videostreaming=<all | filter | off> (default =
off)
Enable video streaming. Uses compression for detected
video streams.
sshkeys: <string>
cloud-init: Setup public SSH keys (one key per line,
OpenSSH format).
startdate: (now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS) (default
= now)
Set the initial date of the real time clock. Valid format
for date are:'now' or 2006-06-17T16:01:21 or 2006-06-17.
startup: `[[order=]\d+] [,up=\d+] [,down=\d+] `
Startup and shutdown behavior. Order is a non-negative
number defining the general startup order. Shutdown in done with reverse
ordering. Additionally you can set the up or down delay in
seconds, which specifies a delay to wait before the next VM is started or
stopped.
tablet: <boolean> (default = 1)
Enable/disable the USB tablet device. This device is
usually needed to allow absolute mouse positioning with VNC. Else the mouse
runs out of sync with normal VNC clients. If you’re running lots of
console-only guests on one host, you may consider disabling this to save some
context switches. This is turned off by default if you use spice (qm set
<vmid> --vga qxl).
tags: <string>
Tags of the VM. This is only meta information.
tdf: <boolean> (default = 0)
Enable/disable time drift fix.
template: <boolean> (default = 0)
Enable/disable Template.
tpmstate0: [file=]<volume> [,size=<DiskSize>]
[,version=<v1.2|v2.0>]
Configure a Disk for storing TPM state. The format is
fixed to
raw.
file=<volume>
The drive’s backing volume.
size=<DiskSize>
Disk size. This is purely informational and has no
effect.
version=<v1.2 | v2.0> (default = v2.0)
The TPM interface version. v2.0 is newer and should be
preferred. Note that this cannot be changed later on.
unused[n]: [file=]<volume>
Reference to unused volumes. This is used internally, and
should not be modified manually.
file=<volume>
The drive’s backing volume.
usb[n]: [host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]
Configure an USB device (n is 0 to 4, for machine version
>= 7.1 and ostype l26 or windows > 7, n can be up to 14).
host=<HOSTUSBDEVICE|spice>
The Host USB device or port or the value
spice.
HOSTUSBDEVICE syntax is:
'bus-port(.port)*' (decimal numbers) or
'vendor_id:product_id' (hexadeciaml numbers) or
'spice'
You can use the lsusb -t command to list existing usb
devices.
Note
This option allows direct access to host hardware. So it is no longer possible
to migrate such machines - use with special care.
The value
spice can be used to add a usb redirection devices for
spice.
usb3=<boolean> (default = 0)
Specifies whether if given host option is a USB3 device
or port. For modern guests (machine version >= 7.1 and ostype l26 and
windows > 7), this flag is irrelevant (all devices are plugged into a xhci
controller).
vcpus: <integer> (1 - N) (default = 0)
Number of hotplugged vcpus.
vga: [[type=]<enum>] [,memory=<integer>]
Configure the VGA Hardware. If you want to use high
resolution modes (>= 1280x1024x16) you may need to increase the vga memory
option. Since QEMU 2.9 the default VGA display type is
std for all OS
types besides some Windows versions (XP and older) which use
cirrus.
The
qxl option enables the SPICE display server. For win* OS you can
select how many independent displays you want, Linux guests can add displays
them self. You can also run without any graphic card, using a serial device as
terminal.
memory=<integer> (4 - 512)
Sets the VGA memory (in MiB). Has no effect with serial
display.
type=<cirrus | none | qxl | qxl2 | qxl3 | qxl4 | serial0 |
serial1 | serial2 | serial3 | std | virtio | virtio-gl | vmware>
(default = std)
Select the VGA type.
virtio[n]: [file=]<volume>
[,aio=<native|threads|io_uring>] [,backup=<1|0>]
[,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>]
[,bps_rd_max_length=<seconds>] [,bps_wr=<bps>]
[,bps_wr_max_length=<seconds>] [,cache=<enum>]
[,cyls=<integer>] [,detect_zeroes=<1|0>]
[,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>]
[,iops=<iops>] [,iops_max=<iops>]
[,iops_max_length=<seconds>] [,iops_rd=<iops>]
[,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>]
[,iops_wr=<iops>] [,iops_wr_max=<iops>]
[,iops_wr_max_length=<seconds>] [,iothread=<1|0>]
[,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>]
[,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>]
[,mbps_wr_max=<mbps>] [,media=<cdrom|disk>]
[,replicate=<1|0>] [,rerror=<ignore|report|stop>]
[,ro=<1|0>] [,secs=<integer>] [,serial=<serial>]
[,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>]
[,trans=<none|lba|auto>] [,werror=<enum>]
Use volume as VIRTIO hard disk (n is 0 to 15).
aio=<io_uring | native | threads>
AIO type to use.
backup=<boolean>
Whether the drive should be included when making
backups.
bps=<bps>
Maximum r/w speed in bytes per second.
bps_max_length=<seconds>
Maximum length of I/O bursts in seconds.
bps_rd=<bps>
Maximum read speed in bytes per second.
bps_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
bps_wr=<bps>
Maximum write speed in bytes per second.
bps_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
cache=<directsync | none | unsafe | writeback |
writethrough>
The drive’s cache mode
cyls=<integer>
Force the drive’s physical geometry to have a
specific cylinder count.
detect_zeroes=<boolean>
Controls whether to detect and try to optimize writes of
zeroes.
discard=<ignore | on>
Controls whether to pass discard/trim requests to the
underlying storage.
file=<volume>
The drive’s backing volume.
format=<cloop | cow | qcow | qcow2 | qed | raw | vmdk>
The drive’s backing file’s data
format.
heads=<integer>
Force the drive’s physical geometry to have a
specific head count.
iops=<iops>
Maximum r/w I/O in operations per second.
iops_max=<iops>
Maximum unthrottled r/w I/O pool in operations per
second.
iops_max_length=<seconds>
Maximum length of I/O bursts in seconds.
iops_rd=<iops>
Maximum read I/O in operations per second.
iops_rd_max=<iops>
Maximum unthrottled read I/O pool in operations per
second.
iops_rd_max_length=<seconds>
Maximum length of read I/O bursts in seconds.
iops_wr=<iops>
Maximum write I/O in operations per second.
iops_wr_max=<iops>
Maximum unthrottled write I/O pool in operations per
second.
iops_wr_max_length=<seconds>
Maximum length of write I/O bursts in seconds.
iothread=<boolean>
Whether to use iothreads for this drive
mbps=<mbps>
Maximum r/w speed in megabytes per second.
mbps_max=<mbps>
Maximum unthrottled r/w pool in megabytes per
second.
mbps_rd=<mbps>
Maximum read speed in megabytes per second.
mbps_rd_max=<mbps>
Maximum unthrottled read pool in megabytes per
second.
mbps_wr=<mbps>
Maximum write speed in megabytes per second.
mbps_wr_max=<mbps>
Maximum unthrottled write pool in megabytes per
second.
media=<cdrom | disk> (default = disk)
The drive’s media type.
replicate=<boolean> (default = 1)
Whether the drive should considered for replication
jobs.
rerror=<ignore | report | stop>
Read error action.
ro=<boolean>
Whether the drive is read-only.
secs=<integer>
Force the drive’s physical geometry to have a
specific sector count.
serial=<serial>
The drive’s reported serial number, url-encoded,
up to 20 bytes long.
shared=<boolean> (default = 0)
Mark this locally-managed volume as available on all
nodes.
Warning
This option does not share the volume automatically, it assumes it is shared
already!
size=<DiskSize>
Disk size. This is purely informational and has no
effect.
snapshot=<boolean>
Controls qemu’s snapshot mode feature. If
activated, changes made to the disk are temporary and will be discarded when
the VM is shutdown.
trans=<auto | lba | none>
Force disk geometry bios translation mode.
werror=<enospc | ignore | report | stop>
Write error action.
vmgenid: <UUID> (default = 1 (autogenerated))
The VM generation ID (vmgenid) device exposes a 128-bit
integer value identifier to the guest OS. This allows to notify the guest
operating system when the virtual machine is executed with a different
configuration (e.g. snapshot execution or creation from a template). The guest
operating system notices the change, and is then able to react as appropriate
by marking its copies of distributed databases as dirty, re-initializing its
random number generator, etc. Note that auto-creation only works when done
through API/CLI create or update methods, but not when manually editing the
config file.
vmstatestorage: <string>
Default storage for VM state volumes/files.
watchdog: [[model=]<i6300esb|ib700>]
[,action=<enum>]
Create a virtual hardware watchdog device. Once enabled
(by a guest action), the watchdog must be periodically polled by an agent
inside the guest or else the watchdog will reset the guest (or execute the
respective action specified)
action=<debug | none | pause | poweroff | reset |
shutdown>
The action to perform if after activation the guest fails
to poll the watchdog in time.
model=<i6300esb | ib700> (default = i6300esb)
Watchdog type to emulate.