by Aage Andre

Server-virtualisering

Hva er server-virtualisering?
Server-virtualisering gir oss muligheten til å kjøre flere virtuelle maskiner på en fysisk server. Hver virtuelle maskin er fullstendig isolert fra de resterende og er helt frigjort fra det underliggende operativsystemet via en Hypervisor. Det betyr at hver virtuelle maskin kan kjøre forskjellige operativsystemer og applikasjoner uavhengig av hva det underliggende operativsystemet gjør og hva de andre kjører.

Siden de virtuelle maskinene er helt isolert fra underliggende operativsystem kan man også flytte de fra en fysisk server til en annen mens den er online i de fleste tilfeller.

Aktører
Det er i dag 3 store aktører innen virtualisering.

Vmware har lenge vært på banen og er nå ute med vSphere(tidligere ESX), den fjerde versjonen av sitt virtualiserings-OS. I tillegg har de en gratisversjon av ESXi, en linux-basert distribusjon med begrenset styring og hardware støtte, men som sagt helt gratis, og det med fullverdig konsoll.

Citrix er mest kjent for sine terminal-server løsninger med balansering, applikasjons-styring og deling.  Citrix XenServer er en fullstendig virtualiseringsplattform som kjører på deres egen Xen hypervisor.

Microsoft kom i oktober 2008 med Hyper-V.  Hyper-V kjøres som en plattform på Windows Server og kommer integrert i Windows Server 2008 R2. Stand-alone versjonen kommer som en del av Core-versjonen av Server 2008 som inkluderer full Hyper-V støtte, men da kun i CLI(Command Line Interface)

Generelt
De siste årene har virtualisering av serverparker blitt mer og mer aktuelt. Etterhvert som hardware blir kraftigere og vi putter mer og mer ‘oomph’ på samme plass uten at hardware-kravene til underliggende operativsystemer øker like mye, ligger mye ressurser ubrukt. Samtidig øker kravene om at servicer trenger dedikerte servere, både for enklere administrasjon og fordi tjenestene ikke vil operere under samme tak, spesielt i MS Windows-miljøet. I tillegg til dette er strømsparingen ett godt argument. En “gammeldags” serverpark med 3-4 filservere, database-server, domenekontroll og 5 terminalservere(evnt blade-senter) kan nå legges inn under to fysiske bokser og man har plutselig spart ~30.000 i året bare i strøm pga mindre strømkrevende hardware og billigere kjøling.

Det kanskje største plusset med virtualiseringen er dynamisk ressurs deling.  Med alt under ett sett fysisk  hardware er det lettere å flytte ressurser utifra behov og hvordan bedriften endrer seg. Flere av alternativene støtter også full-dynamikk på dette, slik at hver virtuelle maskin kan ta og gi ressurser fra/til host operativsystemet mens alt er online og uten noen påvirkning fra andre.*

Virtualisering for alle
Frem til nå har virtualisering vært sett på som noe de virkelig store bedriftene driver med. Ett fryserom av en server med 30 fysiske prosessorer og kretskort på størrelse med nordmarka skal dele ut ressursene til de 2000 ansatte og deres behov.
Dette går det mer og mer mot en slutt på med ny teknologi. I skrivende stund er det ikke uvanlig med 12 kjerner i en enkel tower-server og RAM man putter i kan begrenses omtrent bare med hvor triggerhappy it-admin er på bestillingsknappen. Med det har SMB-markedet fått opp øynene for virtualisering.
Ett godt eksempel  kan være en liten bedrift med 10-12 ansatte hvor man trenger sentral administrasjon av klienter, fil-deling, mail-server og kanskje terminalserver.  Dette krever de samme tjenstene som en bedrift med 5 ganger så mange ansatte. Problemet er at en bedrift med 10-12 ansatte stort sett ikke ønsker bruke hundretusener på å sette opp en park med 4-5 servere og alt det som følger med av kjøling, redundancy osv. Siden det er så få ville det stort sett gå greit å putte alle tjenester inn under en installasjon slik man har gjort tidligere, men det er vanskeligere å administrere og følge opp ressursbruk, samt at man da krever at alle underapplikasjoner kjører samme arkitektur, spesielt om man har f.eks. MS Exchange og SQL. Det hele blir plutselig mye mer oversiktlig og lettere å administrere når du deler opp servicene og gir de egne ressurser å jobbe med, hvor administrator kan tildele utifra behov.

  • Dave

    Du har helt utelatt KVM, som nok på sikt kommer til å overta for Xen, iallefall i mainstream Linux distribusjoner. Citrix kommer nok til å pushe Xen så lenge som mulig. Kanskje Oracle slår følge med Citrix, siden de støtter Xen med sin Oracle Unbreakable Linux.

    Distribusjoner som allerede har KVM tilgjengelig er Fedora, Debian, Ubuntu, Red Hat Enterprise Linux/CentOS, openSuSE, Gentoo. Og sikkert enda flere. Hvis man har en prosessor med VM støtte, så holder det å kompilere kvm modulen og laste den inn i kjernen. Viola, og du har et utgangspunkt for å starte med virtualisering. Man trenger da qemu-kvm og admin programvaren, hvor virt-manager er utrolig enkel å bruke. Virt-manager støtter også Xen virtualisering.

    http://www.linux-kvm.org/page/Main_Page

    KVM er også interessant sammen med KSM (Kernel Same-page Merging), hvor man kan over-commit tilgjengelig minne hvis man kjører flere virtuelle maskiner med samme OS. Der hvor “memory pages” er identiske på host OSet, så blir disse “merget” og alle bruker da samme minneområdet. Hvis en av VMene gjør en endring på dette minneområdet, så blir disse “memory pages” kopiert ut til et separat område og VMen får gjøre endringene sine (såkalt COW – Copy on Write). KSM er forøvrig ofte i disablet mode, men aktiveres automatisk når kjernen oppdager at presset på minneforbruket begynner å bli høyt.