π 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
-
ΠΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