Difference between revisions of "Libvirt"

From wikieduonline
Jump to navigation Jump to search
 
(63 intermediate revisions by the same user not shown)
Line 1: Line 1:
libvirt<ref>https://libvirt.org/</ref> is a virtualization API with supports for [[KVM]], [[QEMU]], Xen, Virtuozzo, VMWare ESX, LXC, BHyve and more
+
<code>libvirt</code><ref>https://libvirt.org/</ref> is a [[virtualization]] API with supports for [[KVM]], [[QEMU]], Xen, Virtuozzo, VMWare ESX, LXC, BHyve and more
 
 
 
 
  
  
 
== Ubuntu packages ==
 
== Ubuntu packages ==
 
At least the following packages compose libvirt in Ubuntu:
 
At least the following packages compose libvirt in Ubuntu:
* libvirt-bin
+
* <code>[[libvirt-bin]]</code> (<code>dpkg -s</code> This is a transitional package. You can safely remove it)
* libvirt-clients: virsh, [[virt-admin]] virt-host-validate virt-login-shell virt-pki-validate virt-xml-validate
+
 
* libvirt-daemon:  
+
[[Ubuntu 20.04 LTS]]
::libvirtd:  <code>/etc/libvirt/virtlogd.conf</code>
+
* <code>[[libvirt-clients]]</code>: <code>[[virsh]]</code>, <code>[[virt-admin]]</code>, <code>virt-host-validate</code>, <code>[[virt-login-shell]]</code>, <code>[[virt-pki-validate]]</code>, <code>[[virt-xml-validate]]</code>
::virt-sanlock-cleanup
+
* <code>[[libvirt-daemon]]</code>:  
::virtlockd
+
::<code>libvirtd</code>:  <code>[[/etc/libvirt/virtlogd.conf]]</code>
::virtlogd
+
::<code>virt-sanlock-cleanup</code>
 +
::<code>virtlockd</code>
 +
::<code>[[virtlogd]]</code> (<code>[[systemctl status libvirtd]]</code>)
 +
::<code>[[libvirt-guests.sh]]</code>
 +
* <code>[[libvirt-daemon-system]]</code>
 +
::<code>[[systemctl status libvirt-guests]]</code>
  
 
== Config files and directories ==
 
== Config files and directories ==
 
* Config directories:  
 
* Config directories:  
 
:: <code>/etc/[[libvirt]]/</code>
 
:: <code>/etc/[[libvirt]]/</code>
:: <code>/etc/[[libvirt]]/qemu</code>
+
:: <code>/etc/[[libvirt/storage/]]</code> (In Ubuntu there is no default pool. Folder will be automatically created with first pool)
 +
:: <code>/etc/[[libvirt]]/[[qemu.conf]]</code>
 +
:: <code>/etc/[[libvirt]]/[[qemu]]/XML_FILES_FROM_SERVERS.XML</code>
 +
:: <code>/etc/[[libvirt]]/qemu/networks</code>
 
* Config files:
 
* Config files:
:: <code>/etc/libvirt/virtlogd.conf</code>
+
:: <code>/etc/libvirt/[[virtlogd.conf]]</code>
 
::: Includes information about Unix Socket permissions: unix_sock_group, unix_sock_ro_perms, unix_sock_rw_perms, auth_unix_ro, auth_unix_rw
 
::: Includes information about Unix Socket permissions: unix_sock_group, unix_sock_ro_perms, unix_sock_rw_perms, auth_unix_ro, auth_unix_rw
 +
:: <code>[[/etc/libvirt/libvirtd.conf]]</code>
 +
  
 
* Images directory: <code>/var/lib/libvirt/images</code> (See: <code>[[virsh pool-define-as]]</code>)
 
* Images directory: <code>/var/lib/libvirt/images</code> (See: <code>[[virsh pool-define-as]]</code>)
* Logs:  
+
* [[Journalctl -u libvirtd|Logs]]:  
:<code>/var/log/libvirt/qemu</code>
+
:<code>[[/var/log/libvirt/qemu/]]</code>
:<code>[[journalctl]] -u libvirtd</code>
+
:<code>[[journalctl -r -u libvirtd]]</code>
 +
:<code>[[systemctl status libvirtd]]</code>
 +
:<code>[[systemctl restart libvirtd]]</code>
  
== [[Linux Administration/System Services/System Logging/Journalctl|Journalctl]] errors ==
+
* Information
<code>libvirtd[14189]: 2019-11-21 15:08:13.035+0000: 14192: error : qemuDomainBlockCommit:17568 : invalid argument: top '/path/to/file/VM_NAME.qcow2' in chain for 'hda' has no backing file</code>
+
:<code>[[libvirtd --help]]</code>, the daemon will print out the paths of the Unix domain socket(s) that it listens on
  
 
== Activities ==
 
