Hypervisor Uitgelegd: Definitie, Typen En Praktische Voorbeelden
De hypervisor is een tamelijk oude technologie, maar nog steeds super relevant voor het mogelijk maken van virtualisatie. De eerste hypervisors die volledige virtualisatie boden, werden door IBM in 1967 ontwikkeld. Ze werden ontwikkeld als een testtool (genaamd SIMMON) voor IBM's CP/CMS besturingssysteem.
Maar wat is virtualisatie precies? In eenvoudige termen is virtualisatie een proces om een software-gebaseerde (of virtuele) versie van iets te creëren dat een vast bedrag aan opslag, netwerken en computationele hulpbronnen gebruikt. Het werkt door de onderliggende hardware te partitioneren en elke partitie als een aparte, geïsoleerde Virtual Machine te draaien, die zijn eigen besturingssysteem heeft.
Nu, hier komt de hypervisor in. Ze maken het proces van virtualisatie haalbaar. In dit overzichtsartikel leggen we verschillende typen hypervisors uit en hoe ze werken. Laten we beginnen met een basisvraag.
Wat Is Een Hypervisor?
Definitie: Een hypervisor is computerhardware, software of firmware die virtuele machines creëert en vervolgens efficiënt beheert en hulpbronnen aan ze toewijst. Elke virtuele machine kan zijn eigen besturingssysteem en applicaties draaien.
De computer waarop de hypervisor geïnstalleerd is, heet een host machine, en alle virtuele machines heten guest machines. Een hypervisor maakt het makkelijk om de hulpbronnen van de host machine te splitsen en toe te wijzen aan individuele gastmachines. Het stelt je ook in staat om de uitvoering van gast-besturingssystemen en applicaties op een enkel stuk computerhardware te beheren.
Stel je hebt een PC met 16 GB RAM en 500 GB opslag die draait op het Linux-besturingssysteem, en je wilt applicaties draaien die macOS vereisen. In dit geval kun je een virtuele machine creëren die macOS draait en dan een hypervisor gebruiken om de hulpbronnen te beheren. Bijvoorbeeld, je kunt er 4GB RAM en 100 GB opslag aan toewijzen.
Vanuit het oogpunt van een gastmachine is er geen verschil tussen de fysieke en gevirtualiseerde omgeving. Virtuele machines weten niet dat ze gecreëerd zijn door een hypervisor en dat ze beschikbare hulpbronnen delen. Ze draaien gelijktijdig op de hardware die ze aandrijft. En dus vertrouwen ze volledig op de stabiele werking van de hardware.
Hypervisors bestaan al meer dan een half eeuw, maar door de toegenomen vraag naar cloud computing in de afgelopen jaren, is hun belang duidelijker geworden.
Typen Hypervisors
Sinds midden jaren 70 worden twee verschillende typen hypervisors gebruikt om virtualisatie te implementeren:
Type 1 / Bare-metal / Native Hypervisors
Type-1 hypervisors draaien direct op de hardware van de host. Omdat ze directe toegang hebben tot de onderliggende hardware en niet door de besturingssysteemlaag hoeven te gaan, heten ze ook bare-metal hypervisors.
Ze presteren beter, draaien efficiënter en zijn veiliger dan andere typen (Type-2) hypervisors. Daarom kiezen grote organisaties en bedrijven bare-metal hypervisors voor datacenter computing jobs.
Terwijl de meeste Type-1 hypervisors admins toestaan om handmatig hulpbronnen toe te wijzen op basis van de prioriteit van de applicatie, bieden sommige dynamische resource allocatie en beheersopties.
De vroege hypervisors, zoals de testsoftware SIMMON, waren type-1 hypervisors.
Moderne Voorbeelden: VMware ESXi, Nutanix AHV, Oracle VM Server voor x86, Microsoft Hyper-V.
Type 2 / Hosted Hypervisors
Als alle computerprogramma's, draaien Type-2 hypervisors op een besturingssysteem. Dus, ze zijn afhankelijk van zowel onderliggende hardware als software. De gast-besturingssystemen zijn gebouwd op de host-besturingssysteem.
Hoewel deze hypervisors je in staat stellen om meerdere virtuele machines te creëren, kunnen ze niet direct de host-hardware en zijn hulpbronnen benaderen. Het voorgeïnstalleerde besturingssysteem controleert het netwerk, geheugen en opslagtoewijzing. Dit beperkt de hypervisors om kritieke beslissingen te nemen en voegt een zekere latentie toe.
Echter, ze zijn eenvoudig op te zetten en te beheren. Ze vereisen geen toegewijde admin en zijn compatibel met een breed bereik aan hardware. Meeste ontwikkelaars gebruiken ze voor testdoeleinden.
Voorbeelden: VMware Workstation, VirtualBox, QEMU, VMware Player, VMware Fusion, en Parallels Desktop voor Mac.
Voordelen
Draagbaarheid: Een hypervisor kan meerdere gast (virtuele) machines onafhankelijk van de host machine draaien, en elke gastmachine kan een ander besturingssysteem hebben.
Een geautoriseerde gebruiker kan workloads verschuiven en geheugen, opslag en rekenhulpbronnen toewijzen over meerdere gastmachines volgens de vereisten. Wanneer een specifieke applicatie meer kracht nodig heeft, kunnen gebruikers extra hulpbronnen (van de host machine) via de hypervisor toewijzen.
Kostenefficiënt: Als je geen hypervisor installeert, moet je misschien verschillende fysieke hardware kopen voor het draaien of testen van verschillende applicaties. Echter, door een hypervisor te gebruiken, kun je meerdere instanties van een verscheidenheid aan besturingssystemen op een enkele krachtige fysieke machine instellen. Het vermindert ook de kosten van rekenhulpbronnen en stroomverbruik aanzienlijk.
Flexibiliteit: Aangezien hypervisor het besturingssysteem isoleert van de onderliggende hardware, vertrouwen de geassocieerde applicaties niet meer op specifieke hardware-drivers. Dit maakt het algehele systeem flexibeler om een verscheidenheid aan software te draaien.
Beveiliging: De isolatie van elke gast betekent dat een probleem met één gast de andere niet beïnvloedt. Bijvoorbeeld, als een kwaadaardig programma alle bestanden op een virtuele machine corrupt, zijn de bestanden en applicaties op de andere machines minder waarschijnlijk beïnvloed.
Systeembackup & herstel: Virtuele machines zijn bestanden, en als elk conventioneel bestand, kunnen ze gekopieerd en hersteld worden. Hypervisor-gebaseerde replicatie is eenvoudiger en kostenefficiënter dan andere replicatietechnieken van virtuele machines. Het is ook hardware-neutraal, wat betekent dat men elk duplicaatbestand op elk opslagapparaat kan opslaan.
Nadelen
Gegunde Prestaties: Omdat hulpbronnen gedeeld worden in virtuele omgevingen (hoewel gasten geïsoleerd blijven van elkaar), kan het de prestaties aanzienlijk beïnvloeden.
Soms blijft de onderliggende hoofdoorzaak verborgen. Bijvoorbeeld, als de belasting op één programma toeneemt tot het punt waar de maximale hardwaretoewijzing bereikt is, dan is de gastmachine ofwel gestald of begint hulpbronnen te grijpen van andere gasten die op dezelfde host machine draaien. Dit creëert een hardwareschaarste, wat de responsiviteit van andere actieve applicaties beïnvloedt.
Risico: Virtualisatie komt met een risico omdat je al je eieren in één mand legt. Als de host machine faalt, zullen al zijn gastmachines ook falen. Dit soort risico heet een 'single point of failure'.
Verhoogde Complexiteit: Het beheren van meerdere virtuele machines is complexer dan het beheren van een fysieke machine. Sommige hypervisors hebben een steile leercurve. En naarmate virtualisatie populairder wordt, zijn er meer nieuwe vaardigheden vereist.
Virtualisatie Haalbaar Maken Op Thuiscomputers
In de midden jaren 2000 begonnen microprocessorfabrikanten hardware virtualisatie-ondersteuning toe te voegen aan hun producten zoals AMD-V en Intel VT-x. In latere processormodellen integreerden ze meer hardware-ondersteuning die significante snelheidswinst mogelijk maakte. Per 2019 ondersteunen alle moderne Intel en AMD processoren virtuele machine mogelijkheden.
Hypervisors hebben ook een plaats in moderne embedded systemen. Deze zijn meestal Type-1 hypervisors ontworpen met specifieke vereisten. In tegenstelling tot computerhardware, gebruiken embedded systemen een breed scala aan architecturen en minder gestandaardiseerde omgevingen.
Virtualisatie in deze systemen vergemakkelijkt grotere efficiëntie, hoge-bandbreedte communicatiekanalen, isolatie, beveiliging en real-time capaciteiten. Bijvoorbeeld, OKL4 ondersteunt diverse architecturen, inclusief x86 en ARM. Het is geïmplementeerd op meer dan 2 miljard mobiele telefoons, zowel als baseband besturingssysteem als voor het hosten van virtuele besturingssystemen.
Beveiliging
Beveiliging is een van de meest cruciale factoren in virtualisatietechnologie. Als een aanvaller onbevoegde toegang krijgt tot de hypervisor, kan hij dan toegang krijgen tot elke gastmachine op de host software door gedeelde hardwarecaches of andere kwetsbaarheden te exploiteren. Dit type aanval heet hyperjacking.
Echter, moderne hypervisors zijn robuust en goed beschermd. Hoewel er een paar nieuwsberichten over kleine hacks zijn geweest, is er nog geen grote hyperjacking gerapporteerd behalve 'proof of concept' testen.
Industriële technologie
- MEMS begrijpen: Micro-Electro-Mechanische Systemen, typen en toepassingen
- Draaien in de Bewerking: Definitie, Typen en Belangrijkste Operaties
- Lassen Uitgelegd: Definitie, Typen en Toepassingen
- Draaibanken Uitgelegd: Typen, Functies en Toepassingen
- Nutmachine Uitgelegd: Definitie, Onderdelen en Typen
- Hobelmaschines Uitgelegd: Definitie, Onderdelen en Types
- Begrijpen van Boormachines: Definitie, Componenten & Types
- Slijpmachines Begrijpen: Definities, Types en Toepassingen
- Technische Toleranties Uitgelegd: Definitie, Types en Praktische Toepassingen
- Smeden Uitgelegd: Proces, Types en Materialen
- Metaalplatering uitgelegd: typen, voordelen en toepassingen