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.
1_virttools.jpg
(Bryant Son, CC BY-SA 4.0)
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
(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
(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
(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
(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
(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
(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
(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
.