Vad är en virtuell maskin? (Varför och när du ska använda den)

  • Dela Detta
Cathy Daniels

Om du arbetar inom eller i närheten av programvarubranschen har du förmodligen hört talas om virtuella maskiner. Om inte kanske du undrar vad de är och vad de används till.

Som mjukvaruingenjör använder jag virtuella maskiner dagligen. De är ett effektivt verktyg för mjukvaruutveckling, men de har även andra användningsområden. Många företag använder virtuella maskiner på grund av deras flexibilitet, tillförlitlighet och kostnadseffektivitet, och de förhindrar även katastrofer till följd av överbelastade mjukvarutestningar.

Låt oss ta en titt på vad virtuella maskiner är och varför de används.

Vad är en virtuell maskin?

En virtuell maskin är en instans av ett operativsystem (OS), t.ex. Windows, Mac OS eller Linux, som körs i en dators huvudoperativsystem.

Vanligtvis körs den i ett programfönster på skrivbordet. En virtuell maskin har full funktionalitet och fungerar som en separat dator eller maskin. En virtuell maskin är i princip en virtuell dator som körs i en annan dator, den så kallade värddatorn.

Bild 1: Virtuell maskin som körs på en bärbar dator.

En virtuell dator har ingen maskinvara (minne, hårddisk, tangentbord eller bildskärm) utan använder simulerad maskinvara från värddatorn. På grund av detta kan flera virtuella datorer, även kallade "gäster", köras på en enda värddator.

Bild 2: Värdmaskin med flera virtuella maskiner.

Värden kan också köra flera virtuella maskiner med olika operativsystem, t.ex. Linux, Mac OS och Windows. Den här funktionen är beroende av en programvara som kallas hypervisor (se bild 1 ovan). Hypervisorn körs på värddatorn och gör det möjligt att skapa, konfigurera, köra och hantera virtuella maskiner.

Hypervisorn allokerar diskutrymme, schemalägger bearbetningstid och hanterar minnesanvändningen för varje virtuell maskin. Detta är vad program som Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V och många andra gör: de är hypervisorer.

En hypervisor kan köras på en bärbar dator, en dator eller en server och gör virtuella maskiner tillgängliga för den lokala datorn eller för användare i ett nätverk.

Olika typer av virtuella maskiner och miljöer kräver olika typer av hypervisorer. Vi tar en titt på några av dem.

Typer av virtuella maskiner

Virtuella maskiner för system

System-VM:er, som ibland kallas fullständig virtualisering, körs av en hypervisor och tillhandahåller funktionaliteten hos ett verkligt datorsystem. De använder värdets ursprungliga operativsystem för att hantera och dela systemresurser.

Virtuella systemmaskiner kräver ofta en kraftfull värd med snabba eller flera CPU:er, stora mängder minne och massor av diskutrymme. Vissa virtuella maskiner, som körs på personliga eller bärbara datorer, behöver kanske inte den datorkraft som virtuella servrar för stora företag behöver, men de kommer att köras långsamt om värdsystemet inte är lämpligt.

Bearbeta virtuella maskiner

Virtuella processmaskiner skiljer sig från SVM - du kanske har dem igång på din dator utan att veta om det. De kallas också virtuella programmaskiner eller hanterade körtidsmiljöer (MRE). De här virtuella maskinerna körs i ett värdoperativsystem och stöder program eller systemprocesser.

Varför använda en PVM? De utför tjänster utan att vara beroende av specifika operativsystem eller maskinvara. De har sitt eget lilla operativsystem med endast de resurser de behöver. MRE:n befinner sig i en separat miljö; det spelar ingen roll om den körs på Windows, Mac OS, Linux eller någon annan värdmaskin.

En av de vanligaste virtuella processmaskinerna är en som du förmodligen har hört talas om och kanske sett köras på din dator. Den används för att köra Java-program och kallas Java Virtual Machine eller kort och gott JVM.

Typer av Hypervisors

De flesta virtuella maskiner som vi arbetar med använder en hypervisor eftersom de emulerar ett helt datorsystem. Det finns två olika typer av hypervisorer: Bare Metal Hypervisors och Hosted Hypervisors. Låt oss ta en snabb titt på dem båda.

Bare Metal Hypervisor

BMH:er kan också kallas native hypervisors, och de körs direkt på värddatorns maskinvara i stället för att köras i värddatorns operativsystem. I själva verket ersätter de värddatorns operativsystem och schemalägger och hanterar varje virtuell maskins användning av maskinvaran, vilket innebär att "mellanhanden" (värddatorns operativsystem) försvinner i processen.

Native hypervisors används normalt för storskaliga virtuella maskiner för företag, som företag använder för att förse anställda med serverresurser. Microsoft Azure eller Amazon Web Services är virtuella maskiner som är värd för den här typen av arkitektur. Andra exempel är KVM, Microsoft Hyper-V och VMware vSphere.

Hosted Hypervisor

Hypervisorer med värdsystem körs på vanliga operativsystem - precis som alla andra program som vi kör på våra maskiner. De använder värdsystemets operativsystem för att hantera och distribuera resurser. Den här typen av hypervisor är bättre lämpad för enskilda användare som behöver köra flera operativsystem på sina maskiner.

