6 nyílt forráskódú virtualizációs technológia, amit 2020-ban ismerned kell

A Virtualization Tools, ismertebb nevén Virt Tools, hat nyílt forráskódú virtualizációs eszköz gyűjteménye, amelyet különböző közreműködők hoztak létre, hogy jobbá tegyék a virtualizáció világát.

Az eszközök egy része, mint például a KVM és a QEMU, ismerős lehet a Linux-rajongók számára, de az olyan eszközök, mint a libvirt és a libguestfs valószínűleg kevésbé.

Amennyiben inkább videók megtekintésével, mint olvasással szeretne tanulni, elkészítettem ennek a cikknek egy videós változatát, amelyet a YouTube-on érhet el.

Mielőtt végigjárná az eszközöket, nem árt, ha ismer néhány alapvető virtualizációs szakkifejezést. A definíciók közül sokat a Wikipédiából merítettem, a táblázatban hivatkozott oldalakkal.

Term Definíció
Virtualizáció A számítástechnikában a virtualizáció valaminek egy virtuális (és nem fizikai) változatának létrehozására utal, beleértve a virtuális számítógépes hardverplatformokat, tárolóeszközöket és számítógépes hálózati erőforrásokat.
Emulátor Az emulátor olyan hardver vagy szoftver, amely lehetővé teszi, hogy egy számítógépes rendszer (az úgynevezett host) úgy viselkedjen, mint egy másik számítógépes rendszer (az úgynevezett guest).
Virtuális gép (VM) A “vendéggép” néven is ismert, valódi, fizikai hardveres számítógépek emulációja.
Host A hardveres virtualizációban egy számítógép, amelyen egy hipervizor egy vagy több VM-et futtat.
Hypervisor Ez a számítógépes szoftver, firmware vagy hardver, amely létrehozza és futtatja a VM-eket.
Kernel Ez a számítógép operációs rendszerének magját képező számítógépes program, amely a rendszerben minden felett teljes ellenőrzést gyakorol.
Daemon Ez egy olyan számítógépes program, amely háttérfolyamatként fut, nem pedig az interaktív felhasználó közvetlen irányítása alatt.

Ez a táblázat összefoglalja az egyes Virt eszközöket, beleértve a licencadatokat és az egyes eszközök weboldalára és forráskódjára mutató linkeket. Ezen információk nagy része a Virt Tools weboldaláról és az egyes eszközök oldaláról származik.

Név Miről van szó Licenc Forráskód
Kernel-based Virtual Machine (KVM) A Linux kernel virtualizációs modulja, amely lehetővé teszi, hogy a kernel hipervisorként működjön GNU GPL vagy LGPL Source code
Quick Emulator (QEMU) Egy általános és nyílt forráskódú gépemulátor és virtualizátor GPLv2 Forráskód
Libvirt Egy könyvtár és démon, amely stabil, nyílt forráskódú API-t a virtualizációs hosztok kezeléséhez GNU Forráskód
Libguestfs Egy eszközkészlet a VM lemezképek eléréséhez és módosításához LGPL, GPL Forráskód
Virt-manager Egy asztali felhasználói felület a VM-ek kezelésére a libvirt segítségével GPLv2+ Forráskód
Libosinfo Bizonyít egy adatbázist a információkat az operációs rendszerek kiadásairól, hogy segítse a hardver optimális konfigurálását a VM-ek telepítésekor LGPLv2+ Forráskód

Kernel-based Virtual Manager (KVM)

2_kvm.jpg

KVM honlap

(Bryant Son, CC BY-SA 4.0)

A KVM egy teljes virtualizációs megoldás Linuxhoz a virtualizációs kiterjesztéseket tartalmazó hardvereken. A KVM a vendég operációs rendszerek széles skálájához biztosítja a hardveres virtualizációt, beleértve a Linuxot, a Windows-t, a macOS-t, a ReactOS-t és a Haiku-t is. A KVM használatával több VM futtatható változatlan Linux- vagy Windows-képeken. Minden VM saját virtualizált hardverrel rendelkezik: hálózati kártya, lemez, grafikus adapter stb.

A legtöbbször nem lép közvetlenül kapcsolatba a KVM-mel. Ehelyett a QEMU-t, a virt-manager-t vagy más virtualizációs kezelőeszközt kell használnia a KVM kihasználásához.

A KVM weboldalán teljes dokumentációt talál, valamint hozzáférhet a forráskódjához.

