Artikkel

Power-virtualisering bak kulissene

Introduksjon

IBM lanserte firekjerne Power-prosessor med virtualisering i 2005

Dersom du spør en hardbarket zSeries- eller iSeries-driftsansvarlig om vedkommende synes det er spennende at hardwarevirtualisering snart blir tilgjengelig på AMD- og Intel-prosessorer, vil du sannsynligvis bli møtt med et lite fnys. Virtualisering har nemlig lenge vært levert som standard på en rekke av servermodellene hos IBM.

Siden IBM kommer fra et litt annet ståsted enn det x86-markedet har blitt bygget i fra, har man lagt litt andre prinsipper til grunn for virtualiseringen. Hos IBM har man i senere tid dratt virtualiseringen ned på et prisnivå som også skal være tilpasset SMB-markedet. Det som er svært interessant er at det er samme prinsippene som ligger til grunn på en maskin til 20 000 kroner som en til flere millioner kroner.

Dersom du vil ha mer grunnleggende bakgrunn om emnet virtualisering anbefales disse artiklene:

Denne artikkelen er en del av en hel serie om virtualisering. De foregående artiklene finner du her:

Denne artikkelen vil sette søkelys på IBMs virtualiseringsteknikk, forklare en del tekniske momenter om hvordan det fungerer bak kulissene samt sammenligne med det som snart blir tilgjengelig fra AMD og Intel.

IBMs ståsted

Når vi snakker om IBM og deres systemer er det viktig å forstå at dette er et selskap som på mange måter kommer fra et helt annet ståsted enn det som tilfellet for selskapet som AMD og Intel. Sistnevnte har hovedfokus på prosessorer, mens IBM er en leverandør som har alt fra maskinvare, servere og prosessorer til applikasjoner, migreringstjenester og finansiering.

Store deler av IBM observerer verdenen fra et stormaskinnivå, noe som ført til at man er vant til å jobbe med helt andre kundesegmenter, krav og prispolitikk enn det som er vanlig når man opererer i "mainstream" x86-markedet. 

Det skal imidlertid påpekes at IBM også har et meget vellykket x86-serversegment i form av xSeries. I sistnevnte serie har man stort sett konsentrert seg om Intel-prosessorer og man til nå bare et par AMD64-bokser i porteføljen. AMD Opterons utvikling tatt i nærmere øyesyn er det allikevel ingen umulighet at det vil bli mer AMD64-maskinvare å finne i "Big Blues" xSeries etterhvert.

Virtualisering sett fra IBMs ståsted har tradisjonelt hengt svært tett sammen med AIX og serverserier som zSeries, iSeries og pSeries - i dag kjent som z9, i5 og p5. Samtlige av disse serverne har støttet virtualisering på såkalt maskinvarenivå, noe som til en viss grad kan sammenlignes med det AMD og Intel innfører i år.

Siden IBM kommer fra stormaskinperspektivet er virtualiseringsteknologien i utgangspunktet tilpasset helt andre krav og forventninger enn mange i x86-verdenen er vant til. I dette perspektivet kan faktisk "zero downtime" være en realitet og kundene har vært villig til å betale mye for de få minuttene det blir fra 99,9 til 99,999 prosent oppetid.

I 2000 startet IBM en stormoffensiv på Linux og har etterhvert investert milliardsummer i denne plattformen. I fjor begynte man såvidt å presentere Enterprise Linux som et alternativ til AIX og knyttet strategien i stor grad opp i mot OpenPower-maskinene. Det geniale for sluttkundene er at disse maskinene er nøyaktig det samme som selges til hundretusenvis og millioner av kroner med AIX. Hvorfor? - fordi man har trukket ut lisenskostnaden til AIX og selger plattformen som en ren Linux-plattform.

Maskinvarevirtualiseringen til IBM er altså bygget med utgangspunkt i stormaskiner og AIX, men det siste året blitt tilgjengelig i stor skala på maskinvare med overkommelig pris også for små- og mellomstore bedrifter.

