Examensarbete

Enterprisevirtualisering av Mac OS X En prestandajämförelse mellan typ 1 och typ 2-hypervisorer

Författare: Jonas Lind och Kim Simonsson Handledare: Patrik Brandt Termin: VT2012 Kurskod: 2DV40E

Abstrakt

Medan servervirtualisering växt väldigt mycket det senaste decenniet har Apple nyligen börjat tillåta virtualisering av deras operativsystem Mac OS X. På grund av Apples stora framgångar med att lyckas sälja sina produkter till hemanvändare har nu även Mac-datorer börjat hitta till arbetsplatsen. Detta gör att det kommer finnas ett behov av att virtualisera Mac OS X i företagsmiljöer i framtiden då servervirtualisering är väldigt kostnadseffektivt.

För att kunna virtualisera krävs en så kallad . Det finns två olika typer, typ 1 och typ 2. I denna uppsats ville vi undersöka prestandaskillnader mellan dessa två typer vid virtualisering av Mac OS X. Detta för att kunna se hur prestandan skiljer dem sinsemellan. Prestandatester genomfördes i en experimentmiljö där resultaten visar att en typ 1-hypervisor ger mindre prestandaförluster än en typ 2- hypervisor.

Nyckelord: Servervirtualisering, Mac OS X, hypervisor, Vmware ESXi, Parallels Server for Mac.

i

Innehåll

1. Introduktion ______1 1.1 Inledning ______1 1.2 Ämnesområde och relevans ______2 1.3 Tidigare forskning______3 1.4 Problemformulering och frågor ______3 1.5 Syfte ______3 1.6 Avgränsning ______4 1.7 Målgrupp ______4 1.8 Disposition ______4

2. Bakgrund ______5 2.1 Vad innebär virtualisering? ______5 2.2 Fördelar med virtualisering ______5 2.3 Nackdelar med virtualisering ______6 2.4 Hypervisor ______8 2.4.1 Typ 1-hypervisor ______8 2.4.2 Typ 2-hypervisor ______9 2.5 Full virtualisering ______10 2.6 Paravirtualisering ______10 2.7 Hårdvarustöd för virtualisering ______10

3. Metod ______12 3.1 Ansats och metodval ______12 3.2 Studieobjekt ______12 3.3 Mätinstrument ______13 3.4 Experimentmiljö ______14 3.6 Metoddiskussion ______17

4. Resultat ______19 4.1 Observation #1 ______19 4.2 Observation #2 ______22 4.3 Observation #3 ______23 4.4 Resultatanalys ______24

5. Avslutning ______26 5.1 Diskussion ______26 5.2 Slutsats ______28 5.3 Fortsatt forskning ______28

A. Referenser ______29

B. Bilaga ______32

ii

1. Introduktion

I detta kapitel ges en övergripande bild av servervirtualisering med Mac OS X. Genom relaterad forskning inom ämnet presenteras ett problem som sedan mynnar ut i ett syfte. Kapitlet avslutas med avgränsningar, tänkt målgrupp och en disposition för resterande delar av arbetet.

1.1 Inledning

Med servervirtualisering menar man oftast möjligheten att ha två eller fler maskiner, med två eller fler helt skilda operativsystem på en och samma hårdvara. Med servervirtualisering kan alltså en fysisk maskin köra fler operativsystem som använder sig av samma underliggande hårdvara, samtidigt. Detta ger exempelvis möjlighet att blanda operativsystem och på så sätt utnyttja respektive operativsystems styrkor utan att behöva införskaffa mer hårdvara. [1]

Dessa maskiner kallas för virtuella maskiner och är en logisk representation av en fysisk maskin [2]. Beroende på virtualiseringsteknik görs antingen en komplett simulering av den underliggande hårdvaran (full virtualisering) eller virtualiseras endast vissa delar av den fysiska hårdvaran (paravirtualisering). För att möjliggöra detta behövs en så kallad hypervisor, en mjukvara som placeras mellan den fysiska hårdvaran och de virtuella maskinerna. Hypervisorn skapar och gör det möjligt för de virtuella maskinerna att få tillgång till den fysiskt underliggande hårdvaran och ansvarar för att fördela dessa resurser på ett korrekt sätt. Det finns två typer av hypervisorer. Den ena typen placeras direkt ovanpå hårdvaran och kallas typ 1, medan den andra placeras ovanpå ett befintligt operativsystem och kallas typ 2. I enterprisemiljöer rekommenderas oftast typ 1-hypervisorn då dessa brukar ha fler anpassade funktioner för just enterprisemiljöer.

Det är dock inte bara möjligheten att kunna köra fler operativsystem på samma hårdvara som gjort att virtualisering blivit populärt. Virtualisering sänker kostnader bland annat genom en lägre elförbrukning och ett mer effektivt utnyttjande av systemresurser. Siffror visar att de företag som inte virtualiserar sin IT-miljö endast utnyttjar cirka 10-15% av den totala kapaciteten i hårdvaran, vilket resulterar i att antalet servar samt utrymmesbehovet för dessa är mycket högre än i en virtualiserad miljö. Detta leder i sin tur också till ökade elkostnader för både drift och kylning. [1]

Den största nackdelen med virtuella maskiner är att de dras med prestandaförluster om man jämför med en fysisk maskin [3,4]. Dessa

1

prestandaförluster varierar beroende på den fysiska hårdvaran samt hypervisor som används, men även vilket operativsystem som virtualiseras kan påverka vilken prestanda man får ut i den virtuella miljön.

De största aktörerna inom virtualisering idag är VMware, Microsoft och Citrix [4]. Andra aktörer på marknaden är Oracle och Parallels. Samtliga av dessa har stöd att virtualisera de flesta operativsystem förutom Mac OS X från Apple som nyligen blivit tillåtet att virtualisera. VMware har stöd för Mac OS X i sin typ 1-hypervisor ESXi, men detta är den enda typ 1- hypervisorn som i dagsläget klarar av att virtualisera Mac OS X. Det finns en rad olika typ 2-hyperviorer som klarar av detta men den enda enterpriselösningen tillhandahåller Parallels med sin programvara Parallels Server for Mac. Fortsättningsvis i denna rapport kommer dessa två hypervisorer benämnas som ESXi och Parallels Server

I och med att Apple öppnar upp för att virtualisera Mac OS X innebär detta att företag med en stor bas av Mac-användare nu kan börja ta del av de fördelar en virtualiserad miljö kan erbjuda. Apple är dock fortfarande ganska strikta med vilka versioner av Mac OS X som får virtualiseras, samt att virtualiseringen måste ske på Appels egna hårdvara.

1.2 Ämnesområde och relevans

