Discover the essential concepts of libvirt development and see how to interface to Linux virtualization environments, such as QEMU/KVM, XEN, Virtuozzo, VMWare ESX, LXC, Bhyve, and more. This book will prepare you to set up and maintain a virtual machine environment.
You’ll start by reviewing virtualization in general and then move on to libvirt-specific concepts using Python, including virtualized operating systems and networks, connections, storage pools, and event and error handling. This work concludes with a comprehensive look at the XML schema definitions for domains, networks, devices, network filtering, storage, node devices, and more.
The libvirt API covers the entire life cycle of virtual objects, from creation to destruction. It contains everything needed for the management of a virtual object during that life cycle. While libvirt has APIs that support many languages,
Foundations of Libvirt Development concentrates on Python exclusively, and how to use the APIs to control virtual machines under the QEMU/KVM system. and more.
What You’ll Learn
- Interface Python to the libvirt library.
- Review the class layout and methods of the libvirt library.
- Install and manipulate virtual machines via Python/libvirt.
- Create XML to manipulate domains, networks, and devices.
- Write Python programs to perform libvirt functions without human intervention.
Who This Book Is For
Maintainers of virtual machines in a UNIX/Linux environment ranging from managing code on a single virtual machine through an entire installation of virtual machines.
Зміст
1. Introduction.- 2. Architecture .- 3. Connecting To Domains .- 4. Guest Domains.- 5. Storage Pools and Volumes.- 6. Virtual Networks.- 7. Network Interfaces .- 8. Error Handling .- 9. Event And Timer Handling.- 10. Using the QEMU Guest Agent .- 11. Debugging and Logging .- 12. A Sample Problem .- 13. Storing Information About Virtual Machines.- 14. Securing Virtual Machines .- Appendix A. Libvirt XML Schemas.
Про автора
W. David Ashley is a technical writer for Skill Soft where he specializes in open source, particularly Linux. As a member of the Linux Fedora documentation team he recently led the Libvert project documentation, and wrote the Python programs included with it. He has developed in 20 different programming languages during his 30 years as a software developer and IT consultant, including more than 18 years at IBM and 12 years with American Airlines.