Libvirt facilitates the management of hypervisors and virtual machines (VM) in Linux environments. This Open Source API is found in any hypervisor based on Linux. Administrators can use a program to communicate with the hypervisor managed by libvirt, which will allow them to start, stop and migrate virtual machines. These options are available for virtual machines that run locally; for hypervisors that run on other hardware platforms you can use libvirtd daemon.
By default, libvirtd communicates with a local Unix domain socket, so that it only allows local communication. It can also be configured for TCP / IP sockets, so that it is accessible to clients through the network. Libvirtd runs as an independent layer, which means that the VMs do not need it to continue functioning normally.
The API can be shut down or restarted to perform any administration task on any type of software. As long as the VM configuration is defined in an XML file known by libvirtd, manipulating the daemon will not affect the state of the VM.
To learn how to configure libvirtd you can have a look at this article.