Malmö 08.03.2012

Virtualisering

   Virtualisering är en metod för att dela resurser i en dator i flera oberoende av varandra miljöer.

   Oavsett vilken virtualiseringsteknik teknik som används - syftet av virtualisering är i grunden densamma. Separera bassystemet från dem virtuella miljöer, så att en mjukvara fel i dessa miljöer inte stör bassystemet, eller andra virtuella system. Detta görs genom att separera filsystemet och processer. Dessutom kan bassystemet emulera hårdvaran för virtuella systemen, så man kan köra program och/eller system på andra plattformar än de för vilka de skapades.

Emulation

    En emulator är en programvara som gör det möjligt att köra datorprogram på en annan plattform (processorarkitektur och/eller operativsystem) än den som de ursprungligen skrevs. Emulator duplicerar ett systemsfunktioner till ett annat, så att det andra systemet kommer att återvända samma resultat som den första. Vi säger då att det första systemet emuleras av den andra. Exempel: PCSX, DOSEMU, UAE.

Full virtualisering

   Det vill säga viss typ av virtualisering som gör att en omodifierad operativsystem med alla dess installerade program att köra i en speciell miljö, på toppen av din befintliga operativsystem. Denna miljö, som kallas en "virtuell maskin", skapas av virtualization mjukvaran [hypervisor type 2] genom att fånga upp åtkomst till vissa hårdvarukomponenter och vissa funktioner. Den virtuella maskinen emulerar hela hårdvaran så att en omodifierad OS för en helt annan processor som ska köras. Den fysiska datorn kallas "host", medan den virtuella maskinen kallas en "gäst". De flesta av gästerna koden körs i oförändrat skick, direkt på värddatorn, och gästen operativsystemet "tänker" det körs på riktig maskin. Exempel: VirtualBox, [KVM/Qemu].

Paravirtualisering

   Virtualiserade operativsystemet (kallad Guest) arbetar med datorns operativsystem (Host) i användningen av dessa program- och hårdvarukomponenter, som skulle utdelas mellan andra virtualiserade miljöer. Ett sådant samarbete sker genom av utrustning som kallas hypervisor. Hypervisor [hypervisor type 1] är ett lager av mjukvara som körs direkt på hårdvara - tillåter datorns hårdvara för att köra flera gästoperativsystem samtidigt. Den term används för att beskriva en virtualisering teknik som gör att operativsystemet är medveten om det att körar på en hypervisor istället för fysiskt hårdvara. Operativsystemet måste vara modifieras för att rymma den unika situation som körs på en hypervisor istället för basisk hårdvaran. Exempel: Xen, Hyper-V, VMware ESX.

Operativsystem nivå virtualisering

   Operativsystem nivå virtualisering är en server virtualisering teknik som virtualiserar servrar på ett operativsystem (kärna) nivå. Det kan ses som partitionering en enda fysisk server i flera små partitioner: virtuella privata servrar (VPS) eller virtuella miljöer (VES). Varje sådan partition ser ut och känns som en riktig fristående server, kan startas självständigt och ha root-access, användare, IP-adresser, minne, processer, filer, program, bibliotek system- och konfigurationsfiler, ur grund av sin bassystemet. På Unix/Linux kan denna teknik ses som en avancerad förlängning av standard chroot mekanismen. Exempel: Linux-VServer, OpenVZ, FreeBSD Jail, Solaris Zones.

Några definitioner:http://cstjanster.idg.se/sprakwebben/ord.asp?ord=virtualisering

   Just nu har jag Solaris11 system, OpenIndiana, Windows7 och XP och den andra på virtuella maskiner - detta är användbara för att lära sig systemet utan att riskera problem med fel som en följd av min behandling, och har jag lätt tillgång till programvaran på dessa plattformar. Ubuntu används för att testa de program som jag inte vågar installera på desktopen och för att testa lösningar som kan påverka hela systemet eller kan de "trasha" det. Det system på virtuella maskiner jag använder till fjärranslutningar från Internet - det är en säkrare lösning än att öppna tillgång till huvudsystemet. Med fjärråtkomst kan man tillåta flera användare att använda de virtuella systemen på en fysiskt dator - man kan även skapa ett helt LAN. Virtuella nätverket kräver flera virtuella maskiner - vilket innebär att mer datorresurser behövs. Så mycket har jag inte, jag bara kan prova Linux i textläge, med fördelningen ca 64 MB RAM per system. I VB option nätverk är möjligt att skapa - det kan man göra: - ett virtuellt nätverk isolerad från det fysiska, virtuella nätverk med anslutning till det fysiskt via en router med NAT, eller bryggad virtuella NIC så att systemet ses i den fysiska nätverket och beter sig som om var en fysisk maskin. Jag skapade sex virtuella system i VB och satte tre av dem som routrar, och de andra tre symboliserar tre LANs. Det är ett bra sätt att utöva routing på en enda dator. Virtualisering tillåter också en bättre användning av hårdvara resurser - man kan importera och köra den virtuella maskinen på en server som inte använder alla sina resurser.

   Som nackdel kan man nämna att de virtuella lösningar har låg tolerans för hårdvarufel. Om en dator med flera virtuella systemen kraschar så man förlorar tillgång till dem alla. Därför är det viktigt att använda funktioner tillgängliga i dem virtuella maskiner - som snapshot, migration, kloning och backup. Virtuella diskar kan lagras på andra enheter i ett Storage Area Network. Till exempel i EC-Utbildning Helsingborg iSCSI teknik som används i systemen under kontroll av VMware ESX på ett bladserver.
   Jag har ingen tillgång till avancerade virtualisering tekniker verken hårdvara eller mjukvara - så sysslar jag med dem som jag kan få tillgång till. Jag tänker inte beskriva de tekniska detaljerna - dessa kan hittas på hemsidor av dessa projekt. Det presenteras sådana beskrivningar, som jag aldrig skulle kunna skapa en. Jag presenterar här mina steg som jag gjorde under installationen och grundläggande konfiguration av virtuella miljöer. Jag noterar att programmen har arbetat med har mycket mer avancerade alternativ än de som presenteras här.

   Produkter från Oracle (Sun Microsystems), HP, IBM erbjuder rätt utrustning för avancerad virtualisering men för mina övningar använder jag Ubuntu 10.04 LTS på min desktop med Core2Duo E4500, FreeBSD på server med Pentium4 och datorer med Windows 2008 R2, Core2Duo E6750 i skolan. Core2Duo E4500 processor på min hemdator har ingen stöd för virtualisering som är associerad med vissa begränsningar: VB kan bara använda en CPU-kärna på gästen OS, virtualisering med Hyper-V är omöjligt. Men kommer jag att använda Oracle VM VirtualBox på Ubuntu och VirtualBox OSE på FreeBSD som värd systemen. Efter har jag installerat virt-manager jag kommer att kunna hantera Qemu och den andra hypervisor: Xen. På två skoldatorer installerade jag Oracle VirtualBox och Hyper-V på Windows 2008 R2 som ett värdsystem.

   Mitt främsta mål är förmågan att hantera en mängd olika virtualiseringsprogramvara på olika plattformar.
Jag kommer att syssla med:

Exemplar för ssh användning
Exempel för virtuell nätverksmiljö.