NAME

vm.conf - Proxmox VE virtual machine (qemu/kvm) configuration files.

SYNOPSYS

The /etc/pve/qemu-server/VMID.conf files stores VM configuration, where VMID is the numeric ID of the given VM. Note that VMID <= 100 are reserved for internal purposes.

FILE FORMAT

Configuration file use a simple colon separated key/value format. Each line has the following format:

 OPTION: value

Blank lines in the file are ignored, and lines starting with a # character are treated as comments and are also ignored.

One can use the qm command to generate and modify those files.

OPTIONS

acpi: boolean

Enable/disable ACPI. Default value is '1'.

agent: boolean

Enable/disable Qemu GuestAgent. Default value is '0'.

args: string

Note: this option is for experts only. It allows you to pass arbitrary arguments to kvm, for example:

args: -no-reboot -no-hpet

autostart: boolean

Automatic restart after crash (currently ignored). Default value is '0'.

balloon: integer (0 - N)

Amount of target RAM for the VM in MB. Using zero disables the ballon driver.

boot: [acdn]{1,4}

Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n). Default value is 'cdn'.

bootdisk: (ide|sata|scsi|virtio)\d+

Enable booting from specified disk.

cdrom: volume

This is an alias for option -ide2

cores: integer (1 - N)

The number of cores per socket. Default value is '1'.

cpu: (486 | Broadwell | Conroe | Haswell | IvyBridge | Nehalem | Opteron_G1 | Opteron_G2 | Opteron_G3 | Opteron_G4 | Opteron_G5 | Penryn | SandyBridge | Westmere | athlon | core2duo | coreduo | host | kvm32 | kvm64 | pentium | pentium2 | pentium3 | phenom | qemu32 | qemu64)

Emulated CPU type. Default value is 'kvm64'.

cpulimit: number (0 - 128)

Limit of CPU usage. Note if the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit. Default value is '0'.

cpuunits: integer (0 - 500000)

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.

NOTE: You can disable fair-scheduler configuration by setting this to 0.

Default value is '1000'.

description: string

Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.

freeze: boolean

Freeze CPU at startup (use 'c' monitor command to start execution).

hostpci[n]: [host=]HOSTPCIDEVICE [,rombar=on|off] [,pcie=0|1] [,x-vga=on|off]

Map host pci devices. HOSTPCIDEVICE syntax is:

'bus:dev.func' (hexadecimal numbers)

You can us the 'lspci' command to list existing pci devices.

The 'rombar' option determines whether or not the device's ROM will be visible in the guest's memory map (default is 'on').

Note: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.

Experimental: user reported problems with this option.

hotplug: string

Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'. Default value is 'network,disk,usb'.

ide[n]: [volume=]volume,] [,media=cdrom|disk] [,cyls=c,heads=h,secs=s[,trans=t]] [,snapshot=on|off] [,cache=none|writethrough|writeback|unsafe|directsync] [,format=f] [,backup=yes|no] [,rerror=ignore|report|stop] [,werror=enospc|ignore|report|stop] [,aio=native|threads] [,discard=ignore|on] [,serial=serial][,model=model]

Use volume as IDE hard disk or CD-ROM (n is 0 to 3).

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)

Keybord layout for vnc server. Default is read from the datacenter configuration file. Default value is 'en-us'.

kvm: boolean

Enable/disable KVM hardware virtualization. Default value is '1'.

localtime: boolean

Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.

lock: (backup | migrate | rollback | snapshot)

Lock/unlock the VM.

machine: (pc|pc(-i440fx)?-\d+\.\d+|q35|pc-q35-\d+\.\d+)

Specific the Qemu machine type.

memory: integer (16 - N)

Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device. Default value is '512'.

migrate_downtime: number (0 - N)

Set maximum tolerated downtime (in seconds) for migrations. Default value is '0.1'.

migrate_speed: integer (0 - N)

Set maximum speed (in MB/s) for migrations. Value 0 is no limit. Default value is '0'.

name: string

Set a name for the VM. Only used on the configuration web interface.

Specify network devices.

MODEL is one of: e1000 e1000-82540em e1000-82544gc e1000-82545em i82551 i82557b i82559er ne2k_isa ne2k_pci pcnet rtl8139 virtio vmxnet3

XX:XX:XX:XX:XX:XX should be an unique MAC address. This is automatically generated if not specified.

The bridge parameter can be used to automatically add the interface to a bridge device. The Proxmox VE standard bridge is called 'vmbr0'.

