mirror of
https://git.proxmox.com/git/pve-docs
synced 2025-04-29 15:43:59 +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
|
QEMU binary is used (e.g. the newest machine version QEMU 8.1 supports is
|
||||||
version 8.1 for each machine type).
|
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
|
.PVE Machine Revision
|
||||||
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.
|
|
||||||
|
|
||||||
Windows guests get pinned to the most current version that is available for the
|
Sometimes {pve} needs to make changes to the hardware layout or modify options
|
||||||
specific machine version during guest creation.
|
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
|
QEMU Machine Version Deprecation
|
||||||
++++++++++++++++++++++++++++++++
|
++++++++++++++++++++++++++++++++
|
||||||
|
Loading…
Reference in New Issue
Block a user