Virtualisatie met VMWare - Darwin IT

advertisement
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
Download