Regeldokument
Total Page:16
File Type:pdf, Size:1020Kb
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 hypervisor. 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