mirror of
https://git.proxmox.com/git/pve-docs
synced 2025-04-28 21:13:07 +00:00
virtual machines: rework & extend PVE machine version section
Make the PVE machines a sub point of the overall machine version, as they are not really different, but only extend the mechanism we already used by something we can directly control. I tried to extend the previously existing machine version to also describe that we use that version for deciding what to enabled/change on the PVE side, i.e., not just what QEMU exposes, and also reduce some verbosity with regard to implementation details. While at it, I replaced the first-person plural (we) use with third person indicative mood as documented in our style guide [0]. [0]: https://pve.proxmox.com/wiki/Technical_Writing_Style_Guide#Person_and_Mood Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
78b8af75be
commit
5107b302d3
29
qm.adoc
29
qm.adoc
@ -173,20 +173,25 @@ This means that after a fresh start, the newest machine version supported by the
|
||||
QEMU binary is used (e.g. the newest machine version QEMU 8.1 supports is
|
||||
version 8.1 for each machine type).
|
||||
|
||||
PVE Machine Version
|
||||
+++++++++++++++++++
|
||||
The machine version is also used as a safeguard when implementing new features
|
||||
or fixes that would change the hardware layout to ensure backward compatibility.
|
||||
For operations on a running VM, such as live migrations, the running machine
|
||||
version is saved to ensure that the VM can be recovered exactly as it was, not
|
||||
only from a QEMU virtualization perspective, but also in terms of how {pve} will
|
||||
create the QEMU virtual machine instance.
|
||||
|
||||
Sometimes it's necessary to introduce new defaults or change the existing
|
||||
hardware layout for new guests. For this, we have introduces an additional 'pve
|
||||
machine version'. This version begins with 0 with every new QEMU machine
|
||||
version, for example 'pc-q35-9.2+pve0'. When we want to change the hardware
|
||||
layout or a default option, we bump it to the next one (e.g.
|
||||
'pc-q35-9.2+pve1'), so older running guests are not impacted. When pinning a
|
||||
guest to a specific machine, this can be omitted. In that case it defaults to
|
||||
0.
|
||||
.PVE Machine Revision
|
||||
|
||||
Windows guests get pinned to the most current version that is available for the
|
||||
specific machine version during guest creation.
|
||||
Sometimes {pve} needs to make changes to the hardware layout or modify options
|
||||
without waiting for a new QEMU release. For this, {pve} has added an extra
|
||||
downstream revision in the form of `+pveX`.
|
||||
In these revisions, `X` is 0 for each new QEMU machine version and is omitted in
|
||||
this case, e.g. machine version `pc-q35-9.2` would be the same as machine
|
||||
version `pc-q35-9.2+pve0`.
|
||||
|
||||
If {pve} wants to change the hardware layout or a default option, the revision
|
||||
is incremented and used for newly created guests or on reboot for VMs that
|
||||
always use the latest machine version.
|
||||
|
||||
QEMU Machine Version Deprecation
|
||||
++++++++++++++++++++++++++++++++
|
||||
|
Loading…
Reference in New Issue
Block a user