Virtualisatie met VMWare Als Oracle Adviseur kom je vaak bij bedrijven aan huis. Je ziet een mooie server staan en zegt: “Ik durf het bijna niet te vragen, maar eh, mag ik?”. Want binnen de kortste keren heb je even snel een omgeving nodig. Of je krijgt te maken met een klant met een aparte opleidings omgeving die helemaal is afgeschermd en waar je bijna niets op mag. Server virtualisatie kan dan heel handig zijn. Voor mijn eigen werk als consultant gebruik ik zelf al heel lang en steeds meer VMWare. Meestal is dat VMWare workstation. Bij mijn huidige klant ben ik bijvoorbeeld verantwoordelijk voor de implementatie van Integration B2B, een product om via Business to Business (B2B) protocollen berichten tussen bedrijven uit te wisselen. De implementatie moet op HP-UX plaats vinden. Per keten-partner heb ik een zogenaamd end-point nodig. De klant moet namelijk via B2B communiceren met meerdere ketenpartners. In de ontwikkel omgeving simuleren we die Ketenpartners met voor elke ketenpartner een aparte end-point installatie (gebaseerd op Integration B2B of Axway Cyclone). Om nu voor elke ketenpartner een installatie op HP-UX te doen is nog al duur en veel werk. Te meer omdat je voor integratietest en acceptatie test ook nog omgevingen nodig hebt. Daarom simuleren we de ketenpartners met een VMWare image. Ideaal want die maak je een keer en kopieert hem net zo vaak als dat je nodig hebt. Moet je hem opnieuw doen? Dan vervang je hem gewoon met een backup. Ook voor de opleidingsomgeving is dit interessant. Want je geeft elke cursist een image en laat ze in groepjes van twee lekker klussen en je hoeft er verder nauwelijks wat voor in te richten. Een nieuwe cursus doe je gewoon met verse images. Daar hebben we in het recente Cape SOA traject van de SOD business unit al veel profijt van gehad. Maar wat kan Server Virtualisatie nog meer betekenen voor een bedrijf? En wat hebben we er als Oracle Consultants aan? Hoe verhoudt een en ander zich tot Grid-computing? In dit artikel som ik de verschillende producten van VMWare op. Met de server-producten heb ik zelf geen hands-on ervaring, maar de informatie is zo terug te vinden op www.vmware.com. Inzicht in de producten van VMWare kan echter een goede ondersteuning van je adviezen bij de klant zijn. Server Virtualisatie Voor Server virtualisatie heeft VMWare een infrastructuur-suite. Deze wordt VMware Infrastructure 3 genoemd. Deze infrastructuur bestaat uit de volgende producten ● ● ● ● ● ● VMware ESX Server. Een platform voor virtualisatie van servers, opslag en netwerken. VMware VMFS. High-performance cluster file system voor opslag virtualisatie. VMware Virtual SMP. Multi-processor support voor virtual machines. VMware VirtualCenter. Gecentraliseerd management, automatisering en optimalisatie voor IT infrastructuur. VMware HA. Een cost effective high availability oplossing voor virtual machines. VMware DRS. Dynamische ● ● verdeling en allocatie van server-bronnen voor virtual machines. VMware VMotion. Live migratie/verplaatsing van virtual machines zonder service onderbreking. VMware Consolidated Backup. Gecentraliseerde backup software voor virtual machines. Deze opsomming is een aardig lijstje Sales-Talk. Het zal je dan ook niet verbazen dat dit zo van de vmware site komt (weliswaar vertaald). Hieronder diep ik de producten iets verder uit. VMware ESX Server ESX Server is eigenlijk de Runtime omgeving van VMWare. Het wordt in tegenstelling tot VMWare workstation, VMWare Player en VMWare Server geinstalleerd op het “kale metaal”. Het draait dus niet op een OS maar direct op de hardware. Binnen ESX Server kun je weer Virtual Machines starten die elk een compleet systeem representeren. Het bevat geavanceerde resource allocation policies voor de virtual machines zodat op een slimme manier de CPU, geheugen, netwerk kaarten en disks kunnen worden toegewezen aan VM's. ESX Server is dus eigenlijk een abstractie laag tussen processor, memory, storage en netwerkbronnen en meerdere virtual machines. Hierdoor wordt de hardware beter en flexibeler gebruikt. VMware VMFS VMFS is het cluster filesystem van VMWare. Het is geoptimaliseerd voor het concurrent gebruik van VM's door meerdere ESX Servers. Ze kunnen tegelijkertijd lezen en schrijven naar hetzelfde opslagsysteem.Dit is vooral nodig voor de andere VMWare producten waar ik zo nog op kom, om tegelijkertijd dezelfde VM's te kunnen benaderen. Zo kunnen ESX servers makkelijk VM's van elkaar overnemen. Volumes zijn dynamisch te vergroten en het optimaliseerd de VM I/O door aanpasbare Volume, schijf, file en blok-grootten. Ze zijn sneller en betrouwbaar te herstellen (recover) bij server-valen door gedistrubueerde journaling. VMware Virtual SMP Voor resource-intensieve applicaties is het prettig om gebruik te kunnen maken van meerdere processoren. VMWare maakt het mogelijk om dit via VM's aan te bieden. Hierdoor is een omgeving uiteraard beter schaalbaar. Een VM kan hiermee tot 4 fysieke processoren gebruiken. Zo kan een VM omgeving gebruikt worden voor Enterprise applicaties zoals CRM, Databases etc. Beetje jammer dat (bij mijn weten) Oracle een productie omgeving op een VM niet ondersteunt. Dat betekent dan weer dat je bij een calamiteit of probleem een en ander eerst op een fysieke server moet zien te reproduceren. Voor veel klanten is het te hopen dat ik er naast zit en Oracle dit binnenkort wel gaat doen. VMware VirtualCenter VirtualCenter is VMWare's beheer omgeving. Hiermee kun je nieuwe virtual machines aanbieden, Operationele taken automatiseren en de performance en gebruik van fysieke servers en VM's monitoren. Bovendien kun je de toegang door geautoriseerd personeel beheren en is er integratie mogelijk via de Infrastructure SDK. VirtualCenter kan door intelligent gebruik te maken van andere VMWare producten als VMware DRS, VMware HA and VMware Vmotion, het gebruik van resources optimaliseren en de High Availability hiervan voor applicaties verzekeren. Het maakt de Virtuele omgeving hiermee responsiever en flexibeler. VC biedt een enkele interface om naast het aanbieden van VM's via wizards zodat deze meteen in gebruik kunnen worden genomen. Routine matige beheertaken zijn te automatiseren met behulp van scheduling en alerting. En VMware Infrastructure SDK maakt het mogelijk om te koppelen met 3th-party beheer tools. VMware HA Je zou dit kunnen vergelijken met de Standby database functionaliteit van Oracle. Het biedt High Availability functionaliteit aan. Daartoe detecteert het server-falen automatisch en monitort het constant de server capaciteit. Je kunt zogenaamde resource pools samenstellen bestaande uit meerdere ESX-Server. Vmware HA kan dan bij een server-falen het overnemen van een VM door een andere server initieren. Daarbij kiest het de optimale fysieke server binnen de pool voor het herstarten van een VM. Hierdoor kun je dus ook High Availability aanbieden voor applicaties die dat in zichzelf niet zijn. Erg handig dus om je oude dBase III applicatie high available te maken.... Of wat zinvoller: oudere client-server applicaties. Al hebben wij natuurlijk liever dat deze naar een Oracle AS cluster met Oracle Grid worden gemigreerd. VMware DRS Met de “Distributed Resource Scheduler” maakt Vmware het mogelijk om dynamisch IT resources te alloceren aan de applicaties met de hoogste prioriteit. Je kunt IT Infrastructuur toegewijd aan business units toewijzen. En VM's bouwen en beheren binnen een resource pool. Computer infrastructuur kunnen dynamisch gealloceerd en gebalanceerd worden. Het monitort continu het gebruik over resource pools heen en alloceert de resources slim over VM's gebaseerd op voorgedefinieerde regels. Deze regels zijn gebaseerd op de business benodigdheden en wijzigende prioriteiten. Wanneer een VM beperkt wordt door de beschikbare bronnen op de betreffende server wordt deze “live gemigreerd” naar een andere fysieke server via Vmware Vmotion. Hierdoor kun je de SLA's voor je applicaties verbeteren doordat ze optimaal de benodigde capaciteit toegewezen krijgen. Capaciteit is ook makkelijk toe te voegen, DRS zorgt er automatisch voor dat het ingebruik wordt genomen. DRS maakt het daarbij ook mogelijk om zaken rondom gepland onderhoudt te automatiseren. De te onderhouden server wordt daartoe gewoon vrijgemaakt. VMware Vmotion Dit is een briljant onderdeel van VMWare's infrastructuur. Veel belovend. Het maakt het namelijk mogelijk om een VM te migreren zonder dat ze downgaan. Hierdoor is het mogelijk om VM's dynamisch te verplaatsen van onder-presterende of falende servers naar beschikbare andere servers met overcapaciteit. Ook onderhoud op de hardware is zo te vereenvoudigen omdat andere servers de VM's gewoon overnemen. De applicaties blijven gewoon doordraaien. Onvermijdelijk is het volgens mij dat er een hikje wordt ervaren, maar Vmotion garandeert dat dit minimaal is. Eindgebruikers zouden hier niets van moeten merken. Omdat een VM feitelijk volledig is gedefinieerd binnen een set bestanden op het VMFS die meerdere Servers simultaan kunnen benaderen kan de ene ESX server zo de VM van de ander overnemen. Omdat ook netwerkbronnen zijn gevirtualiseerd blijft de VM zijn netwerk identiteit behouden. Het actieve geheugen en de executiestatus worden over een snelle netwerk verbinding naar de andere server gestuurd. VMware Consolidated Backup Buiten dit alles is het backuppen van VM's natuurlijk essentieel. Uiteraard zijn volledige en incrementele backups mogelijk. Dit wordt centraal beheerd door een agent op een zogenaamde proxyserver. Deze zorgt er dan voor dat de Vmdata naar een tape-device wordt gestuurd. Free VMware Server Ook Vmware staat onder de Freeware en Open Source druk van tegenwoordig. Maar ze willen uiteraard dat iedereen hun producten gebruikt. Met Vmware Server is er ook nauwelijks reden om het niet te doen. Het biedt vrijwel alle functionaliteit die wij als Oracle consultant van Vmware verwachten. Eigenlijk is enige wat ik ten opzichte van Workstation mis de mogelijkheid van shared folders: het delen van folders op het host systeem. Dit is echter over het algemeen redelijk makkelijk te ondervangen met de filesystem-sharing functionaliteit van Windows en Linux. Het gemak van het gebruik van VM's is inmiddels evident. Als Oracle consultants is het makkelijk om nieuwe Oracle producten of software van andere leveranciers uit te proberen zonder dat het je laptop vervuild. Meerdere versies van de applicatie servers of ontwikkelomgevingen kunnen gebruiken zonder dat ze elkaar in de weg zitten. En als integratie specialist is het voor mij ideaal omdat ik meerdere applicaties kan integreren door simpel meerdere VM's in de lucht te helpen en bij elkaar kenbaar te maken. Ze kunnen onderling prima netwerken en zijn ook extern benaderbaar. Bij mijn klant heb ik zo meerdere Virtuele Ketenpartners op enkele simpele pc's gedefinieerd die gewoon met onze Ontwikkel of test Integration B2B op HPUX praten. Een nieuwe is zo gemaakt door een kopietje van een bestaande te maken. Daarnaast hoeft niet iedereen te klieren met ingewikkelde software installaties. Zo zit ik niet te wachten op een installatie van EBS te moeten doen. Maar het is wel handig als ik er virtueel zo een kan starten om met BPEL PM tegen aan te kletsen. Eigenlijk is het belangrijkste verschil tussen Vmware Server (als ik het goed heb voorheen GSX Server) en ESX Server dat de eerste op een Host OS draait en ESX Server direct op de hardware. Dat maakt het voor ons uiteraard makkelijk omdat je fijn je laptop standaard kan OBI (Wan Kenobi)-en en na installatie van VMWare server gewoon weer met je werk verder kan gaan. Virtual Desktop Infrastructure Sommige klanten willen hun ontwikkelomgevingen strict gescheiden houden van de productie en test omgevingen. Hiertoe hebben ze verschillende virtuele LAN's gedefinieerd. Je kunt dan vanuit je ontwikkel pc niet je productie omgeving benaderen. Behoorlijk last kan dat zijn. Vooral omdat je dan twee pc's op je bureau hebt staan met een KVM-switch (Keyboard Video Mouse) of met ook twee toetsenborden, Schermen en muizen. Voor DBA's is dat vooral prettig, want die hebben er nog een voor elke test omgeving... Handiger is dan dat je gewoon 1 pc hebt en je een VM start met een profiel voor de betreffende omgeving. De Virtual Desktop Infrastructure maakt dit mogelijk. Assured Computing Environment Vmware Ace maakt onderdeel uit van de VDI. Het biedt beveiligde IT-managed endpoints aan op onbeheerde PC's. Vertrouwelijke informatie op die endpoints worden beveiligd. En je kunt dus meerdere beveiligde PC omgevingen op een enkele PC draaien. Beheerders kunnen PC endpoints afsluiten en kritische bedrijfsbronnen beveiligen tegen de risico's van onbeheerde PC'.s Eigenlijk zie ik 1 belangrijk probleem: als ontwikkelaar wil je een ontwikkel pc en een productie pc tegelijkertijd kunnen draaien. Want tijdens het ontwikkelen ontvang je bijvoorbeeld je e-mail op je productie pc. Dat betekent dat je fysieke pc over voldoende geheugen en cpu-snelheid beschikken. Maar ontwikkelaars zijn zo veeleisend dat bijna niets voldoende is voor alleen de ontwikkel-omgeving. VMware Lab Manager De lab-manager stelt de beheerder in staat om binnen de VDI nieuwe VM's aan te maken en beschikbaar te stellen aan meerdere business units over een WAN. Free VMware Player VMWare player is het andere freeware product van Vmware en is eigenlijk alleen de runtime omgeving. Als je geen behoefte hebt omzelf vm's aan te maken of te wijzigen en beschikbaar te stellen dan heb je hier aan genoeg. Je kunt middels copy en paste text en files uitwisselen tussen de VM en de Host PC en met drag en drop files. Google search is geintegreerd. Belangrijk om te beseffen is dat je met de player dus ook geen geheugen kunt toevoegen aan een vm of een randapparaat bijvoorbeeld een extra virtuele netwerk kaart. VMware Workstation Eigenlijk is Workstation vergelijkbaar met Vmware Server. Je kunt nieuwe VM's aanmaken en gebruiken. Het is in tegenstelling tot Server meer gericht op het gebruik op een desktop. Maar wat mij betreft zijn de scheidslijnen erg vaag. Een VM draaiend op Workstation is ook als server te gebruiken en vrijwel alle functionaliteit van Workstation vind je terug in Server en vice versa. Belangrijke plus van Workstation vind ik de shared folder functionaliteit. Je kunt via Workstation vrij eenvoudig vanuit je gast-os bestanden op je host OS beanderen. De nieuweste versie is VMWare workstation 6 en die heeft onder andere de volgende nieuwe features: ● ● ● ● Multiple Monitor Support — Je kunt een virtual machine gebruik laten maken van meerdere monitoren, waardoor applicaties daarbinnen er weer gebruik van kunnen maken. Hoeveel monitoren gebruikt kunnen worden met welke resolutie is aan te geven. Easy Upgrade or Downgrade of VMware Virtual Machines — Je kunt nu upgraden en downgraden tussen versies 4, 5 en 6 van workstation. Je kunt de versie van een VM wijzigen of een volledige kloon naar een andere versie trekken. Automation Via Expanded VIX 2.0 API — De VIX API (voorheen Programming API) is nu compatible met Workstation 6. Hiermee kun je scripts en programma's schrijven om VM operaties te automatiseren. Er is beschikbaarheid van de API voor C en extra bindings voor Perl, COM, en shell scripts (vmrun). Enhanced Import Functionality (Windows Hosts Only) — Dit is een import- ● ● ● ● ● ● ● ● ● ● ● ● ● ● wizard gebruikmakend van het VMware Converter product. Je kunt hiermee een virtual machine van het ene VMware virtual machine formaat naar een andere converteren en virtual machines of system images van populaire third-party vendors converteren. Automatic Update to the Latest Version of VMware Tools — Handig: de Vmware Tools kunnen bij opstarten automatisch naar de laatste versie worden geupgrade. Integrated Virtual Debuggers — In de nieuwe Workstation IDE (integrated development environment) zijn plug-ins beschikbaar waarmee software developers menu items and toolbar buttons in Visual Studio (Windows only) or Eclipse (Windows or Linux) beschikbaar hebben om eenvoudiger programma's in virtual machines te kunnen ontwikkelen. Het is mij echter niet zo duidelijk wat je hier aan hebt. Run Virtual Machines in the Background — Wanneer je VM is gestart kun je Vmwarer workstation afsluiten. Je VM blijft dan gewoon draaien in de achtergrond. Erg handig bij server toepassingen. Cross-Platform Drag-and-Drop Functionality — Het uitwisselen van files en directories tussen guest en hosts van verschillende Operating Systems (Linux or Windows host en Linux, Solaris, or Windows guest) is verbeterd. Virtual Machines Can Act as VNC Servers — Een VM heeft nu impliciet VNC functionaliteit zonder dat je VNC in het OS hoeft te hebben geinstalleerd. New Online Help System for Workstation Battery Information Is Now Reported in the Guest — Handig: als je je VM fullscreen hebt op je laptop dan kun je toch de batterij in de gaten houden. Increased RAM Support — De eerdere limiet van 4GB total RAM kon worden gebruikt door alle virtual machines gecombineerd is verwijderd. Nu wordt het maximum berperkt door de fysieke host. Het wachten is dan op laptops met meer dan 4GB en een op Vista gebaseerde OBI (of je gebruikt Linux natuurlijk). User Interface for Mapping a Virtual Disk to a Drive Letter on the Windows Host Support for High-Speed USB 2.0 Devices Improved 64-bit Guest Support — Intel EM64T VT-capable processors zijn nu volledig ondersteund. New 64-bit Sound Driver VMware Player 2.0 — De nieuwe Player Welcome page geeft nu de mogelijkheid om te browsen naar een virtual machine file of het downloaden van een virtual appliance van de VMTN (VMware Technology Network) web site. De nieuwe Player’s appliance view kan dan worden gebruikt bij het draaien van een virtuele toepassing. Player Extensions Framework — Met een nieuw development framework kun je zelf nieuwe controls maken in VMware Player. Een eigen custom toolbar en menu items kunnen worden toegevoegd in de Player interface. Conclusie Als je een en ander zo leest dan is het wel een boel sales-talk. Niet zo gek want het meeste heb ik gewoon van de Vmware site. Toch ben ik vanuit de praktijk erg onder de indruk van Vmware workstation en Vmware server. Het blijft een apart idee dat je een of meer complete, volledig functionerende computers hebt in je computer. Welke ook nog eens benaderbaar zijn via het netwerk en zo niet van echt zijn te onderscheiden. Maar ook de server producten van Vmware zijn veel belovend. Het is toch geweldig dat een Virtual Machine live, dynamisch van de ene server naar de andere kan worden verplaatst gebaseerd op beschikbaarheid van resources of falen van de server. Maar ook op basis van geplande onderhoudswerkzaamheden. De belangrijkste beperking die ik nu zie is dat de VM volledig binnen een ESX server draait. Een ESX server kan meerdere VM's draaien en ESX servers kunnen VM's dynamisch van elkaar overnemen. Volgens mij is het nu wachten op de mogelijkheid van het draaien van één VM op meerdere ESX servers tegelijk. Of te wel meerdere ESX servers die tegelijkertijd dezelfde VM bedienen. Want opdat moment heb je een grid gebouwd op het niveau van de hardware. Oracle is met de grid technologie in staat grids op Applicatie niveau te maken (een database is immers een applicatie binnen een OS). Er zijn ook OS'en die grid technologie hebben. Grid op OS niveau dus. Maar als Vmware in staat is om meerdere ESX servers één VM te bedienen, dan schuiven ze grid technologie onder het OS. Je kunt dan met bijvoorbeeld 8 dual-core Linux pc's een 16 processor Virtual Machine bouwen. Als je daarin nu eens Windows of Linux installeert.... Ben ik benieuwd wat het gast OS doet wanneer je er dan een down brengt. Als dat inderdaad de richting is die Vmware uit gaat staan ons nog spannende mogelijkheden te wachten. En het lijjkt me voor Oracle een interessante partner. In elk geval een partij om in de gaten te houden. Martien van den Akker Technical Specialist