Prosessorarkitekturen som danner grunnlaget for størsteparten av serverseriene til IBM er Power, som ble lansert i versjon 5+ i fjor høst. Du kan lese mer om denne prosessoren her: Power5+ tar pSeries, OpenPower videre.

Virtualiseringen bak kulissene

Ovenforstående figur viser et forenklet bilde av virtualisering og administrasjonsprinsippet bak IBMs virtualiseringsteknologi. De sentrale punktene er som følger:

  • LPAR representerer virtuelle systemer
  • VIOS står for Virtual I/O Server. Denne modulen styrer all I/O mellom LPAR og HyperVisor
  • Service prosessor er en CPU som starter i det øyeblikket det settes strøm på maskinen og tar seg av en del interne oppgaver - blant annet administrasjon og feilrapportering.
  • Hypervisor er bindeleddet mellom LPAR og fysisk maskinvare. Dette ligger latent på hardwarelaget og ikke i OS

LPAR er en forkortelse for "Logical Partitioning" og altså inneholder et virtuelle systemer - eksempelvis i form av en SLES-installasjon (Suse Linux Enterprise Server). LPAR opprettes dynamisk etter behov ved hjelp av software på en HMC (Hardware Management Console) eller Integrated Virtualization Manager, som er tilgjengelig på de nyeste boksene i p5-serien. Opprettelse av LPAR gjøres altså gjennom en styringsapplikasjon, enten på en separat administrasjonsboks eller på VIOS gjennom et HTTPS-basert grensesnitt.

HMC eller IVM holder styr på LPAR og må være tilgjengelig når systemene skal "bootes". I motsatt fall får man ikke startet de virtuelle maskinene.

Under opprettelse av en LPAR er man avhengig av å tildele ressurser gjennom styringsapplikasjonen. Man oppretter gjerne virtuelle enheter, men kan også dedikere fysiske ressurser slik at adressehåndteringen går utenom VIOS. På denne måten kan man eksempelvis lage en LPAR som deler minne og CPU med andre systemer, men som har et eget dedikert fysisk nettverkskort, disk og RAID-kontroller.

I/O-serveren er representert enten ved hjelp av en Linux- eller AIX-installasjon. Denne enheten styrer all I/O som skal virtualiseres. Dersom man har opprettet en virtuell CPU og satt av en del av en minnebrikke, vil altså all enhetsallokering bli styrt gjennom VIOS. Dersom man dedikerer et eget nettverkskort til en LPAR vil man ikke gå via VIOS - noe som i enkelte tilfeller kan være en fordel.

Selve virtualiseringsprosessen styres av Hypervisoren. Dette er et properitært lag som foreløpig dessverre ikke er åpent for innsyn.

Som mange sikkert ser har man altså et svakt punkt dersom VIOS går ned. Løsning? Det finnes faktisk mulighet til å opprette to eller flere VIOS slik at man får redundans på ressursallokering.

Kort oppsummert skjer altså virtualiseringen som følger:

  1. Applikasjonene innstalleres på LPAR
  2. LPAR representerer en virtuell maskin som kjører et operativsystem
  3. Dersom LPAR skal aksessere en hardwarekomponent (eks. disk) gjøres allokering av I/O gjennom VIOS
  4. VIOS videresender I/O til Hypervisor-komponenten, som allokerer ressurser
  5. Datautvekslingen mellom LPAR og fysisk maskinvare går uten mellomledd

Bruksområder

ASMI-grensesnittet har man ikke på x86

Det finnes forskjellig motivasjoner for hvorfor man vurderer virtualisering, men generelt sett er gjerne en av de følgende punktene på listen:

  • Kostnadseffektivitet - konsolidering
  • Fleksibilitet - ønske om raskt og effektivt oppsett av nye systemer
  • Standardisering - flere systemer på ett jern
  • Utvikling - billige testsystemer
  • Kvalitet og forutsigbarhet - samle flere systemer på en "high-end"-plattform

Som tidligere nevnt kommer IBM fra et helt annet ståsted enn det som er tilfellet for de fleste AMD/Intel-systemer. Driftsavdelinger som er vant til x86-tankegangen vil vanligvis måtte tenke noe annerledes dersom man skal kaste seg på IBM-virtualiseringen, eksempelvis gjennom p5-serien.