Då Apples datorer blir allt mer populära i hemmet, men även inom företagsmiljöer är det idag ingen ovanlighet att man som IT-administratör har flertalet Mac-datorer att administrera [5], vilket öppnar upp för möjligheten att virtualisera. Därför vill vi undersöka prestandaskillnader mellan typ 1 och typ 2-hypervisorer vid virtualisering av Mac OS X. Prestandan vi vill mäta är CPU, minne samt skriv- och läsprestanda till disk. Vilken prestanda man har i sina maskiner är alltid viktigt att veta då den påverkar hela systemets funktion. Reduceras exempelvis prestandan för I/O avsevärt vid virtualisering är det förmodligen inte lämpligt att använda applikationer som skriver och läser väldigt mycket data till disk, som exempelvis databaser. Ett system som inte kan förse sina applikationer med de resurser som krävs är inte att föredra. Webbservrar, filservrar, mailservrar och databaser är alla exempel på tjänster som kan vara väldigt resurskrävande. Då virtualisering är ett bra sätt att reducera kostnader för hårdvara, utrymme och elförbrukning vore det lämpligt att testa hur prestandan mellan typ 1 och typ 2-hypervisorer skiljer sig vid virtualisering av Mac OS X [6].

Fortsättningsvis när prestanda benämns i denna uppsats menas prestanda på CPU, minne samt läs- och skrivprestanda till disk.

2

1.3 Tidigare forskning

Tidigare forskning för virtualisering av Mac OS X saknas. Det finns dock forskning kring hypervisorer som inte är hårdvaruspecifik. Perera och Keppitiyagama [4] gjorde 2011 en undersökning där typ 1-hypervisorerna ESXi och XenServer jämfördes ur ett prestandaperspektiv. Testerna visade att XenServer gav något bättre resultat än ESXi. Anledningen till resultatet beror enligt Perera och Keppitiyagama på att XenServer använder sig av paravirtualisering istället för full virtualisering som VMware ESXi. Perera och Keppitiyagama påpekar att virtualisering kommer resultera i en viss prestandaförlust, vilket även Kontagora och Gonzales-Velez gör [3,4].

1.4 Problemformulering och frågor

Virtualisering av operativsystemet Mac OS X är en relativt ny företeelse som med all säkerhet kommer att växa med tiden då fler produkter får stöd att virtualisera operativsystemet. För en vanlig hemanvändare är det egentligen inga större problem att virtualisera Mac OS X, men i en företagsmiljö finns det betydlig färre möjligheter då kraven på prestanda oftast är högre än vid hemmabruk.

Som tidigare nämnt dras virtuella maskiner med prestandaförluster jämfört med en fysisk maskin [3,4]. Vilken hypervisor som används är en bidragande faktor till hur stor denna förlust blir, men även valet av operativsystem kan påverka.

Frågan vi ställer oss är:

Vid enterprisevirtualisering av Mac OS X Snow Leopard Server 10.6.3, hur kommer prestandan att skilja sig mellan en typ 1 och en typ 2-hypervisor?

1.5 Syfte

Syftet med denna uppsats är att mäta prestandaskillnader mellan typ 1 och typ 2-hypervisorer vid virtualisering av Mac OS X. För att undersöka detta kommer vi med hjälp av experiment utföra prestandatester på en typ 1 och en typ 2-hypervisor. Mätningar kommer att göras med programvaror utvecklade för att testa prestanda på Mac OS X. Tester kommer även utföras på en fysisk Mac-dator för att kunna se den generella påverkan virtualisering har på ett system. Hårdvaran som används kommer vara densamma för samtliga tester. Operativsystemet som virtualiseras är Mac OS X Snow Leopard Server 10.6.3. Med vår undersökning kommer vi förhoppningsvis kunna ge svar på hur prestandan påverkas när typ 1 och typ 2-hypervisorer används vid

3

virtualisering av Mac OS X.

1.6 Avgränsning

En intressant sak att testa vore om prestandan mellan olika typ 1-hypervisorer skiljer sig när man virtualiserar Mac OS X då det oftast är dessa som används på företag. Problemet är dock att ESXi är den enda typ 1-hypervisorn som har officiellt stöd för att virtualisera Mac OS X i dagsläget. Enligt diverse bloggar och forum kan man, om än omständigt, få Citrix XenServer att köras på Apples hårdvara. Detta är inget vi kommer testa då vi inte har någon som helst garanti på att det kommer fungera korrekt. På grund av detta skulle heller inte testresultaten vi får fram från XenServer vara pålitliga. Även Parallels tillhandahåller produkten Parallels Server for Mac 4.0 Bare Metal Edition. Dessvärre är det svårt att hitta information om denna och vi vet i dagsläget inte om den fortfarande utvecklas eller säljs längre då den senaste versionen endast har stöd för Xserve som inte längre tillverkas.

Fokus i uppsatsen ligger på prestandaskillnader och inte på funktionella skillnader mellan hypervisorer. Det enda kravet vi hade var att hypervisorerna skulle vara anpassade för enterprisemiljöer. Vi kommer därför inte göra en djupgående funktionsjämförelse och presentera i detta arbete.

1.7 Målgrupp

Denna uppsats vänder sig till företag som har Mac-datorer i sina nätverk. Med resultaten vi får fram kan man som IT-anställd göra ett övervägande om vilken typ av hypervisor man tror passar bäst. Vi tror även att kunskapen om hur och vad man kan virtualisera på Mac-hårdvara är ganska begränsad och hoppas därför kunna upplysa studenter och IT-anställda om att möjligheten faktiskt finns.

1.8 Disposition

sex delar. Den . Den andra delen beskriver den bakomliggande teorin kring servervirtualisering. Tredje delen sedan . Den avslutande delen tar upp reflektioner kring arb forskning.

4

2. Bakgrund

I detta kapitel beskrivs den bakomliggande teorin kring servervirtualisering. Vidare beskrivs de för och nackdelar man får med en virtualiserad miljö. Kapitlet avslutas med typ 1 och typ 2-hypervisorer uppbyggnad och hårdvarustöd för virtualisering.

2.1 Vad innebär virtualisering?

Ordet virtuell har betydelsen skenbar [7]. Vidare synonymer för ordet skenbar är exempelvis inbillad, overklig och påhittad. En virtuell maskin kan alltså beskrivas som en logisk (eller skenbar) representation av den fysiska maskinen.

Severvirtualisering är inget nytt fenomen. Redan på 60-talet upptäckte systemingenjörer och programmerare på MIT behovet av virtuella maskiner. IBM startade ett samarbete med MIT och arbetet med CTSS (Compatible Time-Sharing System) påbörjades [8]. År 1965 släppte IBM bland annat system/360 som hade en 32-bitars processor med virtuellt minne och 1973 demonstrerade Srodowa och Bates hur man med hjälp av IBM OS/360 kunde skapa virtuella maskiner [9]. Det var dock inte förrän i början på 2000-talet virtualisering slog igenom på riktigt och har bara växt sedan dess.

Servervirtualisering görs genom att använda en virtualiseringsmjukvara (hypervisor) som frånkopplar hårdvaran från operativsystemet. De tillgängliga resurserna kan sedan fördelas till olika virtuella maskiner och på så sätt utnyttjas mer effektivt. Eftersom maskinerna har separata exekveringsmiljöer påverkas de heller inte av varandra, vilket innebär att om en virtuell maskin kraschar fortsätter de övriga att fungera som vanligt. [2]

2.2 Fördelar med virtualisering

