π libvirt
libvirt β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ KVM, QEMU, Xen, LXC, Bhyve ΠΈ Π΄Ρ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ API Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ.
π§ ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
libvirt Π²ΠΊΠ»ΡΡΠ°Π΅Ρ:
- libvirt API β C-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π΄Π»Ρ Python, Go, Rust
 - libvirtd β Π΄Π΅ΠΌΠΎΠ½ (Π² ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡΡ ) Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ°ΠΌΠΈ
 - virsh β CLI-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ
 - libvirt XML β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΠ (CPU, RAM, Π΄ΠΈΡΠΊΠΈ, ΡΠ΅ΡΡ ΠΈ ΠΏΡ.)
 
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°:
[ virsh / API ] β [ libvirt.so ] β [ Π΄ΡΠ°ΠΉΠ²Π΅Ρ KVM/QEMU/Xen/... ] β [ Hypervisor ]ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅:
- 
VM Π·Π°ΠΏΡΡΠΊΠΎΠΌ/ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ
 - 
CPU/RAM hotplug
 
βοΈ ΠΠ΄Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ
| ΠΠ±Π»Π°ΡΡΡ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | 
|---|---|
| Datacenter | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ VM-ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ | 
| DevOps | CI/CD ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π²ΠΈΡΡΡΠ°Π»ΠΊΠ°Ρ | 
| Cloud | ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ IaaS | 
| NFV | Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² VM | 
β ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°
- 
ΠΠ΄ΠΈΠ½ΡΠΉ API Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΠ²
 - 
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΡΠ·ΡΠΊΠΎΠ²
 - 
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ virt-manager, OpenStack, oVirt
 
β ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
- 
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ XML-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ
 - 
libvirtd ΡΡΡΠ°ΡΠ΅Π» ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° modular daemons
 - 
ΠΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