libvirt

Libvirtről

Libvirtről
A Libvirt az egyik legnépszerűbb virtualizációs menedzsment eszköz odakinn. Ez egy felügyeleti API-ból és egy démonból áll, amelyekkel kölcsönhatásba léphet a virtualizációs veremével. A Libvirt arra törekszik, hogy egységesítse a KVM-től a VMWare ESX-ig, sőt a BHyve-ig terjedő összes virtualizációs technológia kezelési folyamatát. Kezelheti az LXC konténereket és még néhány olyan paravirtualizációs technológiát is, mint a Xen.

Az, hogy sokféle technológiát támogat, még nem jelenti azt, hogy ismernie kell mindet. Koncentrálhat egy olyan technológiára, mint a KVM, és erre építheti a libvirt élményét. Ez a cikk megpróbálja átfogó kritikát adni a technológiáról a szerző személyes tapasztalatai alapján.

Háttér

A következő útmutatásokat követve megismerheti a Libvirt képességeit és a saját rendszeren történő felhasználását:

  1. Telepítse a KVM-et és a Libvirtet a Debianra
  2. Libvirt a Pythonnal

Ha már ismeri az olyan eszközöket, mint a virsh, a virt-install, a virt-manager, az oVirt stb., Akkor már használja a libvirt-t anélkül, hogy tudná. A fent említett eszközök a libvirtet használják a háttérprogramban, és felhasználóbarát felületet biztosítanak, legyen az parancssor vagy GUI.

Építészet

A Libvirt bármilyen hipervizorral való együttműködésre lett tervezve, és az évek során úgy alakult, hogy a hipervizorok széles skálájával működjön együtt. A libvirt démon olyan API-t tesz ki, amelyet olyan alkalmazások használhatnak, mint a virt-manager vagy a virsh (és még az Ön egyéni Python-szkriptjei is). A felhasználói kéréseket az API fogadja. Ezek a kérések bármilyenek lehetnek, például KVM-vendég létrehozása, vagy az adott LX-versenyző által használt memória megjelenítése stb.

Ezután a libvirt démon delegálja a kérést a megfelelő libvirt hypervisor illesztőprogramra. Ez az illesztőprogram megérti és végrehajtja az adott virtualizációs technológia összes sajátosságát, és ennek megfelelően hajtja végre az utasításokat.

Van egy másik osztályú illesztőprogram a virtuális gépek tárhelyének és akár hálózatainak kezelésére.

Medencék és kötetek

A virtuális gépeknek sok tárhelyre van szükségük. Maga a tárolási technológia hipervizortól hipervizorig nagyon változó. A VMWare saját vmdk formátumot használ, a QEMU szereti használni a qcow2-t, vannak nyers lemezképek és az LXC képek is egy másik történet. Ezenkívül össze szeretné csoportosítani az összes virtuális gép lemezképét, és egy másik adathordozót biztosítana nekik, például egy NFS-kiszolgálót, egy ZFS-adatkészletet vagy csak egy könyvtárat. Ez lehetővé teszi a libvirt használatát különféle használati esetekben, egyetlen otthoni kiszolgálótól kezdve a vállalati szintű skálázható virtualizációs megoldásig.

A libvirt köznyelvben egyetlen virtuális géphez társított egyetlen virtuális tárolóeszköz, például virtuális gép qcow2, raw vagy vmdk képfájlja vagy csatlakoztatható ISO néven ismert hangerő. A gazdagépen a kapcsolódó kötetek csoportjának tárolására használt adathordozó a medence. Használhat NFS-kiszolgálókat készletként vagy ZFS-adatkészletet, amint azt korábban említettük. Ha nincs elegáns tárolási megoldása, akkor egyszerűen használhat könyvtárat.

Alapértelmezés szerint a libvirt két különböző készletet tartalmaz. Az első a / var / lib / libvirt / images és / var / lib / libvirt / boot. Egy virtuális gép kötetei több készletre oszthatók. Például az összes tiszta felhő képet és az operációs rendszer telepítőjének ISO-ját a / var / lib / libvirt / boot készletben tárolom, az egyes virtuális gépekhez pedig a rootf-eket a / var / lib / libvirt / images könyvtárban tárolt képfájlokba telepítem.

Akár egyetlen pool is rendelkezhet egyetlen virtuális géphez, vagy tovább oszthatja a poolokat a virtuális gépek pillanatképei, biztonsági mentései stb. Mindez nagyon rugalmas, és lehetővé teszi, hogy az Ön kényelme szerint rendezze adatait.

Konfigurációk

A Virsh egy népszerű eszköz, amellyel mindent konfigurálhat a virtuális gépétől, a virtuális gépek hálózatától és akár a tárhelyétől is. Maguk a konfigurációs fájlok XML formátumban élnek. Olyan parancsokat adhat ki magának, mint:

$ virsh dumpxml VM1
$ virsh szerkesztés VM1

Hasonlóképpen vannak olyan alparancsok, mint a net-dumpxml és a pool-edit, hogy megtekinthessék vagy konfigurálhassák a poolok, hálózatok stb. Ha kíváncsi ezekre a konfigurációs fájlokra, keresse fel az / etc / libvirt / mappát, és megtalálja az érintett hipervizorok könyvtárát.  Az / etc / libvirt / szülőkönyvtár sok olyan globális konfigurációt tartalmaz, mint az illesztőprogramok (pl.g qemu.konf és lxc.conf) és konfigurációjuk, valamint a libvirt alapértelmezett viselkedése.

Az egyes összetevők, például a virtuális gépek, a készletek és a kötetek speciális konfigurációjának megtekintéséhez el kell mennie a megfelelő könyvtárakba. A qemu vendégek számára ez az / etc / libvirt / qemu

root @ deb: / etc / libvirt / qemu # ls -al
összesen 24
drwxr-xr-x 4 gyökérgyökér 4096 április 21. 10:39 .
drwxr-xr-x 6 gyökérgyökér 4096 április 28. 17:19…
drwxr-xr-x 2 gyökérgyökér 4096 április 21. 10:39 automatikus indítás
drwxr-xr-x 3 gyökérgyökér 4096 április 14, 13:49 hálózatok
-rw ------- 1 gyökérgyökér 3527. április 20. 19:10 VM1.xml
-rw ------- 1 gyökérgyökér 3527. április 20. 19:09 VM2.xml

Az automatikus indítás könyvtár a VM1-hez való hivatkozásokat tartalmazza.xml és VM2.xml, ha beállította a virtuális gépeket az automatikus indításra, amikor a gazdagép elindul ($ virsh autostart VM1).

Hasonlóképpen, az / etc / libvirt / qemu / network tartalmaz egy konfigurációt az alapértelmezett hálózathoz egy qemu vendégként. Az / etc / libvirt / storage XML-eket tartalmaz, amelyek meghatározzák a tárolókészleteket.

Következtetés

Ha érdekel a saját virtualizációs gazdagép beállítása, akkor jó kiindulópont lesz ez a cikk, ahol bemutatom, hogyan kell telepíteni a QEMU-KVM vendégeket egy Debian gazdagépre a libvirt és a kapcsolódó eszközök segítségével.

Ezután elkezdhet játszani a virsh CLI-vel, és megtekintheti és kezelheti az olyan entitásokat, mint a Domain (a libvirt meghívja a vendég virtuális gépeket a tartomány) hálózatok, tárolókészletek és kötetek. Ez kellően kényelmessé teszi a technológiát, és áttérhet más koncepciókra, például a pillanatképekre és a hálózati szűrőre. Remélem, hogy ez a cikk jó kiindulópontnak bizonyul az Ön számára.

OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...
OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...