Prestandan i moderna datorer blir allt mer kraftfull. Samtidigt utvecklas hela tiden nya komponenter som gör att dessa system blir billigare att köpa. Forskning visar att endast en liten del av de tillgängliga resurserna faktiskt används. Istället för att ha flertalet traditionella servrar ger virtualiseringstekniker den stora fördelen att kunna utnyttja de tillgängliga resurserna mycket mer effektivt. Genom att tilldela resurser från en fysisk maskin till flera olika virtuella maskiner sparar företag in stora pengar på kostnaden av hårdvara. [4]

Då behovet av antalet fysiska servrar inte längre är lika stort vid virtualisering, sjunker även elförbrukningen avsevärt. Detta leder till att

5

företag sparar in ännu mer pengar då utrymme för servrar och behovet av kylning sjunker [6]. VMware själva anser att kostnaderna för el och kylning kan sjunka med hela 80% med hjälp av virtualisering [10].

Pengar sparas även in i form av reducerade kostnader för administration av systemen då man med enterprisevirtualisering kan administrera hundratals maskiner från en central punkt.

En annan fördel är high availability (HA). Med HA kan virtuella maskiner flyttas mellan olika hostservrar under drift utan någon nertid. Skulle en hostserver krascha kan en annan ta över driften av de virtuella maskinerna. På så sätt får man en effektiv redundans i sin miljö som inte är möjlig att uppnå utan virtualisering. Detta förutsätter att virtualiseringslösningen har stöd för HA. Om så inte är fallet får man istället en single point of failure eftersom alla virtuella maskiner kommer påverkas om fel uppstår i den underliggande hårdvaran.

2.3 Nackdelar med virtualisering

En viss prestandaförlust kommer alltid att infinna sig när man virtualiserar maskiner [3,4]. Detta eftersom virtuella maskiner måste gå genom ytterligare ett lager med mjukvara (hypervisor) innan de kommer i kontakt med den fysiska hårdvaran. Det finns hårdvara som är anpassad för virtualisering och kan därmed reducera prestandaförluster. Denna hårdvara kostar dock mer pengar och de virtuella maskinerna kommer fortfarande dras med en viss mån av prestandaförlust.

När man virtualiserar sin miljö är det viktigt att ta hänsyn till säkerhetsaspekten av systemet då ett virtualiserat system omöjligt kan bli säkrare än ett traditionellt system. Detta eftersom attackerare får mer mjukvara att attackera. I ett virtualiserat system förlitar man sig alltså på att både operativsystemet och hypervisorn ska fungera korrekt, medan man annars bara behövt oroa sig för attackytan på operativsystemet. [11]

Virtualisering kan dock innebära fördelar för säkerheten. Attacktyper som root-kits använder samma rättigheter som operativsystemets kernel för att styra systemet, men genom virtualisering är det inte längre kerneln som har de högsta rättigheterna utan istället hypervisorn. Genom att använda tekniken Secure in-VM Monitoring kan man applicera säkerhetsfunktioner i hypervisorn för att förhindra åtkomst till hårdvaran för ej betrodda virtuella maskiner. [12]

Virtualisering introducerar alltså en större attackyta på system, men kan med rätt teknik även förebygga en del attacker som annars inte vore möjligt. Det

6

är viktigt att de som arbetar med denna typ av system förstår både brister och fördelar tekniken medför. [6]

Genom att implementera virtualisering introduceras även nya utmaningar i nätverket. De fysiska servrar man tidigare hade var troligtvis direkt kopplade med varsin nätverkskabel in i nätverket. När dessa nu huserar på en och samma fysiska maskin kan man få problem då alla är kopplade till en och samma port. Det mest uppenbara problemet är kanske att man får en så kallad single point of failure, vilket gör att alla virtuella maskiner förlorar nätverkskontakt utifall ett fel skulle uppstå med nätverkskontakten för hosten. Y b A C L ’ inte längre kan appliceras specifikt för de olika portar servrarna var kopplade till. Man kan även få problem med MAC-adresserna för de virtuella maskinerna om man migrerar dem mellan olika hostar. [6]

Det finns tekniska lösningar för alla dessa problem, men man bör ha i åtanke att nätverket med stor sannolikhet måste konfigureras om och optimeras för virtualiseringslösningen man har tänkt implementera

7

2.4 Hypervisor

En hypervisor, eller monitor som det också kallas, är ett mjukvarulager som gör det möjligt att köra flera olika operativsystem på samma host, samtidigt [13]. Den skapar en illusion av den fysiska hårdvaran och på så sätt kan flera virtuella maskiner köras samtidigt, helt separerade från varandra [14]. Hypervisorn har också ansvar för exekvering av de virtuella maskinerna och ansvarar för att I/O-anrop länkas samman och förs vidare till maskinens fysiska hårdvara.

Syftet att använda sig av en hypervisor är att kunna erbjuda isolering, resurshantering, schemaläggning samt övervakning och hantering av de virtuella maskinerna. [15]

Hypervisorn kan placeras på olika ställen beroende på teknik. Den första tekniken placeras direkt ovanpå hårdvaran och kallas antingen typ 1, native eller bare-metal, medan den andra tekniken kallas typ 2 eller hosted och placeras ovanpå ett befintligt operativsystem. I denna uppsats kommer vi använda oss av namnen typ 1 och typ 2.

2.4.1 Typ 1-hypervisor

Typ 1 är den hypervisor som vanligvis är att föredra vid servervirtualisering då den kan uppnå högre skalbarhet och stabilitet tack vare att den är placerad direkt ovanpå hostens hårdvara (se Figur 2.1). En typ 1-hypervisor brukar även ha mer anpassade funktioner för just företag, exempelvis möjligheten att migrera maskiner mellan hostar under drift men även andra viktiga funktioner så som backupmöjligheter och övervakningsfunktioner som är bra att ha i en enterprisemiljö. [1]

De första typ 1-hypervisorerna slogs med prestandaförluster i virtualiseringsmjukvaran. Detta löstes dock när hårdvarustöd för virtualisering introducerades (exempelvis AMD-V och Intel VT-x processorer). En annan nackdel är att hårdvarustödet för att kunna använda en typ 1-hypervisor är något begränsad då de oftast har en limiterad mängd drivrutiner inbyggda. [1]

Exempel på produkter som använder denna typ av hypervisor är ESXi från VMware, Hyper-V från Microsoft samt XenServer från Citrix. [4]

8

Figur 2.1: Struktur för typ 1-hypervisor

2.4.2 Typ 2-hypervisor

Till skillnad mot en typ 1-hypervisor måste ett operativsystem installeras och köras innan typ 2-hypervisorn kan installeras och läggas ovanpå (se Figur 2.2). Denna typ av hypervisor är inte lika känslig vad gäller den underliggande hårdvaran eftersom det är det underliggande värdoperativsystemet som ansvarar för hårdvarudrivrutinerna. [1]

En nackdel är att en typ 2-hypervisor har en längre väg att gå för komma i kontakt med den fysiska hårdvaran än vad en typ 1-hypervisor har eftersom den placerats ovanpå ett befintligt operativsystem. Detta medför att de virtuella maskinerna måste gå genom fler lager av mjukvara innan de når den fysiska hårdvaran och kan i vissa fall orsaka prestandaförluster. [16]

