Document a CPR setup where guest RAM is shared/external and preserved in
place.
With shared RAM and x-ignore-shared enabled, the migration stream skips
guest RAM pages and transfers only non-RAM VM state (vmstate).
Note that a memfd-backed RAM file is not persistent across a reboot by
itself. For a host kexec reboot, use persistent shared memory (for
example a DAX device), or use an external manager (for example Linux Live
Update Orchestrator (LUO)) to preserve the RAM backing file and re-attach
it to the new QEMU instance.
Signed-off-by: Li Chen <me@linux.beauty>
---
docs/devel/migration/CPR.rst | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/docs/devel/migration/CPR.rst b/docs/devel/migration/CPR.rst
index b6178568a8..e60ae31b45 100644
--- a/docs/devel/migration/CPR.rst
+++ b/docs/devel/migration/CPR.rst
@@ -46,9 +46,20 @@ Usage
It is recommended that guest RAM be backed with some type of shared
memory, such as ``memory-backend-file,share=on``, and that the
-``x-ignore-shared`` capability be set. This combination allows memory
-to be saved in place. Otherwise, after QEMU stops the VM, all guest
-RAM is copied to the migration URI.
+``x-ignore-shared`` capability be set. With shared RAM and
+``x-ignore-shared``, the migration stream skips guest RAM pages and
+transfers only non-RAM VM state (vmstate), while guest RAM is preserved
+in place. Otherwise, after QEMU stops the VM, all guest RAM is copied
+to the migration URI.
+
+Note that a memfd-backed RAM file is not persistent across a reboot by
+itself. If you want to reboot to a new host kernel while keeping RAM in
+place, use persistent shared memory (for example a DAX device), or use
+an external manager (for example Linux Live Update Orchestrator (LUO))
+that preserves the RAM backing file and re-attaches it to the new QEMU
+instance (for example with ``-add-fd`` and a ``memory-backend-file``
+pointing at ``/dev/fdset/<id>``). QEMU does not manage that
+orchestration.
Outgoing:
* Set the migration mode parameter to ``cpr-reboot``.
--
2.52.0