Virtualiseringen er ikke det mest ukjente i seg selv ettersom de fleste vil forstå terminologien "virtuelle grensesnitt". Selve maskinvaren representerer imidlertid mye nytt sett i sammenheng med standard x86. IBM-arkitekturen har innebygget teknologi som i teorien skal tillate en svært høy form for driftsstabilitet og forutsigbarhet. Maskinene kan eksempelvis konfigureres til selv å si i fra til en IBM-tekniker eller intern driftsavdeling dersom den blir "syk". I tillegg har man integrert såkalt Chipkill-teknologi, som gjør at man kan skille ut enkelte deler av systemet. En defekt minnebrikke vil kunne logisk skilles ut av systemet, last fordeles over på andre komponenter og ikke knele hele systemet slik man gjerne vil oppleve på x86.

Du kan lese mer om maskinvaredelen av p5- og OpenPower-serien i disse artiklene:

Man trenger ikke være kjernefysiker for å forstå hvordan virtualiseringen til IBM skal settes opp og driftes. På den andre siden er det absolutt greit med en god slump teknisk driftskompetanse - spesielt om man skal forstå konsekvensene av ressursbehandlingen. I alle tilfeller er det helt klart en fordel å alliere seg med noen som har kompetanse på dette dersom man skal kjøre det opp i eget driftsmiljø og ikke vært ute for denne typen virtualisering tidligere.

Noe av det "hotte" med dagens IBM er den store satsningen på Linux. På p5-serien kan man dermed få kjøpt maskinvaren langt billigere med Enterprise Linux (SLES, RHEL) fordi man trekker ut AIX-lisenskostnaden. Man skal imidlertid være klar over at Linux ikke er like godt integrert med maskinvaren på alle områder slik tilfellet er med AIX. 

Dynamisk minnehåndtering støttes foreløpig ikke av Linux-kjernen. Dersom du skal tildele mer minne til en Linux-LPAR må du dermed "boote" den respektive LPAR-en for å allokere nye minneressurser. På andre områder er integrasjonen med Linux lik AIX - eksempelvis på CPU-nivå der du uten problemer dynamisk kan tildele mer kraft etter behov. Maskinen har også en svært sexy finesse som heter "uncapped". Denne funksjonen brukes sammen med en vektorverdi som tillater en LPAR å få tilgang til all overskuddskapasitet som ikke brukes av de andre LPAR-ene som har fått rettighet til å bruke disse ressursene ved behov. Dersom de andre LPAR-ene plutselig trenger de CPU-ressursene de har krav på, vil "uncapped"-ressursene til den andre LPARen forsvinne ned til det nivået som er satt til garantert.

Dataflytskjema av p5-505 - den enkleste p5-maskinen

Med grunnlag i diverse SPEC-benchmarks og applikasjonstester, kan man i utgangspunktet trygt konsolidere systemer på en Power-plattform - bare sjekk at applikasjonen din yter det du ønsker før du kjører over. Installasjon av nye systemer kan skje på sekunder dersom du har de riktige scriptene eller i verste fall minutter ved pek-og-klikk-prinsippet i grafisk administrasjonspanel. Opprett virtuelle enheter, sett en ressursprofil, installér ønsket Linux-distribusjon og vips du er klar til å leke deg på et ferskt system.

Viktig! Dersom du ønsker auto-oppstart av LPAR-ene dine, må dette scriptes. Under oppstart knyttes blant annet riktige  enhetsID-er til riktig LPAR-ID - i praksis, riktig virtuelle ressurs til riktig LPAR. Veiledning til hvordan dette gjøres finner du sammen med mye annen aktuell informasjon i IBMs database.

Til tross for at Apple droppet Power-arkitekturen i sine maskiner, eksisterer det liten tvil om at prosessoren vil få suksess også fremover. I tillegg til megasatsning fra IBM - jevnt over alle serverseriene (med unntak av xSeries), kjøres nå prosessoren også opp i spillkonsoller som Sony Playstation3 og Microsoft Xbox 360. Power vil dermed kjøre i alt fra forbrukerelektronikk og PC-er til servere og supermaskiner som Blue Gene. En klar "roadmap" og få forsinkelser i forhold til Power-lansering teller også svært positivt for kunder som ønsker å satse større beløp i sin serverpark.