Exempel på programvaror som använder typ 2-hypervisorn är bland annat VMware Fusion, VMware server, Parallels Server for Mac och Virtualbox.

Figur 2.2: Struktur för typ 2-hypervisor

9

2.5 Full virtualisering

Full virtualisering betyder att en komplett simulering av den underliggande hårdvaran görs och mjukvara kan köras exakt som de skulle göra på den fysiska hårdvaran [17]. De virtuella maskinerna tror då att de är ensamma om hårdvaran och har ingen aning om att andra virtuella maskiner samt den fysiska maskinen också har tillgång till hårdvaran, vilket kan orsaka problem när flera virtuella maskiner vill ha tillgång till samma hårdvaruresurser samtidigt.

En stor fördel med full virtualisering är att operativsystem inte behöver modifieras för att användas i en virtuell miljö. Full virtualisering erbjuder också bra isolering och säkerhet för de virtuella maskinerna samt att det underlättar migrering då gäst OS-instansen både kan köras virtuellt och på en fysisk maskin [18].

2.6 Paravirtualisering

Till skillnad mot full virtualisering görs inte en komplett simulering av hårdvaran när man använder sig av paravirtualisering. Hypervisorn tillhandahåller ett interface för de virtuella maskinerna men är inte en exakt återspegling av den underliggande hårdvaran. Detta medför att operativsystemen måste modifieras för att kunna användas i en paravirtualiserad miljö [19]. Detta kan dock medföra prestandafördelar då gäst-operativsystemen är modifierade för en virtuell miljö och vet om att de är virtualiserade [20]. Tanken med paravirtualisering är att minska prestandaförluster då de virtuella maskinerna samarbetar närmre med hypervisorn och behöver inte alltid göra ett I/O anrop mot den virtuella hårdvaran utan kan istället direkt kontakta hypervisorn.

2.7 Hårdvarustöd för virtualisering

Hårdvarustöd används bland annat för att kunna avlasta hypervisorn och utföra operationer direkt i hårdvaran utan att mjukvara behöver blandas in i onödan. Bland annat Intel VT-x och AMD-v är exempel på sådana processorfunktioner. Dessa gör det möjligt att få bättre prestanda vid virtualisering genom att exempelvis VT-x sköter kontaken med gästoperativsystemet istället för att värdoperativsystemet ska behöva göra det. Andra typer är AMD-Vi samt Intel VT-d som används för I/0 minneshantering. Detta stöd används vid virtualisering för att att avlasta processorn och på så sätt kan virtuella maskiner direkt få tillgång till bland annat nätverkskort, grafikkort och hårddiskkontroller. Detta möjliggör även att administratörer kan dedikera I/O-enheter så att endast en specifik virtuell

10

maskin kan få tillgång till en viss I/O-enhet. [1,18]

Det finns även hårdvarustöd i vissa nätverkskort som sorterar paket i köer för varje virtuellmaskin. På så sätt kan processorn som hanterar den specifika virtuella maskinen hämta paketen därifrån direkt. [21]

Detta är bara ett par enstaka tekniker som anpassats för virtualiering. Syftet med dessa är att minska tiden det tar för virtuella maskiner att komma i kontakt med den fysiska hårdvaran, men även avlasta den. Det ökar även säkerheten då trafik inte behöver gå genom andra operativsystem och mjukvara utan kan direkt prata med den fysiska hårdvaran. [1]

11

3. Metod

I detta kapitel beskrivs den metod vi använt för att komma fram till våra resultat. Prestandamätningar gjordes på typ 1 och typ 2-hypervisorer med hjälp av programvarorna Xbench, Geekbench och Drive Genius. Operativsystemet som virtualiserades var Mac OS X Snow Leopard Server 10.6.3 på hårdvaran Mac mini server (mid 2011).

Inledningsvis fastställs ansats och metodval. Vidare beskrivs studieobjekten, mätinstrumenten, experimentmiljön samt genomförandet. Kapitlet avslutas sedan med en metoddiskussion

3.1 Ansats och metodval

Första steget i detta arbete var att utföra en litteraturstudie genom att studera tidigare forskning, tidsskrifter samt andra arbeten som berör ämnet servervirtualisering. Genom denna studie fick vi en bra grund att utgå från när vi formade våra experiment och en djupare kunskap inom ämnet.

Som vi nämnt tidigare i arbetet har vi inte hittat någon tidigare forskning där typ 1 och typ 2-hypervisorer ställts mot varandra. Det finns heller ingen forskning inom servervirtualiseringsområdet som behandlar virtualisering av Mac OS X. Vi har därför valt att använda en induktiv ansats för vårt arbete.

En kvantitativ metod användes för de experiment vi genomförde som sedan b tt man exempelvis genom

ransformera i kvantitativa [22].

3.2 Studieobjekt

De hypervisorer som användes under experimenten var VMware ESXi 5.0 U1 och Parallels Server for Mac 4.0. Dessa två valdes på grund av att det inte fanns några andra Mac-kompatibla hypervisorer anpassade för enterprisemiljöer när uppsatsen skrevs. Enterpriseversioner har oftast fler funktioner, så som exempelvis stöd för migrering och olika backupfunktioner som är viktiga att ha i en företagsmiljö.

Parallels tillhandahöll ej uppdateringar när man använde deras test-version.

12

Därför saknade denna stöd för virtualisering av Mac OS X Lion Server, som var den senaste serverversionen av Mac OS X när experimentet genomfördes. Istället användes Mac OS X Snow Leopard Server 10.6.3 för att utföra experimenten.

VMware ESXi 5.0 U11 - är en typ 1-hypervisor som installeras direkt ovanpå den fysiska hårdvaran och delar ut resurser från den fysiska hårdvaran till de virtuella maskinerna som körs ovanpå ESXi. ESXi introducerades 2007 och föregångaren heter ESX. Den senaste versionen i dagsläget är ESXi 5.0 update 1. Denna version introducerade stöd för att virtualisera Mac OS X Lion och är i dagsläget den enda typ 1-hypervisor som har officiellt stöd för detta. ESXi brukar kategoriseras som typen full virtualisering (se kapitel 2.4.1), trots att hypervisorn numera kan ses som en hybrid mellan både full och paravirtualisering [18].

Parallels Server for Mac 4.0 Mac2 - Är en typ 2-hypervisor som installeras ovanpå ett befintligt operativsystem och är en anpassad version för Mac och dess hårdvara. Produkten är utvecklad för mindre företag som vill kunna virtualisera och använda applikationer för Mac,Windows och .

Mac OS X - Utvecklas av Apple och är det operativsystem som används på Mac-datorer. Den senaste versionen är Mac OS X 10.7 och släpptes i Juli 2011. Versionen går under namnet Lion. Den tidigare versionen (10.6) heter Snow Leopard och introducerades i augusti 2009. Det finns även serverversioner av dessa två operativsystem. Det har tidigare endast varit tillåtet att virtualisera serverversionerna men i och med Lion får man nu även virtualisera klientversionen. Fullständig EULA (End-User License Agreement) för Apples produkter kan läsas på deras hemsida3.

