Innan du ska göra förändringar i din it-miljö är det troligt att du vill testa olika lösningar och snabbt och effektivt bygga upp labbmiljöer. För detta ändamål passar virtualisering oftast utmärkt. Men för testmiljöer behövs sällan stora och komplexa lösningar med redundans och maximal prestanda. En enklare lösning som du kör på din egen dator räcker ofta utmärkt. Det finns några olika produkter för detta ändamål på marknaden, och vi har valt ut tre av de ledande för att se vilken som gör jobbet bäst: Microsofts Hyper-V, WMwares Workstation och Oracles Virtualbox.

Alla produkter i testet kan givetvis skapa och köra operativsystem i virtuella datorer (VM, virtual machines), men det finns en fundamental skillnad, och det är vilken typ av hypervisor som används. Typ 1 innebär att hypervisorn kör direkt på hårdvaran, vilket garanterar hög säkerhet och mycket god prestanda, men det är i praktiken förbehållet operativsystemsleverantören eftersom ingen annan släpps in så långt ner i ett OS. Typ 2 innebär att hypervisorn körs som en ”vanlig” produkt ovanpå ett värd-OS. Detta ger sämre prestanda, men innebär samtidigt att det är enklare att köra produkten på flera olika OS. Hyper-V är av typ 1 och Workstation och Virtualbox är typ 2.

En annan grundläggande funktion, som finns i alla tre produkterna, är möjligheten att skapa kontrollpunkter, eller snapshots som de brukar kallas. Detta innebär att du enkelt kan återvända till en tidigare, känd, konfiguration efter att du laborerat klart. På detta vis kan du också ha ”generationer” av lösningar som du kan vandra mellan.

Vårt huvudsakliga scenario här är en utvecklare eller it-proffs som behöver ha ett bibliotek med olika OS och snabbt och enkelt kunna skapa labbmiljöer för att testa olika saker inför migreringar eller andra förändringar. Vilken produkt gör det bäst?

Läs också: Microsoft släpper på begränsningar i Office 365

Windows 10:s inbyggda virtualisering: Hyper-V

Vi väljer att lägga till rollen Hyper-V i Windows 10 på vår testdator, och efter en omstart är hypervisorn på plats och vi påbörjar konfigurationen. Vi måste börja med att konfigurera ett virtuellt nätverk och väljer där att koppla oss direkt till nätverket istället för att använda NAT.

Efter detta skapar vi en VM som tilldelas virtuellt minne och lagring samt en ISO som vi installerar ett OS från. Det hela löper på fint och vi har snart en VM på plats.

Gränssnittet är enkelt att använda, men arvet från ”stora” Hyper-V som finns i serverprodukterna är tydligt. Flera av funktionerna känns inriktade på att man ska köra datorn mer permanent än som kortvariga labbmiljöer. Det kan givetvis vara så du huvudsakligen vill använda din virtuella miljö, och detta talar då för Hyper-V, men det är inte det huvudsakliga scenario vi tänker oss här.

Hanteringen av Hyper-V och de VM som körs kan automatiseras via Powershell. Även om det finns privata initiativ på Github för att ge stöd för Powershell till Workstation och Virtualbox så kan det knappast mäta sig med det inbyggda Powershellstödet för Hyper-V i Windows 10.

Windows-OS fungerar bra och med goda prestanda i Hyper-V. Ska man köra andra OS, som till exempel Linux, behöver man ladda ner och installera så kallade Additions för att det ska fungera bra. Grafikstödet är lite komplicerat i Hyper-V, vilket inte känns helt bra. Man kan få stöd för 3D genom att addera ett syntetiskt grafikkort, men då tappar man å andra sidan möjligheten att jobba smidigt med den virtuella skärmen och kan inte längre fritt ändra storlek på den. Man kan heller inte längre ansluta till sin VM i så kallat enhanced mode, vilket innebär att man tappar stödet för ljud i en VM. Det finns säkert goda tekniska skäl till att Hyper-V beter sig så här, men i vårt scenario komplicerar det arbetet med labbmiljöer.

Det finns en del unika möjligheter, som till exempel att arbeta med dynamiskt minne vilket kan spara en del minne åt värdsystemet, men vi saknar också en del smarta funktioner som finns i de andra produkerna, exempelvis möjligheten att simulera sämre nätverksförbindelser. Varje VM startas i ett eget fönster, vilket efter ett tag blir krångligt att använda då det blir många fönster att hålla reda på.

Det finns möjlighet att aktivera stöd för nästlad virtualisering, det vill säga att köra en hypervisor ovanpå en hypervisor, men enbart via Powershell, och enbart för att kunna köra Hyper-V i en VM – inget stöd finns för andra hypervisors.

En VM är väldigt isolerad i Hyper-V vilket höjer säkerheten, men gör det samtidigt svårare att arbeta med i en labbmiljö. Ett exempel på detta är att man inte kan dra och släppa filer eller kopiera och klistra in text mellan en VM och värdsystemet. Ett annat exempel på att Hyper-V inte är primärt inriktat på laboration är att man inte lika enkelt kan skapa länkade kloner i gränssnittet. En länkad klon innebär att man skapar en ny hårddisk som enbart består av skillnaderna jämfört med en befintlig disk som redan innehåller ett OS. Detta sparar mycket plats då många VM enkelt kan ”dela” på ett OS. Stödet för virtuella ”appliances”, alltså färdigförpackade lösningar i form av en eller flera VM, är ganska svagt för Hyper-V.