6 open source virtualizačních technologií, které byste měli znát v roce 2020

Virtualization Tools, známější jako Virt Tools, je kolekce šesti open source virtualizačních nástrojů vytvořených různými přispěvateli s cílem zlepšit svět virtualizace.

Některé z nástrojů, jako KVM a QEMU, mohou být linuxovým nadšencům známé, ale nástroje jako libvirt a libguestfs pravděpodobně méně.

V případě, že se raději učíte sledováním videa než čtením, vytvořil jsem videoverzi tohoto článku, která je dostupná na YouTube.

Před procházením nástrojů je dobré znát základní virtualizační terminologii. Mnohé z těchto definic jsem čerpal z Wikipedie, přičemž na stránky odkazuji v tabulce.

Termín Definice
Virtualizace V informatice se virtualizací rozumí vytvoření virtuální (nikoli fyzické) verze něčeho, včetně virtuálních hardwarových platforem počítačů, úložných zařízení a prostředků počítačových sítí.
Emulátor Emulátor je hardware nebo software, který umožňuje, aby se jeden počítačový systém (nazývaný hostitel) choval jako jiný počítačový systém (nazývaný host).
Virtuální počítač (VM) Známý také jako „hostující počítač“, jedná se o emulace skutečných, fyzických hardwarových počítačů.
Host V hardwarové virtualizaci je počítač, na kterém hypervizor spouští jeden nebo více virtuálních počítačů.
Hypervizor Jedná se o počítačový software, firmware nebo hardware, který vytváří a spouští virtuální počítače.
Jádro Jedná se o počítačový program, který je jádrem operačního systému počítače a má plnou kontrolu nad vším v systému.
Daemon Jedná se o počítačový program, který běží jako proces na pozadí, nikoli pod přímou kontrolou interaktivního uživatele.

Tato tabulka shrnuje jednotlivé nástroje Virt, včetně informací o licenci a odkazů na webové stránky a zdrojový kód každého nástroje. Většina těchto informací pochází z webových stránek Virt Tools a ze stránek jednotlivých nástrojů.

Název Co to je Licence Zdrojový kód
Kernel-based Virtual Machine (KVM) Virtualizační modul v linuxovém jádře, který umožňuje jádru fungovat jako hypervizor GNU GPL nebo LGPL Zdrojový kód
Rychle Emulátor (QEMU) Generický a open source emulátor a virtualizátor strojů GPLv2 Zdrojový kód
Libvirt Knihovna a démon poskytující stabilní, open source API pro správu virtualizačních hostitelů GNU Zdrojový kód
Libguestfs Sada nástrojů pro přístup k obrazům disků virtuálních počítačů a jejich úpravu LGPL, GPL Zdrojový kód
Virt.manager Uživatelské rozhraní pro správu virtuálních počítačů prostřednictvím libvirt GPLv2+ Zdrojový kód
Libosinfo Poskytuje databázi virtuálních počítačů. informací o verzích operačního systému, které pomáhají optimálně konfigurovat hardware při nasazování virtuálních počítačů LGPLv2+ Zdrojový kód

Jádro-based Virtual Manager (KVM)

2_kvm.jpg

Stránky KVM

(Bryant Son, CC BY-SA 4.0)

KVM je kompletní virtualizační řešení pro Linux na hardwaru obsahujícím virtualizační rozšíření. KVM poskytuje hardwarovou virtualizaci pro širokou škálu hostovaných operačních systémů, včetně systémů Linux, Windows, macOS, ReactOS a Haiku. Pomocí KVM můžete provozovat více virtuálních počítačů na nemodifikovaných obrazech systému Linux nebo Windows. Každý virtuální počítač má vlastní virtualizovaný hardware: síťovou kartu, disk, grafický adaptér atd.

Většinu času nebudete s KVM přímo pracovat. Místo toho musíte k využití KVM použít QEMU, virt-manager nebo jiný nástroj pro správu virtualizace.

Úplnou dokumentaci najdete na webových stránkách KVM, stejně jako přístup k jeho zdrojovému kódu.

Quick Emulator (QEMU)

3_qemu.jpg

Webová stránka QEMU

(Bryant Son, CC BY-SA 4.0)