Dessa inkluderar program som Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop och många andra. Du kan hitta mer detaljerad information om hosted hypervisors i vår artikel Best Virtual Machine Software.

Varför använda virtuella maskiner?

Nu när du har en grundläggande förståelse för vad en virtuell maskin är kan du säkert tänka dig några utmärkta användningsområden. Här är några av de främsta skälen till att folk använder virtuella maskiner.

1. Kostnadseffektivt

Virtuella maskiner är kostnadseffektiva i många situationer. En av de mest framträdande är i företagsvärlden. Det kan vara mycket dyrt att använda fysiska servrar för att tillhandahålla resurser till de anställda. Hårdvaran är inte billig, och det är ännu dyrare att underhålla den.

Användningen av virtuella maskiner som företagsservrar har nu blivit normen. Med virtuella maskiner från en leverantör som MS Azure behöver man inte köpa någon hårdvara eller betala några underhållsavgifter. Dessa virtuella maskiner kan installeras, konfigureras och användas för bara några öre i timmen. De kan också stängas av när de inte används utan att det medför någon kostnad alls.

Att använda en virtuell maskin på din dator kan också vara en stor kostnadsbesparing. Om du behöver arbeta med flera operativsystem eller olika maskinvarukonfigurationer kan du

använda flera virtuella maskiner på en värd - du behöver inte köpa en separat dator för varje uppgift.

2. Skalbar och flexibel

Oavsett om det är företagsservrar eller virtuella maskiner som körs på din bärbara dator är virtuella maskiner skalbara. Det är lätt att anpassa resurserna efter dina behov. Om du behöver mer minne eller hårddiskutrymme går du bara in i hypervisor och konfigurerar om den virtuella maskinen så att den får mer. Du behöver inte köpa ny maskinvara och processen kan genomföras snabbt.

3. Snabb inställning

En ny virtuell dator kan konfigureras snabbt. Jag har haft fall där jag behövde konfigurera en ny virtuell dator, ringde min kollega som hanterar dem och hade dem redo att användas på mindre än en timme.

4. Katastrofåterställning

Om du försöker förhindra dataförluster och förbereda dig för katastrofåterställning kan virtuella maskiner vara ett utmärkt verktyg. De är lätta att säkerhetskopiera och kan distribueras på olika platser om det behövs. Om en tredje part, som Microsoft eller Amazon, är värd för de virtuella maskinerna är de utanför anläggningen, vilket innebär att dina data är säkra om ditt kontor brinner ner.

5. Lätt att reproducera

De flesta hypervisorer gör det möjligt att göra en kopia, eller avbildning, av en virtuell maskin. Med hjälp av avbildningar kan du enkelt skapa exakta kopior av samma grundläggande virtuella maskin i alla situationer.

I den miljö jag arbetar i ger vi varje utvecklare en virtuell dator som de kan använda för utveckling och testning. Denna process gör att vi har en avbildning som är konfigurerad med alla nödvändiga verktyg och programvaror. När en ny utvecklare börjar arbeta behöver vi bara göra en kopia av avbildningen, så har de allt de behöver för att börja arbeta.

6. Perfekt för utveckling/testning

En av de bästa fördelarna med att använda virtuella maskiner är att de är ett perfekt verktyg för utveckling och testning av programvara. Med virtuella maskiner kan utvecklare utveckla på flera plattformar och miljöer på en och samma maskin. Om den virtuella maskinen skadas eller förstörs kan en ny snabbt skapas.

De gör det möjligt för testaren att ha en ny ren miljö för varje testcykel. Jag har arbetat med projekt där vi har skapat automatiska testskript som skapar en ny virtuell dator, installerar den senaste programvaruversionen, kör alla nödvändiga tester och sedan raderar den virtuella datorn när testerna är klara.

Virtuella maskiner fungerar utmärkt för produkttester och recensioner som de vi gör här på SoftwareHow.com. Jag kan installera appar i en virtuell maskin som körs på min dator och testa dem utan att störa min primära miljö.

När jag är klar med testerna kan jag alltid radera den virtuella maskinen och sedan skapa en ny när jag behöver den. Denna process gör också att jag kan testa på flera plattformar även om jag bara har en Windows-maskin.

Slutord

Som du ser är virtuella maskiner ett kostnadseffektivt och mångsidigt verktyg som kan användas för många olika tillämpningar. Vi behöver inte längre köpa, installera och underhålla dyr hårdvara för att ge tillgång till servrar för testare, utvecklare och andra. Virtuella maskiner ger oss flexibiliteten att enkelt och snabbt skapa de operativsystem, den hårdvara och de miljöer som vi behöver - när som helst.

Jag är Cathy Daniels, expert på Adobe Illustrator. Jag har använt programvaran sedan version 2.0 och har skapat tutorials för den sedan 2003. Min blogg är en av de mest populära destinationerna på webben för människor som vill lära sig Illustrator. Utöver mitt arbete som bloggare är jag även författare och grafisk formgivare.