Option 'rate' is used to limit traffic bandwidth from and to this interface. It is specified as floating point number, unit is 'Megabytes per second'.

If you specify no 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.

numa: boolean

Enable/disable Numa. Default value is '0'.

numa[n]: cpus=<id[-id],memory=<mb>[[,hostnodes=<id[-id]>] [,policy=<preferred|bind|interleave>]]

numa topology

onboot: boolean

Specifies whether a VM will be started during system bootup. Default value is '0'.

ostype: (l24 | l26 | other | solaris | w2k | w2k3 | w2k8 | win7 | win8 | wvista | wxp)

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 l24 => Linux 2.4 Kernel l26 => Linux 2.6/3.X Kernel solaris => solaris/opensolaris/openindiania kernel

other|l24|l26|solaris ... no special behaviour wxp|w2k|w2k3|w2k8|wvista|win7|win8 ... use --localtime switch

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.

Experimental: user reported problems with this option.

protection: boolean

Sets the protection flag of the VM. This will prevent the remove operation. Default value is '0'.

reboot: boolean

Allow reboot. If set to '0' the VM exit on reboot. Default value is '1'.

sata[n]: [volume=]volume,] [,media=cdrom|disk] [,cyls=c,heads=h,secs=s[,trans=t]] [,snapshot=on|off] [,cache=none|writethrough|writeback|unsafe|directsync] [,format=f] [,backup=yes|no] [,rerror=ignore|report|stop] [,werror=enospc|ignore|report|stop] [,aio=native|threads] [,discard=ignore|on] [,serial=serial]

Use volume as SATA hard disk or CD-ROM (n is 0 to 5).

scsi[n]: [volume=]volume,] [,media=cdrom|disk] [,cyls=c,heads=h,secs=s[,trans=t]] [,snapshot=on|off] [,cache=none|writethrough|writeback|unsafe|directsync] [,format=f] [,backup=yes|no] [,rerror=ignore|report|stop] [,werror=enospc|ignore|report|stop] [,aio=native|threads] [,discard=ignore|on] [,iothread=on] [,queues=<nbqueues>] [,serial=serial]

Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).

scsihw: (lsi | lsi53c810 | megasas | pvscsi | virtio-scsi-pci | virtio-scsi-single)

scsi controller model Default value is 'lsi'.

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: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.

Experimental: user reported problems with this option.

shares: integer (0 - 50000)

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 Default value is '1000'.

smbios[n]: [manufacturer=str][,product=str][,version=str][,serial=str] [,uuid=uuid][,sku=str][,family=str]

Specify SMBIOS type 1 fields.

smp: integer (1 - N)

The number of CPUs. Please use option -sockets instead. Default value is '1'.

sockets: integer (1 - N)

The number of CPU sockets. Default value is '1'.

startdate: (now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)

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'. Default value is 'now'.

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

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 of by default if you use spice (vga=qxl). Default value is '1'.

tdf: boolean

Enable/disable time drift fix. Default value is '0'.

template: boolean

Enable/disable Template. Default value is '0'.

unused[n]: string

Reference to unused volumes.

usb[n]: host=HOSTUSBDEVICE|spice

Configure an USB device (n is 0 to 4). This can be used to pass-through usb devices to the guest. HOSTUSBDEVICE syntax is:

'bus-port(.port)*' (decimal numbers) or 'vendor_id:product_id' (hexadeciaml numbers)

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.

vcpus: integer (1 - N)

Number of hotplugged vcpus. Default value is '0'.

vga: (cirrus | qxl | qxl2 | qxl3 | qxl4 | serial0 | serial1 | serial2 | serial3 | std | vmware)

Select VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use option 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrur' for other OS types. Option 'qxl' enables the SPICE display sever. You can also run without any graphic card using a serial devive as terminal.

virtio[n]: [volume=]volume,] [,media=cdrom|disk] [,cyls=c,heads=h,secs=s[,trans=t]] [,snapshot=on|off] [,cache=none|writethrough|writeback|unsafe|directsync] [,format=f] [,backup=yes|no] [,rerror=ignore|report|stop] [,werror=enospc|ignore|report|stop] [,aio=native|threads] [,discard=ignore|on] [,iothread=on] [,serial=serial]

Use volume as VIRTIO hard disk (n is 0 to 15).

watchdog: [[model=]i6300esb|ib700] [,[action=]reset|shutdown|poweroff|pause|debug|none]

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 guest will be restarted (or execute the action specified)

COPYRIGHT AND DISCLAIMER

Copyright (C) 2007-2015 Proxmox Server Solutions GmbH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.