To, že podporuje veľké množstvo technológií, ešte neznamená, že musíte byť oboznámení so všetkými z nich. Môžete sa sústrediť na jednu technológiu, ako je KVM, a okolo toho rozvíjať svoje skúsenosti s libvirtom. Tento článok sa bude snažiť komplexne kritizovať technológiu z autorových osobných skúseností s ňou.
Pozadie
Ak sa chcete dozvedieť, čoho je Libvirt schopný a ako ho môžete použiť vo svojom systéme, postupujte podľa nasledujúcich pokynov:
- Nainštalujte KVM a Libvirt na Debian
- Libvirt s Pythonom
Ak už ovládate nástroje ako virsh, virt-install, virt-manager, oVirt atď., Potom už používate libvirt bez toho, aby ste o tom vedeli. Vyššie uvedené nástroje používajú v backende libvirt a poskytujú užívateľsky prívetivé rozhranie, či už je to príkazový riadok alebo GUI.
Architektúra
Libvirt je navrhnutý pre prácu s akýmkoľvek hypervízorom a v priebehu rokov sa rozrástol o spoluprácu so širokou škálou hypervízorov. Démon libvirt vystavuje API, ktoré môžu používať aplikácie ako virt-manager alebo virsh (a dokonca aj vaše vlastné skripty Pythonu). Žiadosti používateľov prijíma API. Tieto požiadavky môžu byť ako vytvorenie KVM hosťa, alebo mi môžu ukázať pamäť použitú daným LX kontianerom atď.
Démon libvirt potom deleguje požiadavku na príslušný ovládač hypervízora libvirt. Tento ovládač rozumie a implementuje všetky špecifiká danej virtualizačnej technológie a podľa toho vykonáva pokyny.
Existuje iná trieda ovládačov na prácu s úložiskom a dokonca aj sieťami virtuálnych počítačov.
Bazény a zväzky
Virtuálne počítače potrebujú veľa úložného priestoru. Samotná technológia ukladania je veľmi variabilná od hypervisora k hypervisoru. VMWare používa vlastný formát vmdk, QEMU rád používa qcow2, sú tu aj nespracované obrázky diskov a obrázky LXC sú tiež iným príbehom. Ďalej by ste chceli zoskupiť všetky obrazy diskov VM a poskytnúť im rôzne úložné médiá, ako napríklad server NFS, súbor údajov ZFS alebo iba adresár. To vám umožňuje používať libvirt v rôznych prípadoch použitia od jedného domáceho servera po škálovateľné virtualizačné riešenie podnikovej triedy.
V ľudovom jazyku libvirt je jedno virtuálne úložné zariadenie spojené s akýmkoľvek virtuálnym počítačom, napríklad obrazový súbor qcow2, raw alebo vmdk virtuálneho počítača alebo pripojiteľného ISO, známe ako objem. Pamäťové médium používané na hostiteľovi na ukladanie skupiny združených zväzkov je známe ako bazén. Ako už bolo spomenuté, môžete použiť servery NFS ako fond alebo súbor údajov ZFS. Ak nemáte luxusné riešenie úložiska, môžete jednoducho použiť adresár.
V predvolenom nastavení má libvirt dva rôzne fondy. Prvý je / var / lib / libvirt / images a / var / lib / libvirt / boot. Objemy pre jeden VM je možné rozdeliť do viacerých fondov. Napríklad ukladám všetky čisté cloudové obrázky a ISO inštalačného programu OS do / var / lib / libvirt / boot pool a pre jednotlivé VM sú rootfs nainštalované v obrazových súboroch uložených v / var / lib / libvirt / images.
Môžete dokonca mať jeden fond pre jeden VM, alebo môžete ďalej rozdeliť fondy pre snímky VM, zálohy atď. Je to všetko veľmi flexibilné a umožňuje vám usporiadať údaje podľa vášho pohodlia.
Konfigurácie
Virsh je populárny nástroj na konfiguráciu všetkého od vášho VM, sietí virtuálnych strojov a dokonca aj úložiska. Samotné konfiguračné súbory sú zverejnené vo formáte XML. Zistíte, že vydávate príkazy ako:
$ virsh dumpxml VM1$ virsh upraviť VM1
A podobne existujú aj čiastkové príkazy ako net-dumpxml a pool-edit na prezeranie alebo konfiguráciu konfigurácie bazénov, sietí atď. Ak ste zvedaví, kde tieto konfiguračné súbory žijú, môžete prejsť na / etc / libvirt / a nájsť adresár týkajúci sa vašich hypervízorov. Samotný nadradený adresár / etc / libvirt / obsahuje veľa globálnych konfigurácií, ako sú napríklad ovládače (napr.g qemu.conf a lxc.conf) a ich konfigurácia a predvolené správanie libvirt.
Ak sa chcete pozrieť na konkrétnu konfiguráciu jednotlivých komponentov, ako sú napríklad virtuálne počítače, fondy a zväzky, musíte prejsť do zodpovedajúcich adresárov. Pre hostí qemu je to / etc / libvirt / qemu
root @ deb: / etc / libvirt / qemu # ls -alspolu 24
drwxr-xr-x 4 koreňový koreň 4096 21. apríla 10:39 .
drwxr-xr-x 6 koreňový koreň 4096 28. apríla 17:19…
drwxr-xr-x 2 koreňový koreň 4096 21. apríla 10:39 automatické spustenie
drwxr-xr-x 3 root root 4096 14. apríla 13:49 sietí
-rw ------- 1 koreňový koreň 3527 20. apríla 19:10 VM1.xml
-rw ------- 1 koreňový koreň 3527 20. apríla 19:09 VM2.xml
Adresár automatického spustenia bude obsahovať symbolické odkazy na VM1.xml a VM2.xml, ak ste nakonfigurovali VM na automatické spustenie pri zavedení hostiteľského systému ($ virsh autostart VM1).
Podobne / etc / libvirt / qemu / network obsahuje konfigurácie pre predvolenú sieť a hosťa qemu. Súbor / etc / libvirt / storage obsahuje XML definujúce oblasti úložiska.
Záver
Ak máte záujem o nastavenie vlastného virtualizačného hostiteľa, dobrým miestom pre začiatok bude tento článok, kde ukážem, ako nainštalovať hostí QEMU-KVM na hostiteľa Debianu pomocou libvirt a súvisiacich nástrojov.
Potom môžete začať hrať s virsh CLI a vidieť a spravovať entity ako Domain (libvirt volá hosťujúce VM a doména) siete, fondy úložiska a zväzky. Vďaka tomu budete dostatočne pohodlní s technológiou, ktorú môžete presunúť k ďalším konceptom, ako sú snímky a sieťový filter. Dúfam, že sa vám tento článok ukáže ako dobrý východiskový bod.