Co je virtualizace?
Jednoduše řečeno, virtualizace je simulovaná platforma nebo prostředí nad hostitelským uzlem, což je pro uživatele docela abstraktní.
Těmito simulovanými virtuálními prostředími mohou být operační systémy nebo nějaké vývojové prostředí atd.
To nám dává možnost efektivně využívat hardwarové prostředky hostitelského uzlu.
Co je KVM?
KVM je zkratka pro Kernel Based Virtualization.
Virtualizace založená na jádře byla implementována s cílem získat výhodu hardwarové podpory virtualizace poskytované novou generací procesorů Intel a AMD.
Během počátečních fází vývoje virtualizační technologie byly CPU plně emulovány softwarem, který nakonec postrádal výkon kvůli absenci přímého přístupu k hardwaru.
V současné době CPU na trhu podporují virtualizaci, která je výsledkem změny jejich architektury oproti dřívějším fázím.
Tomu se také říká hardwarově asistovaná virtualizace.
Pokud jste ve virtualizaci úplným nováčkem, zde je dobré začít, kde jsme vysvětlili tři oblasti virtualizace a dva typy hypervizorů:Úvod do technologie virtualizace serverů a typy hypervizorů
Následují různé přístupy, které byly uplatňovány během rané vývojové fáze virutalizační technologie.
- Spuštění virtuálního počítače na procesoru hostitelského systému namísto emulace procesoru pomocí techniky binárního překladu. Funguje bez úpravy hostujícího operačního systému.
- Úprava operačního systému hostujícího systému pro komunikaci s hypervizorem, který má přímý přístup k hardwaru. Příkladem je platforma hypervizor Xen, která implementuje virtualizaci Para.
- Úprava procesoru hostitelského systému tak, aby bylo možné snadno komunikovat s hypervizorem, a tím podpořit virtualizaci. Odstraňuje potřebu binárního překladu a emulace. Vede k plné virtualizaci spíše než k paravirtualizaci.
- Úprava operačního systému hostitelského systému tak, aby podporoval virtualizaci. Výsledkem jsou nativní hypervizory spíše než hostované.
Virtualizace založená na jádře využívá výhody 3. a 4. přístupu zmíněného výše.
Co je to hypervizor?
Hypervisor není nic jiného než střední vrstva programu mezi hostujícím operačním systémem a hardwarem hostitelského systému.
Spravuje skutečný hardware pro všechny připojené hostované operační systémy.
Hypervizory mohou být dvou typů:nativní nebo hostované. Hypervizory se také nazývají VMM [správci virtuálních strojů]. Viz obrázek níže. Představuje nativní hypervizor z prostého kovu.
Dobrými příklady hostovaných hypervizorů mohou být VMware nebo software pro virtuální krabice.
Pokud s VMWare začínáte, pomůže vám toto:Základy virtualizace VMware – VMware Server a VMware ESXi
Pokud jste ve Virtualboxu nováčkem, toto je dobré místo, kde začít:Jak nainstalovat Oracle VM VirtualBox a vytvořit virtuální počítač
KVM Evolution
Jako moderní řešení pro efektivní virtualizaci se tedy vyvinul virtuální stroj založený na jádře (KVM).
V podstatě využívá CPU rozšíření poskytovaná moderní hardwarovou virtualizací podporující CPU, modulem s jádrem hostitelského operačního systému.
Při použití tohoto virtualizačního modulu založeného na jádře funguje jádro hostitelských operačních systémů jako hypervizor využívající funkce linuxového jádra a hardware podporující virtualizaci.
Abychom tedy porovnali KVM s XEN a QEMU, můžeme říci, že KVM používá rozšíření procesoru pro virtualizaci, zatímco QEMU pracuje s úplnou emulací CPU, na druhé straně XEN funguje jako externí hypervizor hostitelského operačního systému místo toho, aby pro něj používal jádro. .
Pomocí KVM můžeme provozovat více virtuálních strojů s libovolným operačním systémem, na jednom počítači nebo řekněme hostitelském systému. KVM je zaveden v jádře Linuxu od stabilní verze 2.6.20. Dobrým příkladem KVM je virtualizační řešení dodávané s distribucemi Red Hat a Fedora založenými na RPM.
Výhody Linuxu KVM
Pokud jste v Linux KVM noví, pomůže vám začít toto:Jak nainstalovat Linux KVM a vytvořit hostující virtuální počítač s příklady
Níže jsou uvedeny některé funkce a výhody virtualizace založené na jádře.
- Pomocí modulu KVM spravuje výkonově kritické části přerušení a časovačů pomocí emulace I/O na bázi jádra. Poskytuje možnost nastavit limit na požadavek I/O mezi virtuálním počítačem a hostitelem.
- Modul KVM zde umožňuje emulaci pro režimy CPU, které fyzický procesor a instrukce nepodporuje.
- Použitý modul KVM je součástí upstreamového jádra Linuxu, protože je do něj přidán pro vylepšení virtualizace.
- Zde použitý modul KVM poskytuje společné rozhraní pro procesory Intel i AMD x86, které podporuje virtualizaci hardwaru. Pro Intel je známá jako hardwarová podpora Intel VMX pro virtualizaci a pro AMD je známá jako hardwarová podpora AMD SVM pro virtualizaci.
- Vytváří z jádra holého kovového hypervizoru. Můžeme říci, že vytváří nativní hypervizor.
- Využívá schopnosti MMU (jednotka správy paměti) v hardwaru k virtualizaci paměti se zlepšením výkonu.
- Virtuální stroj, který vytvořil, je standardní proces Linuxu, naplánovaný jeho nativním standardním plánovačem Linuxu.
- Podporuje funkce Intel EPT (Extended Page Table) a AMD RVI (Rapid virtualization indexing) pro virtualizaci paměti od výrobců CPU.
- Podporuje veškerý souborový systém podporovaný běžným linuxovým jádrem.
- Lepší využití zdrojů a přístup k nim díky flexibilnímu úložišti. Je velmi snadné přidat paměť, vCPU, pevný disk do Linux KVM.
- Podporuje širokou škálu hostovaných operačních systémů včetně Windows, UNIX, Solaris a DOS.
- Všechny funkce Linuxu, jako je implementace zabezpečení pomocí SELinuxu, široká škála hardwarové podpory a podpůrných ovladačů zařízení, jsou zděděny virtuálními stroji založenými na jádře.
- Zabezpečte vzdálenou správu pomocí rozhraní API poskytovaného virtualizačními moduly.
- Vylepšenou škálovatelnost jako hlavní proud linuxového jádra lze rozšířit přidáním modulů pro využití dalších funkcí.