Virtuella Linuxsystem trivs bäst hos IBM

Tekniken med virtuella maskiner gör det möjligt att köra flera operativsystem på samma maskin. Man kan till exempel ha två instanser av Redhat Linux och en instans av Windows 2000 på sin Intelserver. IBM är solklar ledare med sin stordatorteknik som klarar tusentals Linuxoperativ på samma system.

Virtuell Linux körs idag bäst på IBMs stordatorer som klarar flera tusen virtuella Linuxoperativ. VMware säljer en liknande men enklare och billigare lösning för standardservrar från Intel.

Källa / copyright: IBM

Virtualiseringen sparar in pengar på två sätt. För det första är det enklare att administrera ett färre antal stora datorer än många små, för det andra kan administratören fördela processorer och andra maskinresurser till operativsystemen efter behov. Utan virtualisering måste varje maskin få tillräckligt med minne och processorer för att klara toppbelastningarna.

Enligt uppgift från IBM har bland annat Telia köpt en S/390-server som klarar upp till 1500 virtuella Linux-maskiner. Den ska användas för att sälja webbservrar till kunder som behöver en egen server. Jämfört med att ha en server i rack för varje kund blir kostnaden avsevärt lägre.

Tro inte att tekniken är ny - IBM har haft den på stordatorerna sedan 1970. Det nya är att program och maskiner för Intels billiga x86-processorer har dykt upp, och att Linux används istället för företagsegna operativsystem.

Men nuförtiden är IBM långt ifrån ensamma. Unisys har till exempel en maskinvarulösning för att dela upp sin ES7000-dator i flera virtuella maskiner som kan köra SCO Unixware, Windows Datacenter eller Novell Netware. VMwares ESX är å andra sidan en rent programbaserad lösning som fungerar med de flesta Intelservrar, så länge styrenheten för skivminnet och nätverkskorten väljs från VMwares lista över fungerande kort. Och alla Unixleverantörer med självrespekt har haft tekniken i några år.

Två typer av virtuella maskiner finns, partitionering och »riktig» virtualisering.

I partitionering delas systemet upp så att exempelvis processor 1-8 kör Linux och använder 512 Mbyte minne medan processor 9-12 kör Windows 2000 och använder 1024 Mbyte.

Partitioneringen kan vara statisk eller dynamisk. I första fallet tilldelar administratören processorer och minne innan operativsystemen startar. För att ändra något måste tillämpningarna och operativsystemen stängas, resurserna omfördelas och allt starta på nytt. Med dynamisk partitionering går det att omfördela resurser under drift. Om till exempel webbservern i ett operativsystem börjar gå långsamt, kan administratören flytta över flera processorer till detta operativ.

Klara maskinvaruförändring under gång

För att ett virtuellt operativsystem som kör i en partition ska kunna tilldelas processorer och minne dynamiskt måste dess kärna vara anpassad till att kunna hantera maskinvara som försvinner och dyker upp. Varken Linux eller Windows 2000 Datacenter kan i skrivande stund detta, men stöd har utlovats till kommande versioner.

Problemet är att operativsystemen går igenom systemresurserna och räknar efter hur många processorer och hur mycket minne som finns tillgängligt vid systemstart. Sedan utgår operativsystemet - på hittills goda grunder - från att minne och processorer inte ändras under drift.

Ska till exempel minne minskas måste operativsystemet på något sätt få reda på vilket minne som försvinner, se till att flytta alla program och data från det minnet; ändra alla interna datastrukturer för minneshantering samt till sist signalera att minne är ledigt och kan plockas bort.

Men det är gott hopp om att få funktionerna snart: Konstruktörerna är intresserade av att få dynamisk minnes- och processorallokering att fungera även för annat än virtuella maskiner. Tekniken är nämligen viktig även för system med krav på hög tillgänglighet. Att lägga till minne eller byta till fler och/eller snabbare processorer under drift är ett krav för att kunna närma sig 100 procents tillgänglighet. Man stoppar ju ogärna storbankens transaktionssystem eller flygbolagets biljettbokning i en timme eller två bara för att stoppa i mer minne.

OS ovanpå styr-OS

Med riktig virtualisering istället för partitionering vet inte operativsystemet vilken processor det för tillfället kör på eller vilket minne som används. Fördelen jämfört med partitionering är att systemet blir mer flexibelt och i varje fall teoretiskt kan använda systemresurserna effektivare.

Det är också enklare att lägga till mer resurser i form av minne och processorer till systemet under drift, även om de virtualiserade operativsystemen inte stöder detta. Det räcker nämligen med att det underliggande styrprogrammet för maskinvaran hanterar de nya resurserna. Efter att ha stoppat in en ny processor märker operativsystemen i de virtuella maskinerna ingenting utom möjligen att programmen går snabbare.

Även här ligger IBM bra till med sina stordatorer. De medföljande verktygen kan användas för att efter behag koppla ihop till exempel fysiskt lagringsutrymme och nätverksanslutningar med virtuella maskiner. Det finns också verktyg för att prioritera och fördela processorer och verkligt minne mellan de virtuella maskinerna.

VM och VIF

IBM har två lite olika lösningar för virtualiserad Linux, den stora flaggskeppsprodukten VM och den enklare VIF.

IBMs VIF (Virtual Image Facility) för Linux på System 390 är en hybridlösning. VIF kör i en partition på datorn med tilldelad mängd minne och processor. I VIF körs sedan valfritt antal virtuella Linux-maskiner - upp till flera hundra. Den första virtuella maskinen fungerar som systemkonsol och styr de övriga. I övriga partitioner på datorn går det att köra valfri Linuxdistribution för 390.

Fördelen med VIF jämfört med VM, IBMs normala virtualiseringsprodukt, är att VIF ska vara enklare att administrera. Tydligen tycker till och med IBM att VM är för besvärligt. Men VM är flexiblare och hanterar kombinationen av Linux och andra operativsystem bättre.

Idag klaras bara 32-bitars Linux för System 390. Även om det fungerar på IBMs nyare Z-arkitektur så drar operativsystem och program inte nytta av att Z är en 64-bitars arkitektur. Men stöd för virtualiserad 64-bitars Linux är utlovat till i år.

Stordator på Intel

VMwares lösningar för Intelservrar är riktiga virtualiseringar men de klarar bara en processor per virtuell maskin, oavsett om Linux eller något annat operativsystem används. Maximalt går 8 processorer att använda och den rekommenderade maxgränsen är 20 virtuella maskiner per server. Begränsningen till en processor gör att VMware endast lämpar sig för tillämpningar som inte kräver mycket processorkraft. Men det finns för all del gott om sådana: domänkontroller, namnserver, webbserver med statiska sidor och så vidare.

VMware har två serverprodukter: ESX och GSX. ESX är ett eget styrprogram som kör direkt ovanpå maskinvaran och kontrollerar de virtuella maskinerna. GSX är en modul till Linux och Windows 2000. De virtuella maskinerna körs inuti Linux eller Windows och använder värdoperativets funktioner för att komma åt maskinvaran.

I princip är VMwares ESX ett försök att föra över IBMs VM-teknik till Intel-servrar. Fast ESX är idag något begränsat jämfört med VM. Inte så konstigt med tanke på IBMs försprång på tre decennier. ESX betatestas idag och kan bli en fullständig produkt under sommaren.

När och om VMware kommer med en produkt för Intels 64-bitars Itanium processorer är höljt i dunkel.



Text : Ola Sigurdson

  (20010607)

Läs mer om

Linux