Cluster server, failover en data replicatie
Om de beschikbaarheid van Windows
servers te verhogen treft u in de markt een heel scala technieken en "buzz" woorden aan die door elkaar worden gebruikt.
Dit betreft o.a. clustering, high availability, server clustering, replication, data replication, failover, shared storage, Microsoft cluster service, Microsoft
Cluster Server, hot standby, fault tolerant, server mirror, MSCS, disaster recovery, business continuity, redundant server en server redundancy.
In dit artikel volgt een kort overzicht van de verschillende technieken en toepassingen voor het verbeteren van de beschikbaarheid van servers en applicaties.
Index
- Definitie van clustering
- Wat is een server cluster?
- Toepassingen van een cluster server
- Clustering en de relatie met replicatie en failover
- Problemen bij een cluster
- Microsoft Cluster Server (MSCS)
- Laatste ontwikkelingen Windows clustering
- Kosten van een windows cluster server
- Relatie van server clustering met TCO
- De alternatieven van een Microsoft Cluster Server
- De toekomst van server clustering
- Non stop computing
- Conclusies
Definitie van clustering
Formeel is clustering het verbinden van twee of meer computers op een wijze waarbij zij zich gedragen als één computer. Clustering wordt toegepast voor parallel processing, load balancing en fault tolerance.
Een server cluster
In het algemeen bestaat een server cluster uit twee of meer fysieke servers (nodes) die zich als één logische server presenteren. Elke server is reeds voorzien van
redundante delen zoals CPU, voeding(dual power), koeling (dual fan), harddisken (RAID), memory (ECC) en een dubbele netwerk interface kaart (NIC). Mocht één
server door omstandigheden niet goed functioneren, dan neemt één van de andere server(s) de taken over. In de markt worden verschillende termen door elkaar gebruikt
die wel aan elkaar gerelateerd zijn doch toch wezenlijk verschillend zijn. Dit betreft onder andere: server mirroring, replication server, failover, fault tolerant en standby
server.
Toepassingen van een cluster server
Een cluster server wordt ingezet om de beschikbaarheid van systemen te vergroten. Over het algemeen beschermt een cluster tegen hardware problemen. Indien een
cluster, bestaande uit twee nodes "uit elkaar wordt getrokken" en één node op een andere locatie wordt geplaatst, dan kan deze techniek onderdeel uitmaken van een business continuity plan.
Afhankelijk van de gekozen oplossing kan een windows cluster ook bescherming bieden bij applicatieproblemen. Enkele toepassingen zijn o.a.
- Microsoft Exchange Cluster
- Microsoft FileServer Cluster
- Oracle Cluster Server en Oracle Real Application Cluster
- Microsoft SQL Cluster
- Microsoft IIS Cluster
- Sharepoint
- BlackBerry
- Progress
Uitgebreide informatie hierover is te vinden op de de website van NeverFail
Clustering, failover en data replicatie
Replicatie wordt vaak gebruikt om dynamische data veilig te stellen. Data replicatie is een oplossing waarbij een tape back-up onvoldoende garantie biedt met betrekking tot
de restoretijden en database integriteit. Data replicatie biedt onder andere backup van open files. Er zijn geavanceerde data replicatie servers beschikbaar die goede
oplossingen bieden voor applicatie specifieke beschikbaarheidsvraagstukken. Een bekende speler op de markt van datareplicatie is Double Take.
Een failover server bestaat uit een actieve server en een passieve server. Zij vormen een serverpaar of tandem waarbij de passieve server de actieve server kan
overnemen. Deze overname kan handmatig of automatisch plaatsvinden. Tussen de actieve en passieve server vindt data replicatie plaats zodat beide servers een exacte
kopie van elkaar zijn of zij maken gebruik van een shared disk. Het serverpaar is aangesloten op een privé netwerk (ten behoeve van server controle) en een publiek netwerk (de clients).
Het privé netwerk wordt over het algemeen aangeduid met "heartbeat" network en vormt de "navelstreng" tussen de actieve en passive server. Tijdens de "switch"
worden de lopende processen netjes afgesloten en wederom geactiveerd op de passieve server. In de praktijk duurt een switchover enkele minuten to circa 15
minuten. Tijdens de "switch" is er geen gebruikersactiviteit mogelijk. Een failover die specifiek is ingericht voor een kritische applicatie is één van de alternatieven voor een server cluster.
<meer over windows failover systemen>
Clustering problemen
De meeste cluster implementaties ondervinden problemen indien het clusterpaar fysiek niet dicht bij elkaar staat. Een cluster beschermt alleen tegen hardware fouten
en niet tegen gebruiksfouten, software gebreken, noodzakelijke upgrades en manipulatie. De ondersteuning van tape-libraries en CDROM-array's is beperkt in
clustering software. De grootste nadelen van clustering zijn complexiteit en kosten. Hier liggen veel mogelijkheden voor de concurrenten van Microsoft Server Cluster.
Microsoft Cluster Server
Tijdens de introductie van Windows NT 4.0 is server clustering beschikbaar gekomen onder de naam Wolfpack (1997). Het betrof versie 1.0 van MSCS. Onder NT 4.0 kon
men maximaal 2 servers onderbrengen in een cluster. Bij Windows 2000 (advanced server/datacenter) is dit opgeschroefd naar maximaal 4 nodes in een cluster.
Clustering van Windows server 2003 is alleen mogelijk met de enterprise of datacenter edition van Windows server 2003. De applicaties die men gaat verdelen
over de nodes dienen "cluster aware" te zijn. Elke cluster node zal dan een deel van de client requests uitvoeren. Bij cluster aware applicaties wordt de workload verdeeld
over de verschillende nodes (loadbalancing). Applicaties die "cluster aware" zijn worden binnen Microsoft aangeduid met enterprise edition. Applicaties die niet cluster
aware zijn draaien op slechts één node. Hier kan men een failover scenario toepassen om de beschikbaarheid te verhogen.
De relatie van clustering met TCO
In het artikel over TCO wordt een directe relatie gelegd met de downtime van een systeem. De downtime heeft een grote inpact op de Total Cost of Ownership. Met
name bij kritische systemen kunnen de kosten van het niet beschikbaar zijn behoorlijk oplopen. Clustering, failover en datareplicatie kunnen de beschikbaarheid van een kritisch systeem aanzienlijk verbeteren.
Server Clustering en disaster recovery
Zodra men hoge beschikbaarheid wil realiseren in combinatie met een zogeheten co-locatie. Dan dient u op uw tellen te passen. Microsoft Clustering wordt een erg
kostbare oplossing als u een zogeheten streched cluster wil gaan toepassen. Een streched cluster is een cluster waarbij één node op een andere locatie staat. Dit
scenario wordt vaak toegepast bij de implementatie van een disaster recovery plan.
De alternatieven van een Microsoft Server Cluster
In de praktijk kan een Microsoft server cluster een behoorlijk kostbare voorziening zijn. De kosten worden o.a. bepaald door de enterprise licenties, shared disk space (SAN) en de implementatie / onderhoud van Windows Server Cluster. Kosten
kunnen worden gereduceerd door bijvoorbeeld iSCSI toe te passen. Er zijn verder diverse alternatieven voor Microsoft Server Clustering waarbij de kosten aanzienlijk
lager liggen en waarbij toch een hoge beschikbaarheid kan worden gegarandeerd.
Eén van de alternatieven betreft de oplossingen van Neverfail. Neverfail maakt het mogelijk om in een aantal situaties de kosten van een Micrososft Server Cluster
terug te brengen tot slechts 20% van de totale kosten. Er zijn diverse alternatieven beschikbaar. Het beste alternatief is afhankelijk van uw situatie.
Indien u interesse heeft in een overzicht van de mogelijkheden van high availability,
clustering en disaster recovery voor Windows servers, neem dan contact met ons op.
|