Quick Emulator (QEMU)

3_qemu.jpg

QEMU honlap

(Bryant Son, CC BY-SA 4.0)

AQEMU egy általános, nyílt forráskódú gépemulátor és virtualizátor. Emulátorként használva a QEMU képes egy gépre (pl. ARM lapkára) készült operációs rendszerek és programok futtatására egy másik gépen (pl. saját x86_64-es PC-n). Virtualizátorként használva a QEMU közel natív teljesítményt ér el azáltal, hogy a vendégkódot a KVM segítségével közvetlenül a host CPU-n hajtja végre.

A QEMU több operációs rendszeren is támogatott, és a telepítési folyamata olyan egyszerű, mint néhány egyszerű parancs futtatása; itt láthatod, hogyan telepítheted a QEMU-t macOS-re a Homebrew segítségével.

3_1_qemuinstall.jpg

QEMU macOS telepítési információ

(Bryant Son, CC BY-SA 4.0)

A telepítés után a dokumentáció átolvasásával tanulja meg a használatát, és hozzáférhet a forráskódjához is.

Libvirt

4_libvirt.jpg

Libvirt honlap

(Bryant Son, CC BY-SA 4.0)

A Libvirt egy könyvtár és daemon, amely stabil nyílt forráskódú API-t biztosít a virtualizációs hosztok kezeléséhez. Több hipervisort céloz meg, többek között a QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox stb.

A libvirt további érdekessége, hogy a KubeVirt, a Kubernetes platformon belüli VM-ek létrehozására és kezelésére szolgáló nyílt forráskódú projekt nagyrészt a Libvirtet használja. (A KubeVirt-tel egy későbbi cikkben fogok foglalkozni.) A Libvirt egy érdekes projekt, és rengeteg információt találhatsz a hivatalos weboldalán, valamint letöltheted a forráskódját.

Libguestfs

5_libguestfs.jpg

Libguestfs weboldal

(Bryant Son, CC BY-SA 4.0)

A Libguestfs egy eszközkészlet a VM lemezképek eléréséhez és módosításához. Használhatja a vendégeken belüli fájlok megtekintésére és szerkesztésére; a VM-ek módosításának szkriptelésére; a használt/szabad lemezek statisztikáinak figyelésére; vendégek, fizikai-virtuális (P2V) vagy virtuális-virtuális (V2V) gépek létrehozására; biztonsági mentések elvégzésére; VM-ek klónozására; VM-ek építésére; lemezek formázására; lemezek méretének módosítására; és még sok másra. Az utóbbi időben egy KubeVirt-alapú, OpenShift Virtualization nevű projekten dolgozva használtam, amelyről többet megtudhatsz a videós bemutatómban.

A Libguestfs hivatalos honlapján részletes dokumentáció található az egyes parancsok használatáról, és a forráskódja is letölthető a GitHubról.

Virt-manager

6_virtualmanager.jpg

Virt-manager honlap

(Bryant Son, CC BY-SA 4.0)

A virt-manager egy asztali felhasználói felület a VM-ek kezelésére a libvirt segítségével. Elsősorban a KVM VM-eket célozza meg, de kezeli a Xen és az LXC VM-eket is. Tartalmazza a virt-install parancssori provisioning eszközt is. Gondoljon úgy a virt-managerre, mint egy könnyen használható menedzsment eszközre a VM-jei számára. A virt-manager segítségével például egy Microsoft Windows környezetet futtathat egy Linux munkaállomáson, vagy fordítva.

A virt-manager forráskódja elérhető a GitHub-on, a dokumentáció pedig a weboldalán. A virt-manager jelenleg csak Linux platformokra érhető el.

Libosinfo

7_libosinfo.jpg

Libosinfo honlap

(Bryant Son, CC BY-SA 4.0)

A Libosinfo az operációs rendszerek kiadásaira vonatkozó információkat tartalmazó adatbázist biztosít, amely VM-ek telepítésekor segít a hardver konfigurálásában. Tartalmaz egy C könyvtárat az adatbázisban lévő információk lekérdezéséhez, amely bármely, a GObject introspection által támogatott nyelvből is elérhető. Mint sejthető, a libosinfo inkább egy építőelem, amely lehetővé teszi az operációs rendszer funkcionalitását – de elég fontos.

A libosinfo forráskódja elérhető a GitLab-on, dokumentációja pedig a weboldalán található.

Következtetés

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.