== Activities ==
 
Basic
 
Basic
 
* Read Libvirt Changelog: https://libvirt.org/git/?p=libvirt.git;a=log
 
* Read Libvirt Changelog: https://libvirt.org/git/?p=libvirt.git;a=log
* Read [[/Libvirt Release notes/]]: https://libvirt.org/news.html
+
* Read [[Libvirt Release notes]]: https://libvirt.org/news.html
 
* Read Libvirt FAQ: https://wiki.libvirt.org/page/FAQ
 
* Read Libvirt FAQ: https://wiki.libvirt.org/page/FAQ
 +
* [[Install KVM in an Ubuntu Server]] following https://help.ubuntu.com/community/KVM/Installation instructions:
  
 
Medium
 
Medium
* Restart libvirtd daemon: <code>systemctl restart libvirtd</code>
+
* Restart libvirtd daemon: <code>[[systemctl restart libvirtd]]</code>
  
  
Expert:
+
Advanced:
 
* Read Libvirt code: https://github.com/libvirt/libvirt
 
* Read Libvirt code: https://github.com/libvirt/libvirt
 
* Implement uptime functionality in libvirt code: https://www.spinics.net/linux/fedora/libvir/msg98027.html
 
* Implement uptime functionality in libvirt code: https://www.spinics.net/linux/fedora/libvir/msg98027.html
* [[/Review libvirt error messages in journald/]]
+
* [[Review libvirt error messages in journald]]
 
* Understand different CPU model an topologies: https://libvirt.org/formatdomain.html#elementsCPU
 
* Understand different CPU model an topologies: https://libvirt.org/formatdomain.html#elementsCPU
 +
* Review [[AppArmor]] configurations related to libvirt: <code>/etc/apparmor.d/libvirt</code>
 +
 +
 +
== Related terms ==
 +
* <code>[[multipass set]] local.driver=libvirt</code>
 +
* [[Ceph]] storage driver backend
 +
* <code>[[prometheus-libvirt-exporter]]</code>
  
 
== See also ==
 
== See also ==
 +
* [[MacVTap]]
 +
* {{libvirtd}}
 +
* {{libvirt}}
 +
* {{virt-manager}}
 
* {{virsh}}
 
* {{virsh}}
* [[/qemu/]]
+
* {{QEMU}}
* [[KVM/MacVTap|MacVTap]]
+
* {{KVM platforms}}
 +
* {{KVM}}
 +
 
  
 
[[Category:Operating systems]]
 
[[Category:Operating systems]]
 +
[[Category:KVM]]
  
 
{{CC license}}
 
{{CC license}}
 
Source: https://en.wikiversity.org/wiki/KVM/libvirt
 
Source: https://en.wikiversity.org/wiki/KVM/libvirt

Latest revision as of 19:24, 4 June 2022

libvirt[1] is a virtualization API with supports for KVM, QEMU, Xen, Virtuozzo, VMWare ESX, LXC, BHyve and more


Ubuntu packages[edit]

At least the following packages compose libvirt in Ubuntu:

  • libvirt-bin (dpkg -s This is a transitional package. You can safely remove it)

Ubuntu 20.04 LTS

libvirtd: /etc/libvirt/virtlogd.conf
virt-sanlock-cleanup
virtlockd
virtlogd (systemctl status libvirtd)
libvirt-guests.sh
systemctl status libvirt-guests

Config files and directories[edit]

  • Config directories:
/etc/libvirt/
/etc/libvirt/storage/ (In Ubuntu there is no default pool. Folder will be automatically created with first pool)
/etc/libvirt/qemu.conf
/etc/libvirt/qemu/XML_FILES_FROM_SERVERS.XML
/etc/libvirt/qemu/networks
  • Config files:
/etc/libvirt/virtlogd.conf
Includes information about Unix Socket permissions: unix_sock_group, unix_sock_ro_perms, unix_sock_rw_perms, auth_unix_ro, auth_unix_rw
/etc/libvirt/libvirtd.conf


/var/log/libvirt/qemu/
journalctl -r -u libvirtd
systemctl status libvirtd
systemctl restart libvirtd
  • Information
libvirtd --help, the daemon will print out the paths of the Unix domain socket(s) that it listens on

Activities[edit]

Basic

Medium


Advanced:


Related terms[edit]

See also[edit]

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.

Source: https://en.wikiversity.org/wiki/KVM/libvirt

Advertising: