220 likes | 370 Vues
De diepte in met VMware High Availability. Viktor van den Berg Technical Trainer, Xpert Training Group. Wat is VMare High Availabilty. VMware High Availability (HA): Is een onderdeel van Virtual Center 2 Start Virtuele Machines opnieuw bij een ESX host failure
E N D
De diepte in met VMware High Availability Viktor van den Berg Technical Trainer, Xpert Training Group
Wat is VMare High Availabilty • VMware High Availability (HA): • Is een onderdeel van Virtual Center 2 • Start Virtuele Machines opnieuw bij een ESX host failure • Werkt het beste samen met Distributed Resource Scheduling (DRS) • Is gebaseerd op Legato Automated Availability Manager (AAM) 5.1
Hoe werkt VMware HA Cluster VM1 VM2 VM1 VM3 VM5 Virtual Center Server Gateway DNS VM2 VM4 VM6
Failover capaciteit ? VM1 VM2 VM1 VM3 VM5 VM2 VM4 VM6
Failover capaciteit • Stel het aantal host failures in, VMware HA zorgt dat er genoeg capaciteit is • Kies de juiste optie bij Admission Control • Do not power on • Allow power on • Stel “restart priority” in, dit bepaalt of en hoe snel een VM opnieuw gestart wordt!
Reservering van de CPU bepaalt de capaciteit Totaal 10,2 Ghz beschikbaar effectief 5,1 Ghz want we moeten 1 host failure opvangen! De som van de reserveringen <= 5,1 Ghz De reserveringen mogen alleen gelijkmatig worden verdeeld over de VMs! Failover CPU capaciteit VM1 VM2 VM3 VM4 Physical Server: 2 x 3 Ghz = 6 Ghz 0,9 Ghz System resources: VM resources: 5,1 Ghz
Situatie 1: 5,1 Ghz beschikbaar voor 4 VMs 5,1 / 4 = 1275 Mhz reservering per VM Dit is niet flexibel te verdelen: VM 1: 1000 Mhz VM 2: 1275 Mhz VM 3: 1000 Mhz VM 4: 1825 Mhz Totaal: 5,1 Ghz Failover CPU capaciteit VM1 1275 VM2 1275 VM3 VM4 1275 1275 VM 4: 1275 Mhz 6 Ghz 0,9 Ghz 5,1 Ghz
Situatie 2: 5,1 Ghz beschikbaar voor 3 VMs 5,1 / 3 = 1700 Mhz reservering per VM Ik wil nu een 4e VM opstarten HA: “Insufficient resources to satisfy configured failover level voor HA” Verlaag de reservering naar 5,1 / 4 = 1275 Mhz voor alle VMs Hierna kan de 4e VM opgestart worden Deze maximum waarde van de reservering komt niet terug in de VC interface! Dus: gokken, of een formule gebruiken! Failover CPU capaciteit VM4 1275 VM1 1700 1275 VM2 VM3 1275 1700 1275 1700 6 Ghz 0,9 Ghz 5,1 Ghz
Failover CPU capaciteit: een formule • De maximaal instelbare CPU reservering: • MaxReservering = ((ESX-HFA) * VMCPUPOWER) / VMs • MaxReservering = Wat is de maximale reservering per VM? • ESX = Aantal ESX servers • HFA = Host failures allowed, hoeveel host failures moet HA kunnen opvangen? • VMCPUPOWER = Hoeveel CPU clock cycles zijn er beschikbaar voor de VMs? • VMs = Hoeveel VMs wil ik draaien binnen dit cluster?
Failover CPU capaciteit: een formule MaxReservering = ((ESX-HFA) * VMCPUPOWER) / VMs • Voorbeeld: • Aantal ESX servers: 4 • Host failure allowed: 2 • 6 Ghz servers, dus 6 - 0,9 = 5,1 Ghz beschikbaar voor VMs (=VMCPUPOWER) • Ik wil 10 VMs gaan draaien MaxReservering = ((4-2) * 5,1) / 10 = (2*5,1) / 10 = 10,2 / 10 = 1020 Mhz per VM • Let op: Deze formule werkt alleen met identieke servers!
Failover capaciteit en Resource Pools • Een ingestelde reservering van een Resource Pool telt niet mee voor de failover capacity van HA! • Voorbeeld: • Cluster heeft beschikbaar: • 10,2 Ghz voor DRS • 5,1 Ghz voor HA • Een Resource Pool kijkt alleen naar de DRS capaciteit en niet naar HA capaciteit • Er kan nu een resource pool aangemaakt worden die 5,1 Ghz beschikbaar heeft • Echter: Er kan geen enkele VM in deze Resource Pool worden opgestart! Je hebt er dus niets aan. Resource Pool 5100 Mhz VM1 1700 VM2 VM3 1700 1700
HA Architectuur • VMware HA maakt gebruikt van Legato Automated Availability Manager (AAM) 5.1 • AAM is een oplossing die meerdere node’s (ESX servers) groepeert in een domein • De node’s communiceren m.b.v. een p2p protocol. • AAM verzorgt de “High Availability” van de applicaties (VM’s) die draaien op deze node’s. AAM kan geïnstalleerd worden op:Windows, Solaris,HP-UX, AIX en Linux • AAM is tegenwoordig ook bekend onder de naam EMC FullTime AutoStart
HA Architectuur • Nadat een ESX server is toegevoegd in Virtual Center wordt AAM geïnstalleerd in: • /opt/LGTOaam512/ • Er wordt een opstartscript toegevoegd in de rc.d directory: • /etc/rc.d/rc3.d/LGTOAAM51_vmware/etc/init.d/LGTOAAM51_vmware • Opstarten/afsluiten VMware HA: • /opt/LGTOaam512/bin/ft_startup • /opt/LGTOaam512/bin/ft_shutdown
HA Architectuur • Primary agent: • Agent process • Process monitor • Rule interpreter • Replicated DB • Secondary Agent • Agent process • Process monitor
HA Architectuur • Hoe wordt HA aangestuurd? • /usr/bin/perl /opt/LGTOaam512/vmware/aam_config_util.pl –z –cmd= • -cmd=listnodes (geeft een overzicht van de HA node’s) • -cmd=getdomain (laat de domeinnaam zien) • -cmd=addnode (Voeg een node toe) • -cmd=remove (Verwijder een node) • Virtual Center stuurt HA aan, door gebruik te maken van dit script. • Welke ESX server is mijn primaire of secondaire node?
HA Architectuur • “ftcli” wordt gebruikt om het HA cluster te configureren, en wordt aangestuurd vanuit aam_config_util.pl • Kan ik dit programma gebruiken? • FT_DIR=/opt/LGTOaam512 • export FT_DIR • /opt/LGTOaam512/bin/ftcli –d vmware • “ftcli” geeft inzicht in gedefinieerde ‘rules’, ‘triggers’, ‘sensors’ en ‘actuators’.
HA Architectuur • Een rule bepaalt hoe het HA cluster werkt en geldt voor het hele HA domein. • Een trigger geeft aan wanneer een rule moet worden uitgevoerd. • Een trigger kan gedreven worden door tijd of door een sensor. • Sensor • Een sensor geeft de waarde van b.v. een counter, of de status van het domein. • Actuator • M.b.v. een actuator is het mogelijk om vanuit AAM te communiceren met een applicatie die draait op een server.
HA Architectuur • Sensor • “ft_NodeState”: Deze sensor detecteert een node change, waardoor de trigger “NodeStateChange” uitgevoerd wordt. • Voorbeeld van een trigger: • “NodeStateChange”: Deze trigger wordt afgevuurd als de status van een node (=ESX server) veranderd, de rule “VMWareClusterManager” wordt uitgevoerd. VM’s worden nu op een nieuwe node geplaatst. • Voorbeeld van een Rule: • “VMWareClusterManager”: regelt de High Availabilty voor de VMWare omgeving • Zorgt dat de VMap (VM manager process) up to date blijft en beschikbaar is op alle node’s • Zorgt dat er genoeg primary agents beschikbaar zijn en blijven • Maakt gebruik van /opt/LGTOaam512/vmware/vmwaremanager.pl
HA Architectuur • Conclusie: • Virtual Center communiceert met de HA omgeving op de ESX server • Op de ESX servers is AAM actief; AAM communiceert zelf en onafhankelijk van Virtual Center met de andere node’s m.b.v. een p2p protocol. • Er zijn primaire en secundaire node’s. • AAM maakt gebruikt van door VMWare gedefinieerde rules, triggers en sensors waarbij VMs worden behandeld als een applicatie die in de lucht moet worden gehouden. • Het lijkt dat VMware HA een implementatie is van Legato AAM!
Einde Bedankt voor de aandacht!