Du kan gjøre mange trekk i forhold til forutsigbarhet, tilgjengelighet og driftsstabilitet på en x86-plattform, men teoretisk sett finnes det langt større trygghet i Power-rammeverket. Finesser som automatisk korreksjon, auto-utskillelse av defekte komponenter, et eget hardware-basert service- og monitoreringslag, rapporteringsmuligheter med dypt tekniske detaljer (adressenivå) samt en leverandør som har full kontroll på samtlige av komponentene er ment å gjøre driftssikkerheten høyest mulig. Slik sett kan det for mange være svært attraktivt å migrere over systemer som kanskje kjører på mindre stabil "hjemmemekk" eller eldre servere som ikke lenger klarer å henge med rent ytelsesmessig.

Bruksområder

ASMI-grensesnittet har man ikke på x86

Det finnes forskjellig motivasjoner for hvorfor man vurderer virtualisering, men generelt sett er gjerne en av de følgende punktene på listen:

  • Kostnadseffektivitet - konsolidering
  • Fleksibilitet - ønske om raskt og effektivt oppsett av nye systemer
  • Standardisering - flere systemer på ett jern
  • Utvikling - billige testsystemer
  • Kvalitet og forutsigbarhet - samle flere systemer på en "high-end"-plattform

Som tidligere nevnt kommer IBM fra et helt annet ståsted enn det som er tilfellet for de fleste AMD/Intel-systemer. Driftsavdelinger som er vant til x86-tankegangen vil vanligvis måtte tenke noe annerledes dersom man skal kaste seg på IBM-virtualiseringen, eksempelvis gjennom p5-serien.

Virtualiseringen er ikke det mest ukjente i seg selv ettersom de fleste vil forstå terminologien "virtuelle grensesnitt". Selve maskinvaren representerer imidlertid mye nytt sett i sammenheng med standard x86. IBM-arkitekturen har innebygget teknologi som i teorien skal tillate en svært høy form for driftsstabilitet og forutsigbarhet. Maskinene kan eksempelvis konfigureres til selv å si i fra til en IBM-tekniker eller intern driftsavdeling dersom den blir "syk". I tillegg har man integrert såkalt Chipkill-teknologi, som gjør at man kan skille ut enkelte deler av systemet. En defekt minnebrikke vil kunne logisk skilles ut av systemet, last fordeles over på andre komponenter og ikke knele hele systemet slik man gjerne vil oppleve på x86.

Du kan lese mer om maskinvaredelen av p5- og OpenPower-serien i disse artiklene:

Man trenger ikke være kjernefysiker for å forstå hvordan virtualiseringen til IBM skal settes opp og driftes. På den annen side er det absolutt greit med en god slump teknisk driftskompetanse - spesielt om man skal forstå konsekvensene av ressursbehandlingen. I alle tilfeller er det helt klart en fordel å alliere seg med noen som har kompetanse på dette dersom man skal kjøre det opp i eget driftsmiljø og ikke vært ute for denne typen virtualisering tidligere.

Noe av det "hotte" med dagens IBM er den store satsningen på Linux. På p5-serien kan man dermed få kjøpt maskinvaren langt billigere med Enterprise Linux (SLES, RHEL) fordi man trekker ut AIX-lisenskostnaden. Man skal imidlertid være klar over at Linux ikke er like godt integrert med maskinvaren på alle områder slik tilfellet er med AIX. 

