public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH docs 1/1] qm: add section about machine types
Date: Fri, 10 Nov 2023 14:24:45 +0100	[thread overview]
Message-ID: <20231110132451.67482-2-f.ebner@proxmox.com> (raw)
In-Reply-To: <20231110132451.67482-1-f.ebner@proxmox.com>

expanding from the two currently existing sentences. In the first one, a
typo VMs -> VM's is fixed. In the second one, "one wants to" is changed
to "you want to", because the sentence already starts with "You can" and
it's active voice.

Adds information about the machine version, rationale behind the
defaults for it and what to do for deprecated versions.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 qm.adoc | 42 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 37 insertions(+), 5 deletions(-)

diff --git a/qm.adoc b/qm.adoc
index b7938d7..2f48969 100644
--- a/qm.adoc
+++ b/qm.adoc
@@ -139,12 +139,44 @@ snapshots) more intelligently.
 {pve} allows to boot VMs with different firmware and machine types, namely
 xref:qm_bios_and_uefi[SeaBIOS and OVMF]. In most cases you want to switch from
 the default SeaBIOS to OVMF only if you plan to use
-xref:qm_pci_passthrough[PCIe passthrough]. A VMs 'Machine Type' defines the
-hardware layout of the VM's virtual motherboard. You can choose between the
-default https://en.wikipedia.org/wiki/Intel_440FX[Intel 440FX] or the
+xref:qm_pci_passthrough[PCIe passthrough].
+
+Machine Type
+^^^^^^^^^^^^
+
+A VM's 'Machine Type' defines the hardware layout of the VM's virtual
+motherboard. You can choose between the default
+https://en.wikipedia.org/wiki/Intel_440FX[Intel 440FX] or the
 https://ark.intel.com/content/www/us/en/ark/products/31918/intel-82q35-graphics-and-memory-controller.html[Q35]
-chipset, which also provides a virtual PCIe bus, and thus may be desired if
-one wants to pass through PCIe hardware.
+chipset, which also provides a virtual PCIe bus, and thus may be
+desired if you want to pass through PCIe hardware.
+
+Each machine type is versioned in QEMU and a given QEMU binary supports many
+machine versions. New versions might bring support for new features, fixes or
+general improvements. However, they also change properties of the virtual
+hardware. To avoid sudden changes from the guest's perspective and ensure
+compatibility of the VM state, live-migration and snapshots with RAM will keep
+using the same machine version in the new QEMU instance.
+
+For Windows guests, the machine version is pinned during creation, because
+Windows is sensitive to changes in the virtual hardware - even between cold
+boots. For example, the enumeration of network devices might be different with
+different machine versions. Other OSes like Linux can usually deal with such
+changes just fine. For those, the 'Latest' machine version is used by default.
+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).
+
+Very old machine versions might become deprecated in QEMU. For example, this is
+the case for versions 1.4 to 1.7 for the i440fx machine type. It is expected
+that support for these machine versions will be dropped at some point. If you
+see a deprecation warning, you should change the machine version to a newer one.
+Be sure to have a working backup first and be prepared for changes to how the
+guest sees hardware. In some scenarios, re-installing certain drivers might be
+required. You should also check for snapshots with RAM that were taken with
+these machine versions (i.e. the `runningmachine` configuration entry).
+Unfortunately, there is no way to change the machine version of a snapshot, so
+you'd need to load the snapshot to salvage any data from it.
 
 [[qm_hard_disk]]
 Hard Disk
-- 
2.39.2





  reply	other threads:[~2023-11-10 13:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-10 13:24 [pve-devel] [PATCH-SERIES docs/qemu-server] machine version information Fiona Ebner
2023-11-10 13:24 ` Fiona Ebner [this message]
2023-11-10 13:24 ` [pve-devel] [PATCH qemu-server 1/6] machine: get current: improve naming and style Fiona Ebner
2023-11-10 13:24 ` [pve-devel] [PATCH qemu-server 2/6] machine: get current: make it clear that pve-version only exists for the current machine Fiona Ebner
2023-11-10 13:24 ` [pve-devel] [PATCH qemu-server 3/6] machine: get current: return early from loop if possible Fiona Ebner
2023-11-10 13:24 ` [pve-devel] [PATCH qemu-server 4/6] machine: get current: add flag if current machine is deprecated in list context Fiona Ebner
2023-11-10 13:24 ` [pve-devel] [PATCH qemu-server 5/6] test: migration: mock get_current_qemu_machine Fiona Ebner
2023-11-10 13:24 ` [pve-devel] [PATCH qemu-server 6/6] vm start: add warning about deprecated machine version Fiona Ebner
2023-11-12 18:11 ` [pve-devel] applied-series: [PATCH-SERIES docs/qemu-server] machine version information Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231110132451.67482-2-f.ebner@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal