While the content is slightly outdated it's still a good primer on how an API call traverses through the client library and to the remote driver. To make the page useful, this commit: - removes the paragraphs which were intended to serve as a directory page for the 'internals' subdirectory - adds a note saying that some facts might not be up to date - adds linking to this page from the kbase directory page - adds more monospace formatting around function names Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3.1 KiB
Knowledge base
Usage
- Secure usage
-
Secure usage of the libvirt APIs
- Backing chain management
-
Explanation of how disk backing chain specification impacts libvirt's behaviour and basic troubleshooting steps of disk problems.
- Virtiofs
-
Share a filesystem between the guest and the host
- Security with QEMU passthrough
-
Examination of the security protections used for QEMU and how they need configuring to allow use of QEMU passthrough with host files/devices.
- TLS certificates
-
Generate and deploy x509 certificates for TLS.
- RPM deployment
-
Explanation of the different RPM packages and illustration of which to pick for installation
- Domain state capture
-
Comparison between different methods of capturing domain state
- Disk locking
-
Ensuring exclusive guest access to disks with virtlockd or Sanlock
- Protected virtualization on s390
-
Running secure s390 guests with IBM Secure Execution
- Launch security
-
Securely launching VMs with AMD SEV
- Live full disk backup
-
A walkthrough of how to take effective live full disk backups.
- Merging disk image chains
-
Ways to reduce or consolidate disk image chains.
- KVM real time
-
Run real time workloads in guests on a KVM hypervisor
- PCI hotplug
-
Effective usage of PCI hotplug
- PCI topology
-
Addressing schemes for PCI devices
- Memory devices
-
Memory devices and their use
- Snapshots
-
Details about snapshotting a VM
Debugging
- Debug logs
-
Configuration of logging and tips on how to file a good bug report.
- Systemtap
-
Explanation of how to use systemtap for libvirt tracing.
- Capturing core dumps for QEMU
-
How to configure libvirt to enable capture of core dumps from QEMU virtual machines
Internals
- Incremental backup internals
-
Incremental backup implementation details relevant for users
- VM migration internals
-
VM migration implementation details, complementing the info in migration
- API call flow overview
-
Overview of how an API call is handled by the
libvirt
library and passed over RPC to the daemon. - Spawning commands
-
Spawning commands from libvirt driver code
- Event loop and worker pool
-
Libvirt's event loop and worker pool mode
- Lock managers
-
Use lock managers to protect disk content
- RPC protocol & APIs
-
RPC protocol information and API / dispatch guide