3.3 Mätinstrument

Precis som med hypervisorer var utbudet av programvaror för att göra prestandatester också väldigt litet. Genom att ladda hem de olika programvarorna som fanns tillgängliga, samt testa om de fungerade i en virtuell miljö kom vi fram till att Xbench, Geekbench och Drive Genius var de programvaror som gjorde mätningar på det vi ville mäta, det vill säga CPU, minne och läs- och skrivprestanda till hårddisk. I övrigt fanns det inte några andra programvaror som mätte på det vi ville mäta, förutom programmet CineBench som mäter CPU-prestanda. Denna programvara

1 http://www.vmware.com/products/vsphere/esxi-and-esx/index.html (2012-04-18) 2 http://www.parallels.com/eu/products/server/mac/ (2012-04-18) 3 http://www.apple.com/legal/sla/ (2012-04-22)

13

kostade dock för mycket och vi valde därför att inte använda CineBench i detta arbete.

De programvaror vi använde rekommenderades också mest frekvent när vi sökte information om prestandatester för Mac OS X på Internet och blev därför vårt val.

Geekbench4 - utvecklas av Primate labs och finns tillgängligt för Windows, Mac, Linux, Android och iPhone. Programmet används för att mäta prestanda på CPU och minne. Den senaste versionen är i dagsläget 2.3.1.

Xbench5 - är utvecklat av Spiny Software. Programvaran är till för att ge omfattande prestandatester för Mac OS X. Programmet kan användas till att jämföra två olika Mac-datorer eller för att försöka optimera prestandan på en maskin. Xbench mäter prestanda på CPU, trådar, minne, grafik, användargränssnitt och hårddisk.

Drive Genius6 - är utvecklat av det amerikanska mjukvaruföretaget Prosoft Engineering, inc. Programvaran är speciellt utvecklad till Mac och används b G B ’ A b Genius innehåller mängder av hårddiskrelaterade funktioner, där bland ett prestandatest som mäter läs- och skrivoperationer.

3.4 Experimentmiljö

En topologi över den miljö som användes kan ses i Figur 3.1. Valet av hårdvara till experimenten har baserats på bekvämlighetsurval då vi valde att använda utrustning som fanns att tillgå på universitetet. Den switch och lagring som används har vi dock stått för själva. Mac mini-servrarna ansågs ha tillräckligt bra prestanda för att kunna utföra experimenten på, samt kunna få ett användbart resultat med. Även switchen ansågs ha tillräckligt bra prestanda för att inte generera några flaskhalsar under experimenten. Valet av administrationsklient som används för att administrera ESXi-servern hade inte så stor betydelse mer än att kraven för VMware vCenter skulle uppfyllas.

4 http://www.primatelabs.ca/geekbench/ (2012-04-13) 5 http://xbench.com/ (2012-04-13) 6 http://www.prosofteng.com/products/drive_genius.php (2012-04-13)

14

Figur 3.1: Topologi över experimentmiljön

Hårdvara För att kunna utföra experimenten användes två stycken Mac mini Server (mid 2011) med följande hårdvaruspecifikationer:

 Processor: 2,0 GHz Quad-Core Intel Core i7 med 6 MB delad L3- cache på processormodulen  Minne: 4 GB DDR3-minne på 1333 MHz  Hårddisk: Två stycken 500 GB-hårddiskar (7200 varv/min)  Grafik: Intel HD Graphics 3000 med 384 MB DDR3 SDRAM-minne som delas med huvudminnet.

Switchen som användes var en Netgear ProSafe GS108 med åtta stycken Gigabitportar. Alla enheter kopplades till denna switch med RJ-45 kablar som stödjer upp till 1 Gigabit. Lagringen som användes var en vanlig desktopmaskin som använde sig av programvaran StarWind7 för att dela ut en hårddisk via iSCSI i nätverket. Operativsystemet på denna maskin var

7 http://www.starwindsoftware.com/starwind-free (2012-04-12)

15

Windows 7 Professional. Användningsområdet för denna enhet var att lagra de virtuella maskinernas virtuella hårddiskar. Prestandatesterna utfördes då mot den utdelade iSCSI-hårddisken för att på så sätt efterlikna en riktig virtuell miljö i den mån det var möjligt. Disken som användes var en 640GB Western Digital Caviar Blue, modell WD6400AAKS8.

Installation och konfiguration ESXi installerades på ett USB-minne via en virtuell maskin i VMware fusion. Detta USB-minne användes sedan för att boota ESXi på en Mac mini Server. För att få nätverkskortet att fungera på en Mac mini Server ihop med ESXi måste en drivrutin installeras manuellt. VMware tillhandahåller själva denna och den finns att hämta på deras hemsida9. Genom administrationsklienten anslöt vi till ESXi genom vCenter och formaterade en av de lokala hårddiskarna med filsystemet VMFS5.

Den andra Mac mini Servern körde en ren installation av Mac OS X Snow Leopard Server. På denna installerades Parallels Server utan några avvikande inställningar.

De virtuella maskinerna skapades i respektive miljö med följande konfiguration:

 Operativsystem - Mac OS X Snow Leopard Server 10.6.3  CPU - Fyra kärnor  Minne - 2048MB  Hårddisk - SCSI 70GB

All övrig konfiguration använde standardinställningar. De virtuella maskinerna lagrades lokalt på disk medan de virtuella hårddiskfilerna lagrades på iSCSI-lagringen. För att den fysiska maskinen skulle få tillgång till lagringen användes iSCSI-initiatorn GlobalSAN10.

Snow Leopard Server installerades utan att några tjänster aktiverades. De enda inställningar som ändrades var tangentbordslayout och IP-inställningar. När installationen var klar installerades till sist även de programvaror som användes för att utföra testerna.

8 http://wdc.com/global/products/specs/?driveID=394&language=1 (2012-04-20) 9https://my.vmware.com/web/vmware/details/dt_esxi50_broadcom_tg3_3_120h_v5 0_2/dHRAYnRAd2piZHAlZA== (2012-04-20) 10 http://www.studionetworksolutions.com/products/product_detail.php?pi=11 (2012-04-10)

16

3.5 Genomförande

