Tas, ka tas atbalsta lielu tehnoloģiju klāstu, nenozīmē, ka jums ir jāpārzina visas tās. Jūs varat koncentrēties uz vienu tehnoloģiju, piemēram, KVM, un uz tās balstīt savu libvirt pieredzi. Šis raksts mēģinās visaptveroši kritizēt tehnoloģiju no autora personīgās pieredzes ar to.
Priekšvēsture
Lai uzzinātu, ko Libvirt spēj un kā to izmantot savā sistēmā, varat sekot šādām vadlīnijām:
- Instalējiet KVM un Libvirt uz Debian
- Libvirt ar Python
Ja jums jau ir zināmi tādi rīki kā virsh, virt-install, virt-manager, oVirt utt., Jūs jau izmantojat libvirt, pat to nezinot. Iepriekš minētie rīki aizmugurē izmanto libvirt un nodrošina lietotājam draudzīgu saskarni - komandrindu vai GUI.
Arhitektūra
Libvirt ir paredzēts darbam ar jebkuru hipervizoru un gadu gaitā ir pieaudzis, lai strādātu ar plašu hipervizoru klāstu. Libvirt dēmons atklāj API, kuru var izmantot tādas lietotnes kā virt-manager vai virsh (un pat jūsu pielāgotie Python skripti). Lietotāju pieprasījumus saņem API. Šie pieprasījumi var būt kaut kas līdzīgs KVM viesa izveidei, vai arī man parādīt atmiņu, ko izmanto dots LX dalībnieks, utt.
Pēc tam libvirt dēmons deleģē pieprasījumu attiecīgajam libvirt hipervizora draiverim. Šis draiveris saprot un īsteno visu konkrētās virtualizācijas tehnoloģijas specifiku un atbilstoši izpilda instrukcijas.
Ir atšķirīga draiveru klase, lai apstrādātu virtuālo mašīnu krātuvi un pat tīklus.
Baseini un apjomi
VM ir nepieciešams daudz krātuves. Pati uzglabāšanas tehnoloģija ir ļoti mainīga, sākot no hipervizora līdz hipervizoram. VMWare izmanto savu vmdk formātu, QEMU patīk izmantot qcow2, tur ir arī neapstrādāti diska attēli un LXC attēli ir arī cits stāsts. Turklāt jūs vēlaties grupēt visus VM diska attēlus un nodrošināt tiem citu datu nesēju, piemēram, NFS serveri, ZFS datu kopu vai vienkārši direktoriju. Tas ļauj izmantot libvirt dažādos lietojuma gadījumos, sākot no viena mājas servera līdz uzņēmuma līmeņa mērogojamam virtualizācijas risinājumam.
Vietējā libvirt valodā viena virtuālā krātuves ierīce, kas saistīta ar jebkuru VM, piemēram, VM vai uzstādāmā ISO attēla fails qcow2, raw vai vmdk, ir pazīstams kā skaļums. Saimniekdatorā izmantotie datu nesēji saistīto sējumu grupas glabāšanai ir pazīstami kā a baseins. Jūs varat izmantot NFS serverus kā pūli vai ZFS datu kopu, kā iepriekš minēts. Ja jums nav iedomātā krātuves risinājuma, varat vienkārši izmantot direktoriju.
Pēc noklusējuma libvirt ir divi dažādi baseini. Pirmais ir / var / lib / libvirt / images un / var / lib / libvirt / boot. Viena VM apjomus var sadalīt vairākos baseinos. Piemēram, visus tīros mākoņa attēlus un OS instalētāja ISO glabāju / var / lib / libvirt / sāknēšanas baseinā, un atsevišķiem VM rootfs ir instalēts attēlu failos, kas saglabāti mapē / var / lib / libvirt / images.
Vienam VM var būt pat viens baseins, vai arī varat tālāk sadalīt baseinus VM momentuzņēmumiem, dublējumkopijām utt. Tas viss ir ļoti elastīgs un ļauj sakārtot datus atbilstoši savām ērtībām.
Konfigurācijas
Virsh ir populārs rīks, lai konfigurētu visu, sākot no VM, virtuālo mašīnu tīkla un pat krātuves. Paši konfigurācijas faili dzīvo XML formātā. Jūs atradīsit sev izsniegt tādas komandas kā:
$ virsh dumpxml VM1$ virsh rediģēt VM1
Līdzīgi ir apakškomandas, piemēram, net-dumpxml un pool-edit, lai skatītu vai konfigurētu pūļu, tīklu utt konfigurāciju. Ja vēlaties zināt, kur dzīvo šie konfigurācijas faili, varat doties uz / etc / libvirt / un atrast savu hipervizoru direktoriju. Vecāku direktorijā / etc / libvirt / ir daudz globālu konfigurāciju, piemēram, draiveri (piem.,.g qemu.konf un lxc.conf) un to konfigurācija un libvirt noklusējuma uzvedība.
Lai apskatītu atsevišķu komponentu, piemēram, virtuālo mašīnu, kopu un sējumu, specifisko konfigurāciju, dodieties uz atbilstošajiem direktorijiem. Qemu viesiem tas ir / etc / libvirt / qemu
root @ deb: / etc / libvirt / qemu # ls -alkopā 24
drwxr-xr-x 4 saknes sakne 4096 21. aprīlis 10:39 .
drwxr-xr-x 6 saknes sakne 4096 28. aprīlis 17: 19…
drwxr-xr-x 2 saknes sakne 4096 21. aprīlis 10:39 automātiska palaišana
drwxr-xr-x 3 saknes sakne 4096 14. aprīlis 13:49 tīkli
-rw ------- 1 saknes sakne 3527 20. aprīlis 19:10 VM1.xml
-rw ------- 1 saknes sakne 3527 20. aprīlis 19:09 VM2.xml
Automātiskās palaišanas direktorijā būs saites uz VM1.xml un VM2.xml, ja esat konfigurējis VM automātisko palaišanu, palaižot resursdatora sistēmu ($ virsh autostart VM1).
Līdzīgi / / etc / libvirt / qemu / network satur noklusējuma tīkla qemu viesa konfigurācijas. / Etc / libvirt / storage satur XML, kas nosaka glabāšanas kopas.
Secinājums
Ja jūs interesē sava virtualizācijas resursdatora iestatīšana, laba vieta, kur sākt, būs šis raksts, kurā es parādīšu, kā instalēt QEMU-KVM viesus Debian resursdatorā, izmantojot libvirt un saistītos rīkus.
Pēc tam jūs varat sākt spēlēt ar virsh CLI un redzēt un pārvaldīt tādas entītijas kā Domain (libvirt izsauc viesa VM a domēns) tīkli, krātuves un apjomi. Tas ļaus jums pietiekami ērti izmantot tehnoloģiju, kuru varat pāriet uz citiem jēdzieniem, piemēram, momentuzņēmumiem un tīkla filtru. Es ceru, ka šis raksts jums izrādīsies labs sākumpunkts.