| Summary: | Warn users against setting memory hard limit too high or too low when used for rdma-pin-all | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Fangge Jin <fjin> |
| Component: | libvirt | Assignee: | Jiri Denemark <jdenemar> |
| Status: | CLOSED ERRATA | QA Contact: | Yanqiu Zhang <yanqzhan> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 7.3 | CC: | dyuan, jdenemar, mzhan, rbalakri, xuzhang, yafu, zpeng |
| Target Milestone: | rc | Keywords: | Documentation |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-3.8.0-1.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-04-10 10:39:40 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
Fixed upstream by
commit 4e116e9dad24ae28558070efdddbdee0d651f56a
Refs: v2.5.0-rc1-4-g4e116e9da
Author: Jiri Denemark <jdenemar>
AuthorDate: Thu Nov 24 16:32:19 2016 +0100
Commit: Jiri Denemark <jdenemar>
CommitDate: Tue Nov 29 16:48:03 2016 +0100
Enhance documentation of virDomainMigrateFlags
The enhanced documentation of VIR_MIGRATE_RDMA_PIN_ALL fixes
https://bugzilla.redhat.com/show_bug.cgi?id=1373783
Signed-off-by: Jiri Denemark <jdenemar>
For end users, it's not very convenient to check the information in code file, I suggest that the comments to be added in documents such as /usr/share/doc/libvirt-docs-2.5.0/html/formatdomain.html(hard_limit) or migration.html. The API docs is the right place for someone who wants to use the API, but you're right it's not easily visible to a user. I guess virsh man page would be the right place. Fixed upstream by
commit 440838472d860224a94a77ca1f2c100df6c3ca77
Refs: v3.7.0-83-g440838472d
Author: Jiri Denemark <jdenemar>
AuthorDate: Fri Sep 8 21:31:29 2017 +0200
Commit: Jiri Denemark <jdenemar>
CommitDate: Mon Sep 18 10:30:47 2017 +0200
virsh: Enhance documentation of --rdma-pin-all option
https://bugzilla.redhat.com/show_bug.cgi?id=1373783
Signed-off-by: Jiri Denemark <jdenemar>
Reviewed-by: Pavel Hrdina <phrdina>
Can reproduce with libvirt-3.2.0-14.el7_4.2.x86_64.
Steps to reproduce:
# man virsh
...
migrate [--live] [--offline] [--direct] [--p2p [--tunnelled]] [--persistent]
[--undefinesource] [--suspend] [--copy-storage-all] [--copy-storage-inc] [--change-protection]
[--unsafe] [--verbose] [--rdma-pin-all] ...
...
--rdma-pin-all can be used with RDMA migration (i.e., when migrateuri starts with rdma://)
to tell the hypervisor to pin all domain's memory at once before migration starts rather
than letting it pin memory pages as needed.
...
Verify this bug with libvirt-3.8.0-1.el7.x86_64.
Steps to verify:
# man virsh
...
migrate [--live] [--offline] [--direct] [--p2p [--tunnelled]] [--persistent]
[--undefinesource] [--suspend] [--copy-storage-all] [--copy-storage-inc] [--change-protection]
[--unsafe] [--verbose] [--rdma-pin-all] ...
...
--rdma-pin-all can be used with RDMA migration (i.e., when migrateuri starts with rdma://)
to tell the hypervisor to pin all domain's memory at once before migration starts rather
than letting it pin memory pages as needed. For QEMU/KVM this requires hard_limit memory
tuning element (in the domain XML) to be used and set to the maximum memory configured for
the domain plus any memory consumed by the QEMU process itself. Beware of setting the
memory limit too high (and thus allowing the domain to lock most of the host's memory).
Doing so may be dangerous to both the domain and the host itself since the host's kernel
may run out of memory.
Mark this bug as verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2018:0704 |
Description of problem: When do RDMA migration with rdma-pin-all, the memory hard limit has to be high enough for both guest memory and memory consumed by QEMU, but also setting the limit too high( close to host memory size) may result in QEMU being killed. We should document this to let the user know. Just like this section in doc file formatdomain.html: Memory Backing->locked locked When set and supported by the hypervisor, memory pages belonging to the domain will be locked in host's memory and the host will not be allowed to swap them out. For QEMU/KVM this requires hard_limit memory tuning element to be used and set to the maximum memory configured for the domain plus any memory consumed by the QEMU process itself. Beware of setting the memory limit too high (and thus allowing the domain to lock most of the host's memory). Doing so may be dangerous to both the domain and the host itself since the host's kernel may run out of memory.