Dynamisk minnehåndtering støttes foreløpig ikke av Linux-kjernen. Dersom du skal tildele mer minne til en Linux-LPAR må du dermed "boote" den respektive LPAR-en for å allokere nye minneressurser. På andre områder er integrasjonen med Linux lik AIX - eksempelvis på CPU-nivå der du uten problemer dynamisk kan tildele mer kraft etter behov. Maskinen har også en svært sexy finesse som heter "uncapped". Denne funksjonen brukes sammen med en vektorverdi som tillater en LPAR å få tilgang til all overskuddskapasitet som ikke brukes av de andre LPAR-ene som har fått rettighet til å bruke disse ressursene ved behov. Dersom de andre LPAR-ene plutselig trenger de CPU-ressursene de har krav på, vil "uncapped"-ressursene til den andre LPARen forsvinne ned til det nivået som er satt til garantert.

Dataflytskjema av p5-505 - den enkleste p5-maskinen

Med grunnlag i diverse SPEC-benchmarks og applikasjonstester, kan man i utgangspunktet trygt konsolidere systemer på en Power-plattform - bare sjekk at applikasjonen din yter det du ønsker før du kjører over. Installasjon av nye systemer kan skje på sekunder dersom du har de riktige scriptene eller i verste fall minutter ved pek-og-klikk-prinsippet i grafisk administrasjonspanel. Opprett virtuelle enheter, sett en ressursprofil, installér ønsket Linux-distribusjon og vips du er klar til å leke deg på et ferskt system.

Viktig! Dersom du ønsker auto-oppstart av LPAR-ene dine, må dette scriptes. Under oppstart knyttes blant annet riktige  enhetsID-er til riktig LPAR-ID - i praksis, riktig virtuelle ressurs til riktig LPAR. Veiledning til hvordan dette gjøres finner du sammen med mye annen aktuell informasjon i IBMs database.

Til tross for at Apple droppet Power-arkitekturen i sine maskiner, eksisterer det liten tvil om at prosessoren vil få suksess også fremover. I tillegg til en stor satsning fra IBM - jevnt over alle serverseriene (med unntak av xSeries), kjøres nå prosessoren også opp i spillkonsoller som Sony Playstation3 og Microsoft Xbox 360. Power vil dermed kjøre i alt fra forbrukerelektronikk og PC-er til servere og supermaskiner som Blue Gene. En klar "roadmap" og få forsinkelser i forhold til Power-lansering teller også svært positivt for kunder som ønsker å satse større beløp i sin serverpark.

Du kan gjøre mange trekk i forhold til forutsigbarhet, tilgjengelighet og driftsstabilitet på en x86-plattform, men teoretisk sett finnes det langt større trygghet i Power-rammeverket. Finesser som automatisk korreksjon, auto-utskillelse av defekte komponenter, et eget hardware-basert service- og monitoreringslag, rapporteringsmuligheter med dypt tekniske detaljer (adressenivå) samt en leverandør som har full kontroll på samtlige av komponentene er ment å gjøre driftssikkerheten høyest mulig. Slik sett kan det for mange være svært attraktivt å migrere over systemer som kanskje kjører på mindre stabil "hjemmemekk" eller eldre servere som ikke lenger klarer å henge med rent ytelsesmessig.

Forskjell mellom Power og AMD/Intel-x86

Som du sikkert har forstått er det altså en del forskjell mellom IBM-virtualiseringen og det som snart blir tilgjengelig fra Intel og AMD på x86. IBM har levert slik teknologi i lengre tid på sine maskiner. Dette medfører noe høyere grad av strømlinjeformhet og integrasjon mellom til ulike verktøyene. Et godt eksempel på dette er Hypervisoren som i dette tilfellet er utviklet av IBM, men hos Intel/AMD vil bli levert av en tredjeparts leverandør som XenSource eller VMware.

Hos IBM har man både fordelen og ulempen av å kjøre "IBM-only" dersom man ønsker dette - spesielt dersom man velger AIX på toppen. Det å virtualisere der både maskinvare og software er produsert av samme selskap kan være en drømmesituasjon for mange, men for andre er det ikke kanskje ikke interessant. AMD/Intel representerer et helt greit alternativ med "Pacfica" og "VT", men kan dessverre langt i fra måle seg med de teknologiske finessene som ligger til grunn for Power-arkitekturen - ihvertfall ikke enda.

