De vraag naar beschikbaarheidsverhogende technologie met voldoende schaalbaarheid neemt sterk toe. Belangrijke oorzaken hiervan zijn de intrede van nieuwe concepten zoals asp, en gebruik van internet voor handel, communicatie en globalisering. Het beschikbaar komen van mainframe en ‘mid-range’-technologie op het Intel-platform in combinatie met Windows 2000 levert fouttolerante oplossingen tegen relatief lage prijzen. Dit maakt beschikbaarheid voor veel meer organisaties bereikbaar dan voorheen. Cyril Roosenboom bespreekt de verschillende aspecten van het verhogen van de beschikbaarheid van Wintel-systemen, vergelijkt verschillende technieken en bespreekt de toepasbaarheid.
Leveranciers als Stratus en IBM bouwen al jaren systemen voor hoge beschikbaarheid, maar gezien de hoge prijs worden deze alleen ingezet in kritische omgevingen waar ‘downtime’ kostbaar is, zoals financiële instellingen. Het Wintel-platform heeft zich in de afgelopen jaren ontwikkeld van ‘workgroup’-systeem naar ondernemingsnetwerk. Het grote voordeel van deze systemen is hun lage prijs, schaalbaarheid en flexibiliteit. Windows 2000 wordt dankzij zijn stabiliteit steeds vaker ingezet voor bedrijfskritische applicaties. Hoewel Microsoft met zijn producten poogt zoveel mogelijk hardware te ondersteunen, is de Datacenter-variant van Windows 2000 alleen verkrijgbaar in combinatie met geselecteerde hardware. Microsoft heeft Datacenter ontwikkeld in samenwerking met fabrikanten die jaren ervaring hebben in het bouwen van systemen met hoge beschikbaarheid, zoals Unisys. Hiermee hebben fabrikanten technologie naar het Wintel-platform gebracht, waarmee een systeem met hoge beschikbaarheid kan worden gebouwd.
Tabel 1. Beschikbaarheidspercentage versus downtime
|
Deze ontwikkelingen hebben ervoor gezorgd dat systemen met een beschikbaarheid van 99,9 procent voor minder dan 50.000 euro kunnen worden aangeschaft. Dit biedt nieuwe mogelijkheden voor bedrijven.
Afweging
Ondanks de relatief lage prijzen moet de investering in systemen met hoge beschikbaarheid voortdurend worden afgewogen tegen de verliezen die ontstaan voor de organisatie bij uitval van hun ict-platform.
De investeringen beperken zich niet tot de aanschaf van nieuwe technologie. Investeringen in kennisopbouw en het ontwikkelen van procedures voor beheer zijn mede bepalend voor de totale eigendomskosten (’total cost of ownership’, tco).
In een eerste stap richting verhoging beschikbaarheid kan worden bepaald welke component het meest frequent faalt en welke uitval het kostbaarst is. Hiertoe bepaalt men de maximale tijd waarin de business zich kan permitteren om ‘down’ te zijn en de tijd die nodig is om – in een ‘worst case scenario’ – de problemen te herstellen. Op deze wijze kunnen de investeringen in tijd en geld afgestemd worden op een specifieke bedrijfssituatie. Dit kan betekenen dat het beschermen van data een hogere prioriteit heeft dan het beschikbaar stellen ervan.
Bepaling beschikbaarheid
De eenvoudigste bepaling van beschikbaarheid geschiedt door de tijd te meten dat een component normaal functioneert. Dit kan worden berekend met de volgende vergelijking:
MTBF
B = ——————
MTBF + MTTR
MTBF =Mean Time Between Failure, MTTR=Mean Time To Repair.
Het gaat hier om gemiddelde tijden en waarden die slechts een trend aangeven, in plaats van de garantietijd die elk stuk hardware zonder fouten functioneert. Wel zijn twee observaties te maken:
Wanneer de mttr (tijd noodzakelijk om een defect te herstellen) nul nadert, verschuift de overall beschikbaarheid (B) naar 100 procent.
Wanneer de mtbf (tijd waarbinnen de hardware zonder storing functioneert) groter wordt, heeft de benodigde hersteltijd minder impact.
Hiermee is een relatie gelegd tussen kwaliteit van beheer (hoge kwaliteit, korte mttr), kwaliteit van hardware (gemiddeld minder storing, grote mtbf) en technologie (opvang van storingen, grotere mtbf).
Uiteindelijk kan de beschikbaarheid worden uitgedrukt in een percentage ‘uptime’. Hierin spelen zowel geplande als ongeplande uitval een rol. Het percentage beschikbaarheid wordt doorgaans als begrip gebruikt. Wat dit betekent voor de uitval per jaar is inzichtelijk gemaakt in tabel 1.
Om de betekenis te plaatsen is het goed om te realiseren dat midrange-systemen van IBM in 1997 een beschikbaarheid van 98.4 procent realiseerden. Één jaar later werd 99,1 procent mogelijk met behulp van RS/6000 SP systemen (Clustering and high availability, IBM Redbook SG24-4858-00). De laatste jaren wordt er steeds vaker gevraagd om beschikbaarheid van 99,9 procent.
Tabel 2. Technieken om de beschikbaarheid te verhogen.
UPS = uninterruptible power supply, ASR = automatic server restart, ECC = error correct code, RPS = redundant power supply. |
Niveaus
Als vanuit de business het noodzakelijke beschikbaarheidpercentage is vastgesteld kan dit worden gekoppeld aan een van de hierna beschreven beschikbaarheidniveaus, ieder met hun eigen methodes en (toenemend) investeringsniveau. De volgende overwegingen zijn vooraf belangrijk:
- De keuze voor techniek of procedures. Het aanpassen van de beheerprocedure kan een goedkopere oplossing zijn;
- Prioriteitsbepaling: beschikbaarheid, schaalbaarheid of beheerbaarheid;
- Redundante hardware-oplossingen in één systeem verdienen – beheersmatig – de voorkeur. Deze oplossing is voor het beheer gelijk aan een gewoon systeem, met dit verschil dat defecte componenten kunnen worden vervangen zonder downtime.
We onderscheiden de volgende vier beschikbaarheidniveaus.
- Basissystemen: systemen zonder technieken of maatregelen om het verlies van data tegen te gaan, back-ups uitgezonderd. Bij uitval wordt het systeem hersteld zonder vooraf gedefinieerde prioriteit.
- Redundante componenten: hier is hardware-redundantie ingevoerd om het verlies van services en data tegen te gaan, zoals ‘hot swap’-componenten en raid-technologie.
- ‘High available’ systemen: inzetten van meerdere systemen die in staat zijn om de services van één systeem uit te voeren of over te nemen. Bij uitval van services worden de taken uitgevoerd door minimaal gelijkwaardige hardware en zullen -afhankelijk van de configuratie de services op een gelijkwaardige wijze worden voortgezet.
- Uitwijkscenario: naast de verschillende systemen op de hoofdlocatie zijn systemen aanwezig op een back-up site. Als de ict-diensten van het hoofdkantoor uitvallen, kunnen de diensten worden voortgezet op het secundaire systeem van de back-up-locatie.
Technieken
Er zijn verschillende technieken die kunnen worden ingezet om de beschikbaarheid te verhogen. Tabel 2 toont een aantal van deze technieken. Belangrijk is de volgorde waarin deze worden ingezet. Het is weinig zinvol om een kostbaar cluster te installeren wanneer er vooraf geen maatregelen zijn genomen om stroomuitval op te vangen. Verder kan bij het kiezen van een technologie rekening worden gehouden met een analyse van veel voorkomende problemen, gebruik makend van statistieken en ervaringen vanuit de huidige situatie.
Het toepassen van beschikbaarheidverhogende technieken zal de beloofde beschikbaarheid nooit leveren zonder aandacht voor beheer. Hoewel in dit artikel niet uitgebreid op de beheeraspecten wordt ingaan, is het van belang twee zaken te onderstrepen. Een gedegen back-up en herstelprocedure vormt de basis van elk systeem met hoge beschikbaarheid. ‘Predictive failure analysis’ biedt een mogelijkheid om problemen te voorkomen. Door gebruik te maken van ervaringsgetallen zijn trends te herkennen en is het defect raken van een disk te voorspellen.
Tabel 3. Vergelijking van verschillende concepten
|
Concepten
Men spreekt al snel over een ‘clustertje neerzetten’ wanneer er problemen zijn met de beschikbaarheid van een systeem. Dat dit niet altijd een goede oplossing is, blijkt uit onderstaande conceptvergelijking tussen clustering, fouttolerantie en ‘load balancing’.
Clustering (ha, ‘high availability’) wordt gedefinieerd als twee of meer systemen die zich logisch gedragen als één systeem. De hoge beschikbaarheid kan worden bereikt doordat ná het optreden van een fout op één van de clustersystemen, de services automatisch (of handmatig) worden overgenomen door een tweede systeem (‘cluster-node’). Om dit proces met minimale overlast voor de gebruikers te laten verlopen, is het noodzakelijk dat applicaties ‘cluster aware’ zijn. Deze applicaties zijn in staat om te profiteren van de mogelijkheden van een cluster. Dit garandeert geen continue beschikbaarheid; tijdens de ‘fail-over’ (overname taken) is er tijdelijk sprake van een onderbreking van de services en afhankelijk van de applicatie is een actie noodzakelijk op de client. De inzet van een cluster heeft grote consequenties voor het beheer. Wanneer dit wordt onderschat, zal het cluster eerder een verlaging dan een verhoging van de beschikbaarheid opleveren.
Fouttolerantie (FT) wordt gedefinieerd als de situatie waarin twee of meer systemen zich logisch én fysiek gedragen als één. Fouten worden met behulp van specifieke hardware gedetecteerd vóórdat ze optreden. In tegenstelling tot het geval is bij clustering, is hier wel degelijk sprake van continue beschikbaarheid en worden geen specifieke eisen aan applicaties gesteld. Belangrijk verschil met clustering is de relatief lage impact voor het beheer. Aangezien de hoge beschikbaarheid voor het belangrijkste deel wordt verzorgd door de hardware, is de impact op beheer lager.
Load balancing (LB) is het evenredig distribueren van proces- en communicatieactiviteiten. (smp en cellulair multiprocessing) Deze techniek – feitelijk een specifiek geconfigureerd cluster- is inzetbaar bij processen waar de serverbelastingen moeilijk of niet te voorspellen zijn. Ook hier moet voor een succesvolle implementatie de software ‘cluster aware’ zijn. Het verdelen van de belasting is mogelijk over knoopunten (‘nodes’) die -fysiek- op verschillende locaties staan. Hier spreken we ook wel van ‘network load balancing’ (nlb) waarmee eventueel na calamiteiten op een andere locatie verder gewerkt kan worden. In tabel 3 worden de drie concepten vergeleken.
Tabel 4. Oplossingen voor verschillende typen diensten
ASP=Application Service Provider, FT= Fault Tolerant, HA=High Availability, (N)LB=(Network) Load Balancing |
Concepten in de praktijk
Afgezet tegen vragen uit de praktijk, zien we dat bepaalde services kunnen worden gegroepeerd naar inzet van beschikbaarheidsconcepten.
In tabel 4 zijn de verschillende klassen te zien met de voorgestelde beschikbaarheidsoplossing.
Globaal valt de keuze op een cluster wanneer:
- database services behoren tot de belangrijkste diensten (dus het herstelmodel gebaseerd is op transacties);
- de schaalbaarheid essentieel is;
- de applicaties de mogelijkheid bieden om een hersteltijd te ‘overleven’;
- we kunnen beschikken over de nodige kennis.
‘Load balanced’ oplossingen worden gekozen op het moment dat sprake is van onvoorspelbare systeembelastingen en het overall-proces processor-intensief is. Een ‘load balanced’ systeem kan bestaan uit een groep van losse servers of een geconsolideerd systeem. In het laatste geval maakt processorbeheer het mogelijk om wanneer noodzakelijk tijdelijk extra rekenkracht toe te voegen aan processen. Wanneer bijvoorbeeld aan het eind van een werkdag de benodigde rekenkracht voor bedrijfsprocessen kleiner wordt, kan deze worden bijgezet ten behoeve van een back-upproces.
Datacenter versus hardware
In de tijd dat Microsoft Windows NT voor het eerst werd ingezet als netwerkserver werden problemen regelmatig opgelost door de server uit en aan te zetten. Hierbij was het niet belangrijk waardoor de problemen veroorzaakt werden en of door deze wijze van werken nieuwe problemen werden gecreëerd.
Een dergelijke werkwijze is tegenwoordig onacceptabel. Het Windows 2000-platform is complexer dan NT; de’verweving’ van applicatie en besturingssysteem is groter dan ooit. Beter afgedwongen afspraken tussen software-ontwikkelaars en het platform dragen zorg voor een hogere stabiliteit.
De belofte voor een hogere beschikbaarheid en betrouwbaarheid van het Windows 2000 serverplatform kan verder worden ingelost door de datacenter-versie. Hiermee komt Windows 2000 op het terrein van de datacenters (Windows 2000 drives into the data center, D.H. Brown Associates, Inc. september 2000).
Belangrijke aspecten van datacenters zijn: testproces gelijk aan mainframe;
installatie uitsluitend door gecertificeerde professionals (geselecteerde oem-producenten uit het Microsoft Windows Datacenter Program); grote schaalbaarheid; software en hardware vormen een twee-eenheid; Gold Hardware Compatibility List.
De Gold HCL moet de meest voorkomende foutmeldingen, veroorzaakt door drivers van apparaten, wegnemen (binnen Windows NT 4.0 verantwoordelijk voor 40 procent van de fouten).
Daarnaast zijn er belangrijke fundamentele verbeteringen aangebracht aan het basisbesturingssysteem. Zo wordt voorkomen dat tijdens software-installaties essentiële systeembestanden worden overschreven. Dit geldt ook voor het schrijven in de kernel van het besturingssysteem. Hiermee wordt een belangrijke bron van problemen voorkomen. Windows File Protection verifieert de softwarebron en -versie van systeemfiles voor installatie. Daarnaast levert het de Windows 2000 serverplatformtest en ontwikkeltools voor de ontwikkeling van nieuwe, betrouwbare drivers. Verder is onderhoudsgerelateerde ‘downtime’ naar beneden gebracht. Het aantal noodzakelijke ‘reboots’ na het plegen van onderhoudswerkzaamheden is sterk teruggebracht. Een geïntegreerde set features verbetert het systeemherstel en de herstartprocedure waardoor deze sneller verlopen. Op vrijwel alle onderhoudsgevoelige onderdelen is het aantal bewerkingen teruggebracht (filesysteem onderhoud, hardware-installatie en -onderhoud, geheugenbeheer, enzovoort).
Tenslotte wordt het opslagbeheer verbeterd door het op afstand controleren van de opslagcapaciteit en disk quota’s.
Hardware producenten die op dit moment beschikken over Windows 2000 Datacenter gekwalificeerde servers en diensten zijn opgenomen in tabel 5.
Twee bepalende fabrikanten in deze lijst zijn Unisys en Stratus. Beide vertegenwoordigen een aparte categorie. De server van Unisys is te plaatsen in de categorie clustertechnologie en vormt een uitzondering vanwege de ‘cellulair multi processing’-technologie. Cmp doorbreekt de 8 cpu-limiet van ‘symmetric multi processing’ (smp) voor Intel-processoren (IA32) en beschikt over statische en softwarematige processorpartitionering. Hierdoor is het mogelijk om een processorpoule over verschillende processen te verdelen en deze -afhankelijk van de vraag naar rekenkracht – automatisch te laten herverdelen.
Tabel 5. Gecertificeerde hardware
|
De ftServer van Stratus is een fouttolerant systeem. Alle componenten zijn minimaal dubbel (‘dual modular redundancy’, dmr) of driedubbel (tmr) uitgevoerd en continu in alle processen opgenomen. De processoren worden met een ‘lock-stepping’ mechanisme gesynchroniseerd. De uitkomst van elke berekening, door alle processoren, wordt doorlopend vergeleken. Bij een afwijking wordt de falende component geïsoleerd en wordt een signaal afgegeven. Deze architectuur zorgt er voor dat een hardware-storing niet tot uitval van diensten leidt. Vervanging van componenten kan on-line plaatsvinden. Daarnaast zijn er extra’s zoals het ft-geheugen, waardoor bij een noodzakelijke herstart de data in het geheugen bewaard kan blijven. Hiermee wordt de downtijd verkort (mttr neemt af).
De belangrijkste kenmerken van beide systemen staan in tabel 6.
Realisme
Systemen stoppen een keer met functioneren, waarschijnlijk op een ongelegen moment. Naast het beheer van het systeem is het onderhoud van infrastructuur, stroomvoorziening, koeling, beveiliging en fysieke status belangrijk.
Bij een systeem met hoge beschikbaarheid zijn alle mogelijk fouten of problemen die kunnen optreden (inclusief netwerk en applicatie), bekend en beschreven. Daarnaast is voor elke beschreven component een maximale downtime bekend met een stappenplan richting probleemherstel. Dit geeft inzicht in de beschikbaarheidgaranties die kunnen worden afgegeven.
Opgelet moet worden of de verschillende toegepaste technieken daadwerkelijk de beschikbaarheid leveren die wordt gesuggereerd. Een extern raid-kabinet zit vaak met één kabel aan het systeem vast. De kans op kabelstoringen is kleiner dan op een crash van de harddisk, maar de kabel vormt niettemin een ‘single point of failure’.
Tenslotte kan ook een betrouwbaar systeem problemen krijgen met een kritische component, maar binnen een acceptabel tijdsbestek worden hersteld.
Het bouwen van serversysteem met hoge beschikbaarheid vormt het uitgangspunt in het aanbieden van ict-diensten met hoge beshcikbaarheid. Toch wordt een positieve beleving bij een eindgebruiker uiteindelijk bepaald door de beschikbaarheid van een complete ict-infrastructuur.
Goedkoop en schaalbaar
De besproken hardware en software biedt voor het eerst serieuze fouttolerantie voor het Wintel-platform. Dit kan de basis vormen voor het relatief goedkoop en schaalbaar aanbieden van applicaties en netwerkdiensten met hoge beschikbaarheid, zoals internetkoppelingen, crm/erp-systemen en e-mailsystemen.
In het algemeen kan worden gesteld dat elk proces dat voldoende bedrijfskritisch is, in aanmerking komt voor fouttolerante hardware zoals de ftServer van Stratus.
Alle beschreven beschikbaarheidconcepten kennen hun voordelen. Het is echter van belang dat de juiste techniek aan de gewenste functionaliteit wordt gekoppeld. Dit vereist specialistische kennis.
De conclusie is dat het totale beschikbaarheidvraagstuk van een bedrijf vaak met een combinatie van technologieën moet worden opgelost.
Welke oplossing ook wordt gekozen, deze zal altijd een impact hebben op het beheer. De combinaties van technieken en procedures voor het beheer zijn samen bepalend voor het eindresultaat.
Cyril Roosenboom Consultant Centior
Tabel 6. Kenmerken van twee systemen
Stratus FtServer:
Intel based – Windows 2000 platform
Geen ‘single point of failure’ (‘hot swap’)
Ft memory (nabije toekomst: ram-disk w2000)
‘Hardened drivers’ (onder andere transparante i/o switch)
‘On-line dump’ (minimale reboot-tijd)
‘On-line serviceability + rolling OS upgrade’ (toekomst)
Unisys ES7000:
Intel based / Windows 2000 Datacenter
Grote schaalbaarheid (‘multi cluster’)
Third level cache (verlichting voor beheer van cpu-cache),
I/O subsysteem max. 96 pci sloten,
Elk onderdeel ‘hot swap’,
Communicatie via geheugen (tussen twee servers; Windows direct socket)
Windows 2000 server
2000 server: maximaal 4 cpu’s, 4 GB Ram, meer beheer en connectiviteitsmogelijkheden dan Professional.
2000 advanced server: maximaal 8 cpu’s, 8 GB Ram, meer schaalbaar dan Server en bevat componentservices. (cluster van twee nodes mogelijk)
2000 DC server: maximaal 32 cpu’s, 64 GB Ram, schaalbaar, back-end voor applicatie – of data centrum. 2 en 4 node cluster mogelijk, partitioneren van cpu’s, clusters, NLB-mogelijkheden. Het Windows Datacenter program garandeert dat Datacenter is geïnstalleerd, grondig getest en gevalideerd op de hardware. Systemen moeten tenminste garantie voor 99,9 procent uptime kunnen geven om in aanmerking te komen voor hardware-certificering.
De volgende versie 32 bit-server product (code naam Whistler-server) heeft een optie voor een ‘headless’ server-installatie. Dit is een systeemconfiguratie waarbij de server geen lokale console meer kent. Vanaf advanced server wordt clustering en ‘network load balancing’ geboden.