PDA

Bekijk Volledige Versie : website op 2 servers ?



superweb
20/01/07, 22:01
een website op 2 servers is dit mogenlijk?
en dan bedoel ik stel een hooftserver waar de site op staat valt uit, denk aan stroomstoring crash of iets dergelijks

dat dan server 2 waar dezelfde site op staat zijn taak over neemt zodat site(domein) niet ofline komt

Randy
20/01/07, 22:50
Ja, dat kan.
Kunt ook 'Rond Robin' DNS toepassen, dus 2 A-records op WWW, zodat die de bezoekers gaat verdelen (niet te verwarren met loadbalancen)

hostlogic.nl
21/01/07, 00:35
Daar zijn verschillende manieren voor om dat te doen.

De eenvoudigste (en traagste):
Zelf de website op een tweede server zetten en vervolgens in geval van storing op de hoofdserver het IP adres op de tweede server toevoegen. Dit vergt handmatige acties en is daarom niet aan te raden.

Minder eenvoudig (maar wel automatisch):
Linux-HA (HA=High Availability), waarmee je twee servers kunt configureren die elkaar continue monitoren. In geval van een storing neemt de overgebleven server de resources over en zo blijft je site dus in de lucht.

Load-balancing:
Twee servers die achter een loadbalancer hangen. Bezoekers van je website worden verdeelt over beide servers. De loadbalancer controleert continue of de beide servers nog wel werken. In geval van een storing komen de bezoekers alleen nog maar op de overgebleven server terecht. Voordelen zijn niet alleen een hoge beschikbaarheid maar ook een zeer schaalbare oplossing, als je meer capaciteit nodig hebt dan voeg je gewoon een server toe.

Ik denk dat je met het bovenstaande en google wel wat meer informatie kunt vinden.

MediaServe
21/01/07, 04:31
Ja, dat kan.
Kunt ook 'Rond Robin' DNS toepassen, dus 2 A-records op WWW, zodat die de bezoekers gaat verdelen (niet te verwarren met loadbalancen)

Round Robin is wel degelijk load balancing, je gaat er immers vanuit dat er steeds andere hosts worden gekozen en de load dus wordt verdeeld over de hosts. Round Robin heeft echter niets met redundancy te maken omdat je op DNS niveau niet kunt voorkomen dat een bezoeker op een server terecht komt die plat ligt. Als je load balancing met redundancy wilt dan zul je dus een load balancer moeten gebruiken.

Vergeet overigens niet dat de ingewikkeldste oplossingen de meeste kans op falen hebben ;)

crazycoder
21/01/07, 10:46
een website op 2 servers is dit mogenlijk?
en dan bedoel ik stel een hooftserver waar de site op staat valt uit, denk aan stroomstoring crash of iets dergelijks

dat dan server 2 waar dezelfde site op staat zijn taak over neemt zodat site(domein) niet ofline komt
Als je zoiets wil, denk dan aan clustering of loadbalancing.

Alhoewel.. dat eigenlijk ook alleen maar problemen met de server op kan vangen.. Je wil dus eigenlijk in meerdere datacenters, in verschillende gebieden (denk Amsterdam en Groningen oid), servers colocaten.

Je kan 100% uptime bereiken, maar je moet jezelf ernstig afvragen of je de kosten daarvoor wel wil betalen.

Mijn ervaring is dat je 100% uptime een heel eind kan benaderen door:
- een goed dc te kiezen met een goede colo leverancier. Dat zal misschien niet echt goedkoop zijn.. hou rekening met >eur 60 voor 1 x 1U..
- koop een deugdelijke server, bijv een HP met een supportpack waardoor HP verplicht wordt om binnen 4 uur on site te zijn.

Round robin is heel charmant maar kan, afhankelijk van je backoffice, een aantal nadelen hebben..

blaaat
21/01/07, 13:04
Round Robin is wel degelijk load balancing, je gaat er immers vanuit dat er steeds andere hosts worden gekozen en de load dus wordt verdeeld over de hosts. Round Robin heeft echter niets met redundancy te maken omdat je op DNS niveau niet kunt voorkomen dat een bezoeker op een server terecht komt die plat ligt. Als je load balancing met redundancy wilt dan zul je dus een load balancer moeten gebruiken.

Vergeet overigens niet dat de ingewikkeldste oplossingen de meeste kans op falen hebben ;)