Det maskinvaretekniske bygger på mange måter opp under virtualiseringsteknologien og med finesser som ChipKill, Serviceprosessor, L3-cache og firekjerne-prosessorer har IBM et svært godt grunnlag for en kraftig og forutsigbar virtualiseringsplattform. Ved å tilpasse de verktøyene som har vært tilgjengelig for AIX i flere år på stormaskin for et SMB-segment på Linux, har man skapt en god og fleksibel plattform.

På x86-nivået har man ganske enkelt kun lagt inn noen  nye instruksjoner som skal gjøre det lettere, raskere og sikrere å allokere CPU-ressurser til virtuelle maskiner gjennom tredjeparts programvare. I AMDs tilfelle får man også med bedre minneallokering siden kontrolleren sitter rett på prosessoren.

IBM-virtualiseringen gjennomsyrer hele systemet i større grad og integrert med de nevnte finessene for RAS og ytelse ender man opp med et maskinvarerammeverk som rent kvalitetsmessig ligger langt høyere enn x86 - ihvertfall på papiret.

Applikasjoner og pris

Klar "roadmap" for Power

IBM gjorde et lurt trekk ved å satse på Linux ved århundreskiftet. Det finnes tusenvis av applikasjoner for dette operativsystemet og med den filosofien og kommersielle interessen som ligger til grunn for utviklingen er det ingen grunn til å tro at antallet eller kvaliteten vil bli lavere i tiden fremover.

Hva kan du dermed kjøre på Power? Du kan kjøre alt som kjører på Linux så lenge det er kompilert for Power-arkitekturen eller kun kommuniserer med mellomvarelaget. Bruksområdet varierer dermed fra database-, web- og applikasjonsservere til e-mail-gatewayer, DNS-tjenere og filservere (eksempelvis p5/SAN med virtuelle grensesnitt). 

I tillegg til maskinvarefordelen (intern båndbredde, ytelse, stabilitet), finnes det også en del kostnadsmessige fordeler. Dersom du kjører Suse Linux Enterprise Server betaler du Novell kun for 1 installasjon - det samme gjelder for Red Hat Enterprise Linux. Oracle har også adoptert spesielt gunstige betingelser for virtuelle systemer. Les mer om dette her: Oracle gir lisensiering for åtte kjerner

Windows kan du bare glemme å kjøre på denne arkitekturen. Dette er en Linux- og AIX-arkitektur, men det skulle fungere glimrende i de fleste tilfeller. Dersom du trenger Exchange finnes det også alternativer i open-source-miljøet eller hos IBM slik som Open-Exchange og Workplace.

Prisen du betaler i kroner og øre for denne herligheten ligger riktignok litt høyere enn de billigste x86-systemene. Til gjengjeld har man andre fordeler og nye muligheter som til syvende og sist kan veie opp eller gi bedre potensiale for økonomisk gevinst.

Servere i p5-serien får du fra rundt 20 000 norske kroner, men du bør nok kanskje regne med å svi av det dobbelte for en komplett plattform på et begynnernivå. Dersom du vil oppgradere senere kan du velge og vrake i et stort spekter av maskinvare som er standardisert på samme grensesnitt. Kjøper du en Power-budsjett-plattform skal det dermed være rimelig enkelt å utvide til et"high-end"-system ettersom arkitekturen er den samme jevnt over hele IBMs serverserier.

Dersom du ikke har et spesifikt krav på at du skal eie maskinvaren selv, finnes det IBM Business Partnere som har spesialisert seg på hosting av slike løsnininger og leier ut LPAR til en rimelig penge. Det er dermed ikke spesielt komplisert eller dyrt for en bedrift å få tilgang på å prøve ut teknologien for eget behov.

Les også
Power6-server med imponerende spesifikasjoner
Les også
Grafisk Xen-verktøy i Fedora 6
Les også
Virtualisering gir mange fordeler (del 2)
Les også
Virtualisering gir mange fordeler (del 1)
Les også
Virtualisering på HP-servere
Les også
VMware utvider virtualisering for Mac OS X
Les også
Vil kjøpe opp virtualiseringsaktør
Les også
Sun, virtualisering og fremtiden
annonse