QEMU je obecný emulátor a virtualizátor strojů s otevřeným zdrojovým kódem. Při použití jako emulátor může QEMU spouštět operační systémy a programy vytvořené pro jeden stroj (např. desku ARM) na jiném stroji (např. na vašem vlastním počítači x86_64). Při použití jako virtualizátor dosahuje QEMU téměř nativního výkonu tím, že spouští kód hosta přímo na hostitelském procesoru pomocí KVM.

QEMU je podporován ve více operačních systémech a jeho instalace je stejně snadná jako spuštění několika jednoduchých příkazů; zde se můžete podívat, jak nainstalovat QEMU do systému MacOS pomocí Homebrew.

3_1_qemuinstall.jpg

Informace o instalaci QEMU macOS

(Bryant Son, CC BY-SA 4.0)

Po instalaci se naučte, jak jej používat, přečtením jeho dokumentace a můžete také získat přístup k jeho zdrojovému kódu.

Libvirt

4_libvirt.jpg

Webové stránky Libvirt

(Bryant Son, CC BY-SA 4.0)

Libvirt je knihovna a démon, který poskytuje stabilní open source API pro správu virtualizačních hostitelů. Zaměřuje se na více hypervizorů, včetně QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox a dalších.

Další zajímavostí je, že Libvirt z velké části využívá KubeVirt, open source projekt pro vytváření a správu virtuálních strojů uvnitř platformy Kubernetes. (KubeVirtu se budu věnovat v některém z příštích článků.) Libvirt je zajímavý projekt, který stojí za to prozkoumat, a na jeho oficiálních stránkách můžete najít spoustu informací a také si stáhnout jeho zdrojový kód.

Libguestfs

5_libguestfs.jpg

Webové stránky Libguestfs

(Bryant Son, CC BY-SA 4.0)

Libguestfs je sada nástrojů pro přístup k obrazům disků virtuálních počítačů a jejich úpravu. Můžete jej použít k prohlížení a úpravám souborů uvnitř hostů; skriptování změn ve virtuálních počítačích; sledování statistik využitých/volných disků; vytváření hostů, fyzických strojů na virtuální (P2V) nebo virtuálních strojů na virtuální (V2V); provádění zálohování; klonování virtuálních počítačů; vytváření virtuálních počítačů; formátování disků; změně velikosti disků a mnoho dalšího. V poslední době jsem jej používal při práci na projektu založeném na KubeVirt s názvem OpenShift Virtualization, o kterém se můžete dozvědět více v mém videonávodu.

Oficiální webové stránky Libguestfs obsahují rozsáhlou dokumentaci k používání jednotlivých příkazů a můžete si také stáhnout jeho zdrojový kód na GitHubu.

Virt-manager

6_virtualmanager.jpg

Webová stránka Virt-manager

(Bryant Son, CC BY-SA 4.0)

Virt-manager je desktopové uživatelské rozhraní pro správu virtuálních počítačů prostřednictvím libvirt. Zaměřuje se především na virtuální počítače KVM, ale spravuje také Xen a LXC. Obsahuje také nástroj pro provisioning z příkazového řádku virt-install. Virt-manager si představte jako snadno použitelný nástroj pro správu virtuálních počítačů. Pomocí nástroje virt-manager můžete například spustit prostředí Microsoft Windows na pracovní stanici s Linuxem nebo naopak.

Zdrojový kód nástroje virt-manager je k dispozici na serveru GitHub a dokumentace je na jeho webových stránkách. V tuto chvíli je virt-manager k dispozici pouze pro platformy Linux.

Libosinfo

7_libosinfo.jpg

Webová stránka Libosinfo

(Bryant Son, CC BY-SA 4.0)

Libosinfo poskytuje databázi informací o verzích operačních systémů, které pomáhají při konfiguraci hardwaru při nasazování virtuálních počítačů. Obsahuje knihovnu jazyka C pro dotazování na informace v databázi, která je přístupná také z libovolného jazyka podporovaného introspekcí GObject. Jak asi tušíte, libosinfo je spíše stavebním prvkem umožňujícím fungování operačního systému – ale docela důležitým.

Zdrojový kód libosinfo je k dispozici na GitLabu a jeho dokumentaci najdete na jeho webových stránkách.

Závěr

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.