qm <COMMAND> [ARGS] [OPTIONS]
qm agent
An alias for qm guest cmd.
qm cleanup <vmid> <clean-shutdown> <guest-requested>
Cleans up resources like tap devices, vgpus, etc. Called after a vm shuts down, crashes, etc.
<vmid>
: <integer> (1 - N)
<clean-shutdown>
: <boolean>
<guest-requested>
: <boolean>
qm clone <vmid> <newid>
[OPTIONS]
Create a copy of virtual machine/template.
<vmid>
: <integer> (1 - N)
<newid>
: <integer> (1 - N)
--bwlimit
<integer> (0 - N)
(default = clone limit from datacenter or storage config
)
--description
<string>
--format
<qcow2 | raw | vmdk>
--full
<boolean>
--name
<string>
--pool
<string>
--snapname
<string>
--storage
<string>
--target
<string>
qm cloudinit dump <vmid> <type>
Get automatically generated cloudinit config.
<vmid>
: <integer> (1 - N)
<type>
: <meta | network | user>
qm config <vmid>
[OPTIONS]
Get the virtual machine configuration with pending configuration changes applied. Set the current parameter to get the current configuration instead.
<vmid>
: <integer> (1 - N)
--current
<boolean>
(default = 0
)
--snapshot
<string>
qm create <vmid>
[OPTIONS]
Create or restore a virtual machine.
<vmid>
: <integer> (1 - N)
--acpi
<boolean>
(default = 1
)
--agent
[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]
--arch
<aarch64 | x86_64>
--archive
<string>
--args
<string>
--audio0
device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]
--autostart
<boolean>
(default = 0
)
--balloon
<integer> (0 - N)
--bios
<ovmf | seabios>
(default = seabios
)
--boot
[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]
--bootdisk
(ide|sata|scsi|virtio)\d+
--bwlimit
<integer> (0 - N)
(default = restore limit from datacenter or storage config
)
--cdrom
<volume>
--cicustom
[meta=<volume>] [,network=<volume>] [,user=<volume>] [,vendor=<volume>]
--cipassword
<password>
--citype
<configdrive2 | nocloud | opennebula>
ostype
. We use the nocloud
format for Linux, and configdrive2
for windows.
--ciuser
<string>
--cores
<integer> (1 - N)
(default = 1
)
--cpu
[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]
--cpulimit
<number> (0 - 128)
(default = 0
)
--cpuunits
<integer> (2 - 262144)
(default = cgroup v1: 1024, cgroup v2: 100
)
--description
<string>
--efidisk0
[file=]<volume> [,efitype=<2m|4m>] [,format=<enum>] [,pre-enrolled-keys=<1|0>] [,size=<DiskSize>]
--force
<boolean>
Allow to overwrite existing VM.
Requires option(s): archive
--freeze
<boolean>
--hookscript
<string>
--hostpci[n]
[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]
--hotplug
<string>
(default = network,disk,usb
)
network,disk,usb
.
--hugepages
<1024 | 2 | any>
--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>]
--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.
--ivshmem
size=<integer> [,name=<string>]
--keephugepages
<boolean>
(default = 0
)
--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>
--kvm
<boolean>
(default = 1
)
--live-restore
<boolean>
Start the VM immediately from the backup and restore in background. PBS only.
Requires option(s): archive
--localtime
<boolean>
ostype
indicates a Microsoft Windows OS.
--lock
<backup | clone | create | migrate | rollback | snapshot | snapshot-delete | suspended | suspending>
--machine
(pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)
--memory
<integer> (16 - N)
(default = 512
)
--migrate_downtime
<number> (0 - N)
(default = 0.1
)
--migrate_speed
<integer> (0 - N)
(default = 0
)
--name
<string>
--nameserver
<string>
--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>]
--numa
<boolean>
(default = 0
)
--numa[n]
cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]
--onboot
<boolean>
(default = 0
)
--ostype
<l24 | l26 | other | solaris | w2k | w2k3 | w2k8 | win10 | win11 | win7 | win8 | wvista | wxp>
--parallel[n]
/dev/parport\d+|/dev/usb/lp\d+
--pool
<string>
--protection
<boolean>
(default = 0
)
--reboot
<boolean>
(default = 1
)
--rng0
[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]
--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>]
--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>]
--scsihw
<lsi | lsi53c810 | megasas | pvscsi | virtio-scsi-pci | virtio-scsi-single>
(default = lsi
)
--searchdomain
<string>
--serial[n]
(/dev/.+|socket)
--shares
<integer> (0 - 50000)
(default = 1000
)
--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>]
--smp
<integer> (1 - N)
(default = 1
)
--sockets
<integer> (1 - N)
(default = 1
)
--spice_enhancements
[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]
--sshkeys
<filepath>
--start
<boolean>
(default = 0
)
--startdate
(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)
(default = now
)
--startup
`[[order=]\d+] [,up=\d+] [,down=\d+] `
--storage
<string>
--tablet
<boolean>
(default = 1
)
--tags
<string>
--tdf
<boolean>
(default = 0
)
--template
<boolean>
(default = 0
)
--tpmstate0
[file=]<volume> [,size=<DiskSize>] [,version=<v1.2|v2.0>]
--unique
<boolean>
Assign a unique random ethernet address.
Requires option(s): archive
--unused[n]
[file=]<volume>
--usb[n]
[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]
--vcpus
<integer> (1 - N)
(default = 0
)
--vga
[[type=]<enum>] [,memory=<integer>]
--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>]
--vmgenid
<UUID>
(default = 1 (autogenerated)
)
--vmstatestorage
<string>
--watchdog
[[model=]<i6300esb|ib700>] [,action=<enum>]
qm delsnapshot <vmid> <snapname>
[OPTIONS]
Delete a VM snapshot.
<vmid>
: <integer> (1 - N)
<snapname>
: <string>
--force
<boolean>
qm destroy <vmid>
[OPTIONS]
Destroy the VM and all used/owned volumes. Removes any VM specific permissions and firewall rules
<vmid>
: <integer> (1 - N)
--destroy-unreferenced-disks
<boolean>
(default = 0
)
--purge
<boolean>
--skiplock
<boolean>
qm guest cmd <vmid> <command>
Execute Qemu Guest Agent commands.
<vmid>
: <integer> (1 - N)
<command>
: <fsfreeze-freeze | fsfreeze-status | fsfreeze-thaw | fstrim | get-fsinfo | get-host-name | get-memory-block-info | get-memory-blocks | get-osinfo | get-time | get-timezone | get-users | get-vcpus | info | network-get-interfaces | ping | shutdown | suspend-disk | suspend-hybrid | suspend-ram>
qm guest exec <vmid> [<extra-args>]
[OPTIONS]
Executes the given command via the guest agent
<vmid>
: <integer> (1 - N)
<extra-args>
: <array>
--pass-stdin
<boolean>
(default = 0
)
--synchronous
<boolean>
(default = 1
)
--timeout
<integer> (0 - N)
(default = 30
)
qm guest exec-status <vmid> <pid>
Gets the status of the given pid started by the guest-agent
<vmid>
: <integer> (1 - N)
<pid>
: <integer>
qm guest passwd <vmid> <username>
[OPTIONS]
Sets the password for the given user to the given password
<vmid>
: <integer> (1 - N)
<username>
: <string>
--crypted
<boolean>
(default = 0
)
qm help [OPTIONS]
Get help about specified command.
--extra-args
<array>
--verbose
<boolean>
qm importdisk <vmid> <source> <storage>
[OPTIONS]
Import an external disk image as an unused disk in a VM. The image format has to be supported by qemu-img(1).
<vmid>
: <integer> (1 - N)
<source>
: <string>
<storage>
: <string>
--format
<qcow2 | raw | vmdk>
qm importovf <vmid> <manifest> <storage>
[OPTIONS]
Create a new VM using parameters read from an OVF manifest
<vmid>
: <integer> (1 - N)
<manifest>
: <string>
<storage>
: <string>
--dryrun
<boolean>
--format
<qcow2 | raw | vmdk>
qm list [OPTIONS]
Virtual machine index (per node).
--full
<boolean>
qm listsnapshot <vmid>
List all snapshots.
<vmid>
: <integer> (1 - N)
qm migrate <vmid> <target>
[OPTIONS]
Migrate virtual machine. Creates a new migration task.
<vmid>
: <integer> (1 - N)
<target>
: <string>
--bwlimit
<integer> (0 - N)
(default = migrate limit from datacenter or storage config
)
--force
<boolean>
--migration_network
<string>
--migration_type
<insecure | secure>
--online
<boolean>
--targetstorage
<string>
--with-local-disks
<boolean>
qm monitor <vmid>
Enter Qemu Monitor interface.
<vmid>
: <integer> (1 - N)
qm move-disk <vmid> <disk> [<storage>]
[OPTIONS]
Move volume to different storage or to a different VM.
<vmid>
: <integer> (1 - N)
<disk>
: <efidisk0 | ide0 | ide1 | ide2 | ide3 | sata0 | sata1 | sata2 | sata3 | sata4 | sata5 | scsi0 | scsi1 | scsi10 | scsi11 | scsi12 | scsi13 | scsi14 | scsi15 | scsi16 | scsi17 | scsi18 | scsi19 | scsi2 | scsi20 | scsi21 | scsi22 | scsi23 | scsi24 | scsi25 | scsi26 | scsi27 | scsi28 | scsi29 | scsi3 | scsi30 | scsi4 | scsi5 | scsi6 | scsi7 | scsi8 | scsi9 | tpmstate0 | unused0 | unused1 | unused10 | unused100 | unused101 | unused102 | unused103 | unused104 | unused105 | unused106 | unused107 | unused108 | unused109 | unused11 | unused110 | unused111 | unused112 | unused113 | unused114 | unused115 | unused116 | unused117 | unused118 | unused119 | unused12 | unused120 | unused121 | unused122 | unused123 | unused124 | unused125 | unused126 | unused127 | unused128 | unused129 | unused13 | unused130 | unused131 | unused132 | unused133 | unused134 | unused135 | unused136 | unused137 | unused138 | unused139 | unused14 | unused140 | unused141 | unused142 | unused143 | unused144 | unused145 | unused146 | unused147 | unused148 | unused149 | unused15 | unused150 | unused151 | unused152 | unused153 | unused154 | unused155 | unused156 | unused157 | unused158 | unused159 | unused16 | unused160 | unused161 | unused162 | unused163 | unused164 | unused165 | unused166 | unused167 | unused168 | unused169 | unused17 | unused170 | unused171 | unused172 | unused173 | unused174 | unused175 | unused176 | unused177 | unused178 | unused179 | unused18 | unused180 | unused181 | unused182 | unused183 | unused184 | unused185 | unused186 | unused187 | unused188 | unused189 | unused19 | unused190 | unused191 | unused192 | unused193 | unused194 | unused195 | unused196 | unused197 | unused198 | unused199 | unused2 | unused20 | unused200 | unused201 | unused202 | unused203 | unused204 | unused205 | unused206 | unused207 | unused208 | unused209 | unused21 | unused210 | unused211 | unused212 | unused213 | unused214 | unused215 | unused216 | unused217 | unused218 | unused219 | unused22 | unused220 | unused221 | unused222 | unused223 | unused224 | unused225 | unused226 | unused227 | unused228 | unused229 | unused23 | unused230 | unused231 | unused232 | unused233 | unused234 | unused235 | unused236 | unused237 | unused238 | unused239 | unused24 | unused240 | unused241 | unused242 | unused243 | unused244 | unused245 | unused246 | unused247 | unused248 | unused249 | unused25 | unused250 | unused251 | unused252 | unused253 | unused254 | unused255 | unused26 | unused27 | unused28 | unused29 | unused3 | unused30 | unused31 | unused32 | unused33 | unused34 | unused35 | unused36 | unused37 | unused38 | unused39 | unused4 | unused40 | unused41 | unused42 | unused43 | unused44 | unused45 | unused46 | unused47 | unused48 | unused49 | unused5 | unused50 | unused51 | unused52 | unused53 | unused54 | unused55 | unused56 | unused57 | unused58 | unused59 | unused6 | unused60 | unused61 | unused62 | unused63 | unused64 | unused65 | unused66 | unused67 | unused68 | unused69 | unused7 | unused70 | unused71 | unused72 | unused73 | unused74 | unused75 | unused76 | unused77 | unused78 | unused79 | unused8 | unused80 | unused81 | unused82 | unused83 | unused84 | unused85 | unused86 | unused87 | unused88 | unused89 | unused9 | unused90 | unused91 | unused92 | unused93 | unused94 | unused95 | unused96 | unused97 | unused98 | unused99 | virtio0 | virtio1 | virtio10 | virtio11 | virtio12 | virtio13 | virtio14 | virtio15 | virtio2 | virtio3 | virtio4 | virtio5 | virtio6 | virtio7 | virtio8 | virtio9>
<storage>
: <string>
--bwlimit
<integer> (0 - N)
(default = move limit from datacenter or storage config
)
--delete
<boolean>
(default = 0
)
--digest
<string>
--format
<qcow2 | raw | vmdk>
--target-digest
<string>
--target-disk
<efidisk0 | ide0 | ide1 | ide2 | ide3 | sata0 | sata1 | sata2 | sata3 | sata4 | sata5 | scsi0 | scsi1 | scsi10 | scsi11 | scsi12 | scsi13 | scsi14 | scsi15 | scsi16 | scsi17 | scsi18 | scsi19 | scsi2 | scsi20 | scsi21 | scsi22 | scsi23 | scsi24 | scsi25 | scsi26 | scsi27 | scsi28 | scsi29 | scsi3 | scsi30 | scsi4 | scsi5 | scsi6 | scsi7 | scsi8 | scsi9 | tpmstate0 | unused0 | unused1 | unused10 | unused100 | unused101 | unused102 | unused103 | unused104 | unused105 | unused106 | unused107 | unused108 | unused109 | unused11 | unused110 | unused111 | unused112 | unused113 | unused114 | unused115 | unused116 | unused117 | unused118 | unused119 | unused12 | unused120 | unused121 | unused122 | unused123 | unused124 | unused125 | unused126 | unused127 | unused128 | unused129 | unused13 | unused130 | unused131 | unused132 | unused133 | unused134 | unused135 | unused136 | unused137 | unused138 | unused139 | unused14 | unused140 | unused141 | unused142 | unused143 | unused144 | unused145 | unused146 | unused147 | unused148 | unused149 | unused15 | unused150 | unused151 | unused152 | unused153 | unused154 | unused155 | unused156 | unused157 | unused158 | unused159 | unused16 | unused160 | unused161 | unused162 | unused163 | unused164 | unused165 | unused166 | unused167 | unused168 | unused169 | unused17 | unused170 | unused171 | unused172 | unused173 | unused174 | unused175 | unused176 | unused177 | unused178 | unused179 | unused18 | unused180 | unused181 | unused182 | unused183 | unused184 | unused185 | unused186 | unused187 | unused188 | unused189 | unused19 | unused190 | unused191 | unused192 | unused193 | unused194 | unused195 | unused196 | unused197 | unused198 | unused199 | unused2 | unused20 | unused200 | unused201 | unused202 | unused203 | unused204 | unused205 | unused206 | unused207 | unused208 | unused209 | unused21 | unused210 | unused211 | unused212 | unused213 | unused214 | unused215 | unused216 | unused217 | unused218 | unused219 | unused22 | unused220 | unused221 | unused222 | unused223 | unused224 | unused225 | unused226 | unused227 | unused228 | unused229 | unused23 | unused230 | unused231 | unused232 | unused233 | unused234 | unused235 | unused236 | unused237 | unused238 | unused239 | unused24 | unused240 | unused241 | unused242 | unused243 | unused244 | unused245 | unused246 | unused247 | unused248 | unused249 | unused25 | unused250 | unused251 | unused252 | unused253 | unused254 | unused255 | unused26 | unused27 | unused28 | unused29 | unused3 | unused30 | unused31 | unused32 | unused33 | unused34 | unused35 | unused36 | unused37 | unused38 | unused39 | unused4 | unused40 | unused41 | unused42 | unused43 | unused44 | unused45 | unused46 | unused47 | unused48 | unused49 | unused5 | unused50 | unused51 | unused52 | unused53 | unused54 | unused55 | unused56 | unused57 | unused58 | unused59 | unused6 | unused60 | unused61 | unused62 | unused63 | unused64 | unused65 | unused66 | unused67 | unused68 | unused69 | unused7 | unused70 | unused71 | unused72 | unused73 | unused74 | unused75 | unused76 | unused77 | unused78 | unused79 | unused8 | unused80 | unused81 | unused82 | unused83 | unused84 | unused85 | unused86 | unused87 | unused88 | unused89 | unused9 | unused90 | unused91 | unused92 | unused93 | unused94 | unused95 | unused96 | unused97 | unused98 | unused99 | virtio0 | virtio1 | virtio10 | virtio11 | virtio12 | virtio13 | virtio14 | virtio15 | virtio2 | virtio3 | virtio4 | virtio5 | virtio6 | virtio7 | virtio8 | virtio9>
--target-vmid
<integer> (1 - N)
qm move_disk
An alias for qm move-disk.
qm mtunnel
Used by qmigrate - do not use manually.
qm nbdstop <vmid>
Stop embedded nbd server.
<vmid>
: <integer> (1 - N)
qm pending <vmid>
Get the virtual machine configuration with both current and pending values.
<vmid>
: <integer> (1 - N)
qm reboot <vmid>
[OPTIONS]
Reboot the VM by shutting it down, and starting it again. Applies pending changes.
<vmid>
: <integer> (1 - N)
--timeout
<integer> (0 - N)
qm rescan [OPTIONS]
Rescan all storages and update disk sizes and unused disk images.
--dryrun
<boolean>
(default = 0
)
--vmid
<integer> (1 - N)
qm reset <vmid>
[OPTIONS]
Reset virtual machine.
<vmid>
: <integer> (1 - N)
--skiplock
<boolean>
qm resize <vmid> <disk> <size>
[OPTIONS]
Extend volume size.
<vmid>
: <integer> (1 - N)
<disk>
: <efidisk0 | ide0 | ide1 | ide2 | ide3 | sata0 | sata1 | sata2 | sata3 | sata4 | sata5 | scsi0 | scsi1 | scsi10 | scsi11 | scsi12 | scsi13 | scsi14 | scsi15 | scsi16 | scsi17 | scsi18 | scsi19 | scsi2 | scsi20 | scsi21 | scsi22 | scsi23 | scsi24 | scsi25 | scsi26 | scsi27 | scsi28 | scsi29 | scsi3 | scsi30 | scsi4 | scsi5 | scsi6 | scsi7 | scsi8 | scsi9 | tpmstate0 | virtio0 | virtio1 | virtio10 | virtio11 | virtio12 | virtio13 | virtio14 | virtio15 | virtio2 | virtio3 | virtio4 | virtio5 | virtio6 | virtio7 | virtio8 | virtio9>
<size>
: \+?\d+(\.\d+)?[KMGT]?
+
sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.
--digest
<string>
--skiplock
<boolean>
qm resume <vmid>
[OPTIONS]
Resume virtual machine.
<vmid>
: <integer> (1 - N)
--nocheck
<boolean>
--skiplock
<boolean>
qm rollback <vmid> <snapname>
Rollback VM state to specified snapshot.
<vmid>
: <integer> (1 - N)
<snapname>
: <string>
qm sendkey <vmid> <key>
[OPTIONS]
Send key event to virtual machine.
<vmid>
: <integer> (1 - N)
<key>
: <string>
--skiplock
<boolean>
qm set <vmid>
[OPTIONS]
Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.
<vmid>
: <integer> (1 - N)
--acpi
<boolean>
(default = 1
)
--agent
[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]
--arch
<aarch64 | x86_64>
--args
<string>
--audio0
device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]
--autostart
<boolean>
(default = 0
)
--balloon
<integer> (0 - N)
--bios
<ovmf | seabios>
(default = seabios
)
--boot
[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]
--bootdisk
(ide|sata|scsi|virtio)\d+
--cdrom
<volume>
--cicustom
[meta=<volume>] [,network=<volume>] [,user=<volume>] [,vendor=<volume>]
--cipassword
<password>
--citype
<configdrive2 | nocloud | opennebula>
ostype
. We use the nocloud
format for Linux, and configdrive2
for windows.
--ciuser
<string>
--cores
<integer> (1 - N)
(default = 1
)
--cpu
[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]
--cpulimit
<number> (0 - 128)
(default = 0
)
--cpuunits
<integer> (2 - 262144)
(default = cgroup v1: 1024, cgroup v2: 100
)
--delete
<string>
--description
<string>
--digest
<string>
--efidisk0
[file=]<volume> [,efitype=<2m|4m>] [,format=<enum>] [,pre-enrolled-keys=<1|0>] [,size=<DiskSize>]
--force
<boolean>
Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called unused[n], which contains the volume ID. Unlink of unused[n] always cause physical removal.
Requires option(s): delete
--freeze
<boolean>
--hookscript
<string>
--hostpci[n]
[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]
--hotplug
<string>
(default = network,disk,usb
)
network,disk,usb
.
--hugepages
<1024 | 2 | any>
--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>]
--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.
--ivshmem
size=<integer> [,name=<string>]
--keephugepages
<boolean>
(default = 0
)
--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>
--kvm
<boolean>
(default = 1
)
--localtime
<boolean>
ostype
indicates a Microsoft Windows OS.
--lock
<backup | clone | create | migrate | rollback | snapshot | snapshot-delete | suspended | suspending>
--machine
(pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)
--memory
<integer> (16 - N)
(default = 512
)
--migrate_downtime
<number> (0 - N)
(default = 0.1
)
--migrate_speed
<integer> (0 - N)
(default = 0
)
--name
<string>
--nameserver
<string>
--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>]
--numa
<boolean>
(default = 0
)
--numa[n]
cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]
--onboot
<boolean>
(default = 0
)
--ostype
<l24 | l26 | other | solaris | w2k | w2k3 | w2k8 | win10 | win11 | win7 | win8 | wvista | wxp>
--parallel[n]
/dev/parport\d+|/dev/usb/lp\d+
--protection
<boolean>
(default = 0
)
--reboot
<boolean>
(default = 1
)
--revert
<string>
--rng0
[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]
--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>]
--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>]
--scsihw
<lsi | lsi53c810 | megasas | pvscsi | virtio-scsi-pci | virtio-scsi-single>
(default = lsi
)
--searchdomain
<string>
--serial[n]
(/dev/.+|socket)
--shares
<integer> (0 - 50000)
(default = 1000
)
--skiplock
<boolean>
--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>]
--smp
<integer> (1 - N)
(default = 1
)
--sockets
<integer> (1 - N)
(default = 1
)
--spice_enhancements
[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]
--sshkeys
<filepath>
--startdate
(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)
(default = now
)
--startup
`[[order=]\d+] [,up=\d+] [,down=\d+] `
--tablet
<boolean>
(default = 1
)
--tags
<string>
--tdf
<boolean>
(default = 0
)
--template
<boolean>
(default = 0
)
--tpmstate0
[file=]<volume> [,size=<DiskSize>] [,version=<v1.2|v2.0>]
--unused[n]
[file=]<volume>
--usb[n]
[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]
--vcpus
<integer> (1 - N)
(default = 0
)
--vga
[[type=]<enum>] [,memory=<integer>]
--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>]
--vmgenid
<UUID>
(default = 1 (autogenerated)
)
--vmstatestorage
<string>
--watchdog
[[model=]<i6300esb|ib700>] [,action=<enum>]
qm showcmd <vmid>
[OPTIONS]
Show command line which is used to start the VM (debug info).
<vmid>
: <integer> (1 - N)
--pretty
<boolean>
(default = 0
)
--snapshot
<string>
qm shutdown <vmid>
[OPTIONS]
Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.
<vmid>
: <integer> (1 - N)
--forceStop
<boolean>
(default = 0
)
--keepActive
<boolean>
(default = 0
)
--skiplock
<boolean>
--timeout
<integer> (0 - N)
qm snapshot <vmid> <snapname>
[OPTIONS]
Snapshot a VM.
<vmid>
: <integer> (1 - N)
<snapname>
: <string>
--description
<string>
--vmstate
<boolean>
qm start <vmid>
[OPTIONS]
Start virtual machine.
<vmid>
: <integer> (1 - N)
--force-cpu
<string>
--machine
(pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)
--migratedfrom
<string>
--migration_network
<string>
--migration_type
<insecure | secure>
--skiplock
<boolean>
--stateuri
<string>
--targetstorage
<string>
--timeout
<integer> (0 - N)
(default = max(30, vm memory in GiB)
)
qm status <vmid>
[OPTIONS]
Show VM status.
<vmid>
: <integer> (1 - N)
--verbose
<boolean>
qm stop <vmid>
[OPTIONS]
Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data
<vmid>
: <integer> (1 - N)
--keepActive
<boolean>
(default = 0
)
--migratedfrom
<string>
--skiplock
<boolean>
--timeout
<integer> (0 - N)
qm suspend <vmid>
[OPTIONS]
Suspend virtual machine.
<vmid>
: <integer> (1 - N)
--skiplock
<boolean>
--statestorage
<string>
The storage for the VM state
Requires option(s): todisk
--todisk
<boolean>
(default = 0
)
qm template <vmid>
[OPTIONS]
Create a Template.
<vmid>
: <integer> (1 - N)
--disk
<efidisk0 | ide0 | ide1 | ide2 | ide3 | sata0 | sata1 | sata2 | sata3 | sata4 | sata5 | scsi0 | scsi1 | scsi10 | scsi11 | scsi12 | scsi13 | scsi14 | scsi15 | scsi16 | scsi17 | scsi18 | scsi19 | scsi2 | scsi20 | scsi21 | scsi22 | scsi23 | scsi24 | scsi25 | scsi26 | scsi27 | scsi28 | scsi29 | scsi3 | scsi30 | scsi4 | scsi5 | scsi6 | scsi7 | scsi8 | scsi9 | tpmstate0 | virtio0 | virtio1 | virtio10 | virtio11 | virtio12 | virtio13 | virtio14 | virtio15 | virtio2 | virtio3 | virtio4 | virtio5 | virtio6 | virtio7 | virtio8 | virtio9>
qm terminal <vmid>
[OPTIONS]
Open a terminal using a serial device (The VM need to have a serial device configured, for example serial0: socket)
<vmid>
: <integer> (1 - N)
--escape
<string>
(default = ^O
)
--iface
<serial0 | serial1 | serial2 | serial3>
qm unlink <vmid> --idlist <string>
[OPTIONS]
Unlink/delete disk images.
<vmid>
: <integer> (1 - N)
--force
<boolean>
--idlist
<string>
qm unlock <vmid>
Unlock the VM.
<vmid>
: <integer> (1 - N)
qm vncproxy <vmid>
Proxy VM VNC traffic to stdin/stdout
<vmid>
: <integer> (1 - N)
qm wait <vmid>
[OPTIONS]
Wait until the VM is stopped.
<vmid>
: <integer> (1 - N)
--timeout
<integer> (1 - N)