复制后迁移不是默认设置,但在某些情况下非常有用
由于 Ubuntu 21.04 Hirsute 内核为 v5.11,因此复制后迁移将失败,如下所示:
virsh migrate --unsafe --live --postcopy --postcopy-after-precopy kvmguest-focal-postcopy qemu+ssh://10.85.93.248/system
error: internal error: unable to execute QEMU command 'migrate-set-capabilities': Postcopy is not supported
答案1
v5.11 内核包含以下上游更改userfaultfd:为 unprivileged_userfaultfd sysctl 旋钮添加仅限用户模式的选项
这也适用于例如 v5.11 上的 Focal-HWE 内核或 Hirsute 内核下容器中的 Focal 用户空间(即上面的例子)。
这样做是出于安全原因,如果您想要/需要重新启用无限制的用户故障处理才能再次使用后复制,您需要将控制旋钮设置为如下形式:
$ sudo sysctl -w "vm.unprivileged_userfaultfd=1"
我主要希望用户能够找到背景和解决方案,因此我也在 bug 中记录了这一点1926249