Je zou toch op de dns servers telkens een check kunnen doen of de servers online zijn, en zo nee de A records van de platte servers uit je dns halen, met een lage TTL, beperk je de downtime dan wel.

superweb
21/01/07, 20:15
het is dus niet even snel en simpel gedaan maar ik zal kijken of ik uit de geoperde opties kan komen

iedergeval bedankt

Swiftway-UK
21/01/07, 20:29
Je zou toch op de dns servers telkens een check kunnen doen of de servers online zijn, en zo nee de A records van de platte servers uit je dns halen, met een lage TTL, beperk je de downtime dan wel.

De meeste access provider negeren de door jou DNS servers opgegeven TTL volledig.
Linux HA is al geroepen, prima oplossing
Load balancing is schaalbaar naar meerdere servers, ook mooie oplossing.

systemdeveloper
21/01/07, 20:34
Round Robin is wel degelijk load balancing, je gaat er immers vanuit dat er steeds andere hosts worden gekozen en de load dus wordt verdeeld over de hosts.

Huh? RR = LB ?
Met RR wordt er weliswaar telkens een ander ip geretourneerd, maar zodra een gebruiker dit eenmaail heeft wordt het gecached en alle volgende requests gaan dan naar de server met het ip dat als eerste is uitgegeven.
Dat is dus niet echt loadbalancen.

Jurian
21/01/07, 23:16
RR is inderdaad meer load-distributing dan load-balancing. De load wordt wel verdeeld, maar met balanceren heeft het totaal niets te maken.

Als iedereen op 't internet netjes naar de TTL van DNS records zou luisteren, zou je hier best een load-balancing systeem van kunnen maken, maar dat is nu gewoon onmogelijk. Round Robin is (imho) pas nuttig als je in meerdere datacenters een HA cluster hebt en het niet uitmaakt op welke cluster gebruikers terecht komen.

Thijssss
22/01/07, 01:16
RR is inderdaad meer load-distributing dan load-balancing. De load wordt wel verdeeld, maar met balanceren heeft het totaal niets te maken.

Als iedereen op 't internet netjes naar de TTL van DNS records zou luisteren, zou je hier best een load-balancing systeem van kunnen maken, maar dat is nu gewoon onmogelijk. Round Robin is (imho) pas nuttig als je in meerdere datacenters een HA cluster hebt en het niet uitmaakt op welke cluster gebruikers terecht komen.

Bedenk dan wel eventjes wat je hier onder 'load' verstaat.
Naar mijn idee doet RR hier niet aan omdat deze niet weet hoe zwaar de load op een systeem is. Je kan het connection-balancing noemen wellicht.
Verder gaat niks netjes op het Internet :rolleyes:

Als de ene uitvalt, neemt de andere het over.. dan raad ik ook aan dat er naar een HA oplossing gekeken word. Ik heb hier verder geen ervaring mee (ja, enkel in theorie) maar een heartbeat check tussen 2 servers op 2 verschillende lijnen (switches? zelfde netwerk om ip te kunnen overnemen?) in verschillende racks en niet op de zelfde power feed... dan ben je een goed eind op weg gok ik zo.

Er zijn BERGEN aan informatie te vinden over dit soort setups, dus google er eens op los.

MortyDot
22/01/07, 01:16
Ik ben met hetzelfde onderwerp/vraag bezig. Je steld hem alleen wat eerder ;-)

Na wat zoeken op google is load-balancer of Linux-HA denk ik het beste.

Maar hoe los je dit op met een site met database? stel Server a gaat onderuit of je verdeeld de bezoekers dan zullen die site(s) tog dezelfde data tot beschikking moeten hebben.

Het enige wat ik als oplossing dan weer zie is (nog) een extra opslag server... of een SAN/NAS systeem.

Hoe kun je dit het beste aanpakken dan?

hostlogic.nl
22/01/07, 06:34
Het probleem met een MySQL server kun je opvangen door deze ook dubbel uit te voeren. In MySQL kun je replicatie realiseren van een master naar een slave. Beiden bevatten dezelfde data, wijzigingen worden automatisch doorgegeven naar de slave.

Ook een storage server kun je dubbel uitvoeren. Dus niet alleen mirroring op disk nivo maar een volledige server mirroren. Hierin heb je heel veel mogelijkheden.

Denk ook aan een centrale userdatabase, je users moeten namelijk op meerdere servers aan kunnen loggen met hetzelfde wachtwoord.