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