Testerna genomfördes på en maskin åt gången där samtliga tester kördes tio gånger för att öka pålitligheten på resultaten. Vi behövde köra testerna mer än en gång för att kunna utesluta temporära felaktigheter i mätningarna. Tio gånger ansåg vi var tillräckligt för att kunna få ett pålitligt resultat. För att mäta CPU och minne (observation #2 och #3) användes programmet Geekbench som presenterar resultatet genom ett poängsystem där högst poäng är bäst. Geekbench gör mätningar på integer performance och floating point performance för CPU-prestanda. För minnesprestanda testas memory performance och stream performance. Efter att tio tester genomförts togs ett medelvärde från varje deltest. Poängen slogs sedan samman för att få ett sammanslaget värde för CPU och ett sammanslaget värde för minne. Det är detta resultat som presenteras i resultatdelen. Information om hur och vad Geekbench gör tester på kan läsas på deras hemsida11.

För läs- och skrivprestanda till disk (observation #1) användes programvaran Drive Genius. Även här kördes testerna tio gånger för att öka pålitligheten på resultaten. Efter att programvaran körts presenterades resultatet för läs- och skrivprestanda i MB/s. Drive Genius testar läs- och skrivprestanda för olika filstorlekar och jämför även sekvensiella och random skriv- och läsoperationer.

Efter varje avslutat test noterades alla värden och sammanställdes i Microsoft Excel. Totalt kördes 30 test på varje maskin.

3.6 Metoddiskussion

Reliabilitet innebär att mätningarna är korrekt gjorda. Kan fler komma fram till samma resultat med samma metoden är reabiliteten hög. För att höja reliabilteten på våra experimenten utfördes testerna för CPU, minne och disk tio gånger. Medelvärdet av dessa tio tester är den siffra som kommer att presenteras i resultatdelen. Detta gjordes för att utesluta temporära toppar och dalar i antingen testverktyget, operativsystemet eller i själva hårdvaran.

Vi är medvetna om att det finns programvaror som är anpassade för att mäta prestanda på en virtuell miljö, exempelvis VMmark för ESXi. Vi uppnådde dock varken hårdvarukraven eller mjukvarukraven som behövs för att kunna köra dessa tester. Istället fick vi använda programvaror som är utvecklade för att användas på fysiska maskiner, vilket tyvärr sänker validiteten och reabiliteten på våra resultat något.

11 http://support.primatelabs.ca/kb/geekbench/interpreting-geekbench-scores (2012- 05-21)

17

Xbench är en gammal programvara som uppdaterades senast 2006. Mätresultaten pekar dock åt samma håll som mätresultaten från Geekbench. Däremot kan vi inte med säkerhet veta att Geekbench och Xbench mäter processor och minnesprestanda på samma sätt och resultaten bör då heller inte jämföras med varandra. Värt att notera är också att programvarorna inte använder samma poängsystem. Även om vi inte med säkerhet kan säga att de mäter på samma sak ser vi ändå samma tendenser i mätresultaten, vilket tyder på att båda programvarorna mäter korrekt. Vi gjorde dock valet att inte ta med mätresultaten från Xbench i rapporten då programmet inte kunde köras korrekt på den fysiska maskinen. Vi anser heller inte att en programvara från 2006 kan generera pålitliga resultat på dagens maskiner. Mätresultaten från Xbench har dock bifogats och kan ses i bilaga B.

18

4. Resultat

I detta kapitel presenteras de resultat vi fick fram genom våra experiment. Resultaten är indelade i tre olika observationer och presenteras i stapeldiagram. Prestandamätningar gjordes tio gånger för varje test där medelvärdet av dessa tio används som resultat. Rådata för samtliga mätresultat finns att se i bilaga B.

4.1 Observation #1

Denna observation behandlar läs- och skrivprestanda. Mätningarna gjordes med programvaran Drive Genuis och mätresultaten är angivna i MB/s. Resultatet för sekvensiella läs och skrivningar kan ses kan ses Figur 4.1 och Figur 4.2. Resultatet för random läs och skrivningar kan ses i Figur 4.3 och Figur 4.4.

Figur 4.1: Resultat för sekvensiella läsningar av filstorlekarna 1MB och 16MB. Högre värde är bättre.

Testet för sekventiell läsning visar att den fysiska maskinen presterar något bättre än typ 1-hypervisorn. Typ 2-hypervisorn får sämst resultat vid läsning av både 1MB och 16MB.

19

Figur 4.2: Resultat för sekventiella skrivningar av filstorlekarna 1MB och 16MB. Högre värde är bättre.

Testet för sekventiell skrivning visar att den fysiska maskinen presterar bäst. Typ 1-hypervisorn presterar något bättre än typ 2 vid läsning av både 1MB och 16MB.

Figur 4.3: Resultat för random läsningar av filstorlekarna 1MB och 16MB. Högre värde är bättre.

20

Testet för random läsning visar att den fysiska maskinen presterar bäst vid läsning av 16MB. Typ 1-hypervisorn presterar bäst vid läsning av 1MB. Typ 2-hypervisorn presterar sämst vid läsning av både 1MB och 16MB.

21

Figur 4.4: Resultat för random skrivningar av filstorlekarna 1MB och 16MB. Högre värde är bättre.

Testet för random skrivning visar att den fysiska maskinen presterar bäst. Typ 2-hypervisorn presterar något bättre än typ 1 vid läsning av både 1MB och 16MB.

4.2 Observation #2

Denna observation behandlar prestanda för CPU. Mätningarna gjordes med programvaran Geekbench. Mätresultaten är angivna i programvarans egna poängsystem där delmätningar har slagits samman för att få fram ett sammanslaget resultat (se kapitel 3.3). Resultaten från mätningarna i Geekbench kan ses i Figur 4.5.

22

Figur 4.5: Resultat för CPU-prestanda i programvaran Geekbench. Högre värde är bättre.

Testet visar att den fysiska maskinen har bäst CPU-prestanda. Typ 1- hypervisorn presterar något bättre än typ 2.

4.3 Observation #3

Denna observation behandlar prestanda för minne. Mätningarna gjordes med programvaran Geekbench. Mätresultaten är angivna i programvarans egna poängsystem där delmätningar har slagits samman för att få fram ett sammanslaget resultat (se kapitel 3.3). Resultaten från mätningarna i Geekbench kan ses i Figur 4.6.

23

Figur 4.6: Resultat för minnesprestanda i programvaran Geekbench. Högre värde är bättre.

Testet visar att den fysiska maskinen har bäst minnesprestanda. Typ 1- hypervisorn presterar något bättre än typ 2. Den fysiska maskinen har dock dubbelt så mycket minne att tillgå.

4.4 Resultatanalys

Resultaten visar tydligt att båda de virtualiserade maskinerna presterar sämre i nästan alla avseenden jämfört mot den fysiska. Det man ska ha i åtanke är att den fysiska maskinen har tillgång till dubbelt så mycket minne (4GB), vilket givetvis kan påverka resultaten. Jämför man de virtuella maskinerna mot varandra kan man ganska tydligt se att typ 1-hypervisorn presterar bättre i nästan alla tester. Typ 2-hypervisorn uppnådde något högre resultat vid random skrivningar, men på det stora hela presterar typ 1 klart bättre även vid läs- och skrivoperationer.

Kollar man lite närmre på siffrorna kan man utläsa att typ 1-hypervisorn får cirka 7% bättre resultat än typ 2 vid prestandamätning av CPU i Geekbench. För minne får typ 1-hypervisorn cirka 6% bättre resultat än typ 2. Vad gällande läs- och skrivprestanda är den sekventiella skrivhastigheten (1MB och 16MB) cirka 6% snabbare med typ 1-hypervisorn jämfört med typ 2. Typ 1-hypervisorn är även cirka 13% snabbare än typ 2 på sekventiell läsning. För random skrivning är typ 2-hypervisorn cirka 6% snabbare än typ 1, men typ 1 visade sig sedan vara cirka 20% snabbare än typ 2 på random läsning.

24

Resultaten från testerna var förväntade. Det som dock överraskade var att typ 1-hypervisorn presterade bättre än den fysiska vid 1MB random läsning.

25

5. Avslutning

I detta kapitel diskuteras resultaten vi kommit fram till i och med denna studie. En slutsats presenteras samt förslag på vidare forskning inom området.

5.1 Diskussion

Den frågeställning som legat till grund för arbetet och de resultat vi fått fram var:

Vid enterprisevirtualisering av Mac OS X Snow Leopard Server 10.6.3, hur kommer prestandan att skilja sig mellan en typ 1 och en typ 2-hypervisor?

Med de experiment vi utfört kan vi se att typ 1-hypervisorn presterar bättre än typ 2 i nästan alla avseenden. Anledningen till detta anser vi ligger i den strukturella skillnaden mellan de två olika hypervisorerna (se Figur 2.1 och Figur 2.2).

Typ 1-hypervisorn installeras och körs direkt ovanpå hårdvaran, medan typ 2- hypervisorn körs ovanpå ett befintligt operativsystem (i vårt fall Mac OS X Snow Leopard Server). Detta innebär att virtuella maskiner som körs på typ 2-hypervisorn får en längre väg (mer mjukvara att passera) innan de kommer i kontakt med hårdvaran. Hypervisorn är anpassad för virtualisering, men det underliggande operativsystemet är inte det. Typ 1-hypervisorn däremot, vars enda syfte är att virtualisera, placerar virtuella maskiner närmre hårdvaran. Typ 1-hypervisorn är dessutom en väldigt liten installation (144MB), vilket indikerar på att endast de nödvändigaste funktionerna finns där. Jämför detta med installationen av Mac OS X Snow Leopard Server som ligger på strax under 4GB. Ovanpå detta läggs även Parallels Server (typ 2-hypervisorn) som ligger på 234MB. Vad detta innebär exakt kan vi själva inte besvara, men vi anser att all den mjukvara som ligger i botten gör typ 2-hypervisorn tyngre och mer komplex jämfört med typ 1.

Vidare kan man se att typ 1-hypervisorn allokerar cirka 950MB minne i idle- läge medan typ 2-hypervisorn allokerar cirka 2GB. Detta har att göra med att Mac OS X ligger i botten under typ 2-hypervisorn och allokerar minne och andra resurser. Vi har inte undersökt hur resursåtgången på övriga komponenter ser ut i idle-läge då detta var något vi noterade i slutfasen av arbetet. Vi kan dock förmoda att mindre resurser utnyttjas överlag i idle-läge på typ 1-hypervisorn jämfört mot typ 2, baserat ovanstående observation. Implementerar man typ 2-hypervisorn i en större miljö måste man därför ha i åtanke att mycket av de tillgängliga resurserna kommer gå förlorade på grund

26

av att det underliggande operativsystemet.

En intressant sak som framkom under mätningen av läs- och skrivprestanda var att typ 1-hypervisorn faktiskt presterar bättre än den fysiska maskinen i 1MB random skrivningar. Detta talar emot teorin då virtuella maskiner alltid dras med en vis mån av prestandaförlust [3]. Den hårdvara vi använde var heller ingen sådan som har stöd för att ge virtuella maskiner direkt tillgång till I/O-enheter, vilket gör oss ännu mer förbryllade över resultatet. Mjukvaran kan på något sätt har förvrängt dessa resultat. Vare sig det är Drive Genius, Snow Leopard Server eller typ 1-hypervisorn som är boven, anser vi inte att detta resultat är rimligt. Även iSCSI initiatorn kan ha påverkat resultaten då typ 1-hypervisorn mappade upp iSCSI-utdelningen med den inbyggda initiatorn, medan typ 2-hypervisorn använde sig av GlobalSAN. Under testerna upplevde vi en högre förutsägbarhet under de större filskrivningarna, vilket också skulle kunna innebära att filstorleken 1MB är för liten för att Drive Genius ska ge pålitliga resultat. Å andra sidan har vi genomfört samtliga tester tio gånger och alla andra läs- och skrivresultat med filstorleken 1MB stämmer överens med vad teorin säger.

Den tidigare forskning vi har hittat inom ämnesområdet har inte behandlat Mac OS X. Inte heller har någon jämfört en typ 1 mot en typ 2-hypervisor. I och med vårt arbete har vi fyllt en liten del av denna kunskapslucka. Med våra experiment kan vi konstatera att typ 1-hypervisorn ESXi är den hypervisor som ger bäst prestanda vid virtualisering av Mac OS X Snow Leopard Server. Detta behöver dock inte betyda att typ 1-hypervisorn är det självklara valet om man vill implementera virtualisering för Mac OS X i sin IT-miljö. De funktionella skillnaderna mellan de båda är till SX ’ favör, men det kommer också med en högre prislapp än Prallels Server. Det är dock svårt att fastställa ett pris på ESXi då i princip allt kräver en licenskostnad. Dessutom tillhandahåller VMware endast priser som gäller för USA. Beslut om vilken hypervisor som ska användas i ett företag baseras på en mängd olika faktorer där prestanda bara är en av dem.

Trots att prestandaskillnaderna mellan typ 1 och typ 2-hypervisorn är ganska små måste man se det hela i ett större perspektiv. Den experimentmiljö vi använt oss av är endast en liten representation av hur en riktig enterprisemiljö skulle kunna se ut. I vårt fall då vi endast virtualiserar en maskin har inte en prestandaförlust på cirka 5-10% inte någon större betydelse. Däremot kan dessa små siffror visa sig vara ganska betydande när det istället handlar om 100 maskiner som ska virtualiseras och leverera kritiska IT-tjänster på ett företag.

Att Apple valt att virtualisering av Mac OS X endast får ske på deras egen hårdvara är enligt oss en väldigt negativ aspekt. Urvalet av hårdvara att utföra

27

virtualisering på begränsas avsevärt då endast Mac mini Server eller Mac Pro känns som lämpliga kandidater för ändamålet. En annan negativ sak är också att man alltid betalar för operativsystemet Mac OS X när man köper hårdvara från Apple. Detta är en onödig kostnad om man ändå har tänkt att installera exempelvis ESXi. Det positiva med virtualisering på Apples hårdvara är möjligheten att kunna virtualisera samtliga operativsystem som hypervisorn stödjer, även Mac OS X, vilket inte är möjligt om man använder vanlig PC- hårdvara. Vill man alltså kunna virtualisera operativsystem från Apple, Linux och Microsoft på samma virtualiseringslösning är det endast på Mac-hårdvara detta är möjligt i dagsläget.

5.2 Slutsats

Det resultat vi fick fram genom denna undersökning visar på att en typ 1- hypervisor ger bättre prestanda än en typ 2-hypervisor vid virtualisering av Mac OS X Snow Leopard Server 10.6.3. Det mätningarna gjordes på var CPU, minne och läs- och skrivprestanda. Trots att vi är tveksamma på resultaten från 1MB random läsning, där typ 1-hypervisorn faktiskt presterade bättre än den fysiska maskinen, kan vi ändå utifrån de övriga resultaten dra slutsatsen att maskiner som virtualiserats med typ 1- hypervisorn får högre prestanda än de som virtualiseras med typ 2- hypervisor.

5.3 Fortsatt forskning

Det hade varit intressant att se en prestandajämförelse mellan olika typ 1- hypervisorer när Mac OS X virtualiseras. I dagsläget verkar det vara svårt att göra med tanke på det smala utbudet av hypervisorer. Fortsätter populariteten av Mac OS X att växa bör det finnas fler alternativ för virtualisering av operativsystemet inom en snar framtid. Det kanske även då finns fler programvaror att mäta prestanda med för att öka pålitligheten på resultaten.

Man skulle kunna tänka sig att använda vår metod eller en liknande sådan för att virtualisera större mängder med maskiner. Det kan mycket väl vara som så att prestandaförluster blir högre ju fler maskiner som körs samtidigt.

En annan sak som är värd att undersöka är om man kan hitta felkällan till det experiment som inte blev som förväntat. Man skulle då kunna göra tester med fler och större filstorlekar för att se om detta påverkar resultaten.

28

A. Referenser

[1] G. Bernard, for dummies, 2nd Sun and AMD Special Edition. Hoboken, NJ: Wiley Publishing inc. 2009.

[2] IBM Systems and Technology Group, “V z ” Oktober, 2007 [Online]. Tillgänglig på: http://www- 07.ibm.com/solutions/in/education/download/Virtualization%20in%20Educat ion.pdf [Hämtad: 2012-04-23]

[3] Kontagora. M och Gonzalez-Velez. H , "Benchmarking a MapReduce Environment on a Full Virtualisation Platform," Complex, Intelligent and Software Intensive Systems (CISIS), 2010 International Conference, pp. 433- 438. 2010

[4] Muditha Perera. P and Keppitiyagama. C, "A performance comparison of ," Advances in ICT for Emerging Regions (ICTer), 2011 International Conference, pp. 120. September, 2011. doi: 10.1109/ICTer.2011.6075037

[5] I R “Så får du din Mac att trivas på jobbet,” techworld.idg.se, Februari 22, 2012 [Online]. Tillgänglig på: http://www.idg.se/2.1085/1.433858/sa-far-du-mac-att-trivas- pa-jobbet [Hämtad 2012-03-28]

[6]Semnanian. A.A, Pham. J, Englert. B, Xiaolong Wu, "Virtualization Technology and its Impact on Computer Hardware Architecture," Information Technology: New Generations (ITNG), 2011 Eighth International Conference, pp. 719-724. April, 2011. doi:10.1109/ITNG.2011.127

[7] N AB “ ” NE.se, 2012 [Online]. Tillgänglig på: http://www.ne.se/lang/virtuell [Hämtad: 2012-05-21]

[8] J “S z ” Crossroads, Volume 16. Issue 1, pp. 8-12. September, 2009. doi=10.1145/1618588.1618592

[9] R J S w L A B “A ” I Proceedings of the workshop on virtual computer systems. ACM, New York, NY, USA, pp. 43-73. 1973 doi:10.1145/1499586.1499668

29

[10] V w “Reduce Engergy Costs and Go Green,” 2009 [O ] http://www.vmware.com/files/pdf/VMware-GREEN-IT-OVERVIEW-SB- EN.pdf [Hämtad: 2012-05-21]

[11] Karger. P.A, "Is Your Virtual Machine Monitor Secure?", Trusted Infrastructure Technologies Conference, 2008. APTC '08. Third Asia-Pacific, pp. 5. Oktober, 2008. doi:10.1109/APTC.2008.18

[12] M.I. Sharif, W. Lee, W. Cui, A. Lanzi. "Secure in-VM monitoring using ," In Proceedings of the 16th ACM conference on Computer and communications security (CCS '09). ACM, New York, NY, USA, pp. 477-487. 2009 doi:10.1145/1653662.1653720

[13] Chaves. J.C, "Enabling High Productivity Computing through Virtualization," DoD HPCMP Users Group Conference, 2008. DOD HPCMP UGC, pp. 403-408, 14-17 Juli 2008 doi:10.1109/DoD.HPCMP.UGC.2008.27

[14]Che. J, He. Q, Gao. Q, Huang D, "Performance Measuring and Comparing of Virtual Machine Monitors," Embedded and Ubiquitous Computing, 2008. EUC '08. IEEE/IFIP International Conference, vol.2, pp. 381-386. December, 2008 doi:10.1109/EUC.2008.127

[15] C O “A Comparison of Management of Virtual Machines with z/VM and ESX Server,” O : H O 2007 [O ] Tillgänglig på: https://oda.hio.no/jspui/handle/10642/454 [Hämtad: 2012-04- 07]

[16] Seibert. “Understanding hosted and bare-metal virtualization hypervisor types,” A 2011 [O ] Tillgänglig på: http://searchservervirtualization.techtarget.com/tip/Understanding-hosted- and-bare-metal-virtualization-hypervisor-types)

[17] R R “Survey of System Virtualization Techniques,” O : O State University, 2004 [Online]. Tillgänglig på: http://ir.library.oregonstate.edu/xmlui/handle/1957/9907 [Hämtad: 2012-04-15]

30

[18] V w “Understanding Full Virtualization, Paravirtualization, and Hardware Assist,” S b 2007 [O ] Tillgänglig på: http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf [Hämtad: 2012-05-15]

[19] Reuben. J S “A S V S ” F : H University of Technology, Oktober, 2007 [Online]. Tillgänglig på: http://www.tml.tkk.fi/Publications/C/25/papers/Reuben_final.pdf [Hämtad 2012-05-02]

[20] VMware inc, “Virtualization Overview,” 2006 [O ] Tillgänglig på: http://www.vmware.com/pdf/virtualization.pdf [Hämtad: 2012-05-15]

[21] S. Chinni och R. Hiremane, “Virtual Machine Device Queues,” 2007 [Online]. Tillgänglig på: http://www.intel.com/content/www/us/en/virtualization/virtual-machine- device-queues-paper.html [Hämtad: 2012-05-21]

[22] J L K S “Social Engineering, En studie om medvetenhet och förebyggande åtgärder mot Social Engineering på svenska organisationer,” K : L é 2011 [Online]. Tillgänglig på: http://lnu.diva-portal.org/smash/record.jsf?pid=diva2:421708 [Hämtad: 2012-05-30]

31

B. Bilaga

Hårddiskprestanda med Drive Genius (Fysisk Mac mini Server)

32

Hårddiskprestanda med Drive Genius (Parallels Server for Mac 4.0)

33

Hårddiskprestanda med Drive Genius (VMware ESXi 5.0 U1)

34

CPU- och Minnesprestanda med Geekbench (Fysisk Mac mini Server)

CPU- och Minnesprestanda med Geekbench (Parallels Server for Mac 4.0)

CPU- och Minnesprestanda med Geekbench (VMware ESXi 5.0 U1)

35

CPU- och Minnesprestanda med Xbench (Fysisk Mac mini Server)

CPU- och Minnesprestanda med Xbench (Parallels Server for Mac 4.0)

CPU- och Minnesprestanda med Xbench(VMware ESXi 5.0 U1)

36