PDA

Bekijk Volledige Versie : Website op 2 shared accounts? Voor 100% uptime



nlrobert
18/08/05, 22:44
Ik vroeg mij af of het mogelijk is om een website te laten draaien op 2 verschillende shared hosting accounts bij 2 verschillende aanbieders.?

Hij zou normaal altijd naar Hoster A moeten gaan, maar als Hoster A down is, zou men automatisch terecht moeten komen op Hoster B.

Mirroring van de bestanden/data is niet het grootste probleem, dat kan denk ik grotendeels handmatig en door middel van bijvoorbeeld cronjobs (het is geen grote site, en ook heel weinig input van bezoekers).

Kan iemand mij vertellen of dit mogelijk is, en zo ja, hoe je dit het beste zou kunnen realiseren? Eigen servers zijn voorlopig nog geen optie i.v.m. kosten.

Bij voorbaat dank,

Robert

nlrobert
18/08/05, 23:02
Ik heb nog even zitten denken, is dit ook mogelijk door mijn domeinnaam (geregistreerd bij Hoster A), de tweede nameserver te veranderen naar een adres van Hoster B? Zou het doorschakelen dan meteen werken?

Of zijn nameservers daar niet voor bedoeld?

xserve
18/08/05, 23:59
Met nameservers kun je beide servers als record opgeven. Dan zal de gebruiker random naar de één en de ander worden gestuurd. Maar wanneer nummer 1 down is worden er als nog gebruikers naar deze server verwezen. Als ik het goed heb tenminste.

ProLiSo
19/08/05, 00:02
Het gaat via het zogenaamde "round-robin" techniek in DNS maar dat betekent dat je je DNS servers op gescheiden geografische lokatie moet hebben anders werkt het niet wanneer host A down is (DNS moet altijd bereikbaar zijn)
dns1.mydomain.nl in Amsterdam
dns2.mydomain.nl in Rotterdam (of thuis)

beide records moeten dezelfde inhoud hebben en dan zou je met een volgende DNS record het kunnen configureren:

mydomain.nl IN A 1.1.1.1 (host A)
mydomain.nl IN A 2.2.2.2 (host B)

Wanneer 1.1.1.1 niet bereikbaar is dan wordt automatisch geschakeld naar 2.2.2.2

-Erik

nlrobert
19/08/05, 00:08
@ProLiSo: dan ga ik daar binnenkort m'n hoster maar eens mee lastig vallen plus een nieuwe hoster. Kan ik meteen z'n technische kennis testen.

Ik wil namelijk toch nog ergens een accountje afsluiten om als backup account te gebruiken, en als ik dat dan meteen kan combineren is het mooi meegenomen.

In ieder geval bedankt voor jullie reacties.

ju5t
19/08/05, 00:36
Met round robin gaat nog steeds een deel naar de server die down is.

nlrobert
19/08/05, 00:49
@getUP: is er dan een manier om te zorgen dat het wel helemaal goed werkt als 1 van de servers (iig de hoofdserver) down is?

Grsmlblm
19/08/05, 00:58
Zoals gezegd biedt DNS geen bescherming tegen het doorverwijzen naar een server die niet bereikbaar is. Dit kan wel met een load balancer (maar alsnog heb je dan een probleem als de load balancer down is).

Wat je wel kan doen is een zeer korte TTL instellen op je zones, en mocht een server offline gaan het A record wijzigen (evt. geautomatiseerd).

nlrobert
19/08/05, 01:06
@Grsmlblm: Even ter verduidelijking, ik ben puur een klant van webhosting bedrijven (ben zelf programmeur/webdesigner).

Klinkt allemaal heel mooi, maar ik vraag me af of webhosters dit toestaan aan klanten met een virtueel hostingpakket? Zal morgen maar eens even navragen bij ze en ze doorverwijzen naar de reacties hier.

XS-24
19/08/05, 01:49
Waarom niet, een klant is toch vrij om te doen wat hij wil met zijn domein??

MediaServe
19/08/05, 02:05
Jammer dat je voor een A record geen prioriteit kunt instellen, zoals bij een MX record. Dan was het vrij eenvoudig geweest :)

Het is mogelijk op DNS niveau, maar nooit voor 100% omdat je altijd nog met de cache van de provider zit.

Keenondots
19/08/05, 08:20
Met een korte TTL zal je in geval van down zijn wel wat kunnen bereiken.

Je komt in elk geval niet door de DNS check van SIDN heen, met inhoudelijk verschillende zones (en in elk geval een andere serial).

Groter probleem is dit:

Omdat je zo'n korte TTL nodig hebt, zullen clients regelmatig de nameserver vragen waar ze naar toe moeten. Binnen één bezoek komen ze dus wellicht 'n keer op server A en 'n keer op server B. Als je gebruik maakt van sessions of andere server-side informatie per bezoek werkt je app niet meer.

Goede load balancing en/of failover vereist meer dan de standaard protocollen (DNS) en 2 webservers.

froggie
19/08/05, 09:07
De oplossing voor dit probleem zou je kunnen zoeken in een http proxy. Die kan aan de hand van een soort heartbeat van beide servers bepalen waar hij de client naar toe stuurt. Maar om het goed te doen moet je die proxy ook dubbel uitvoeren, anders heb je nog steeds een single point of failure.

Kortom: het is niet zo makkelijk als het lijkt en wil je het goed doen dan zul je extra hardware/software moeten inzetten. Is het geen idee om een goede, eventueel wat duurdere host uit te zoeken die een goed reputatie heeft op het gebied van uptime?

Je moet het huisje bij het schuurtje laten in dit geval. Wanneer de 99% uptime die sommige providers garanderen niet genoeg is dan zul je diep(er) in de buidel moeten tasten.

Wido
19/08/05, 10:20
Houdt er rekening mee, 100% uptime is niet mogelijk (In praktijk).

Als bijvoorbeeld PHP ge-update wordt moet de webservers restarten en dan heb je al geen 100% uptime meer, je bent dan 1 sec down.

Ik denk dat je jezelf alleen maar in complexe situaties brengt door bij twee providers aan de slag te gaan en met DNS te gaan stoeien.

Want wat als alleen Apache crashed en ns1 nog wel blijft draaien?

CharlieRoot
19/08/05, 10:47
Want wat als alleen Apache crashed en ns1 nog wel blijft draaien?
Mee eens, maar toch heb je een gevoel van zekerheid als je 2 servers draait. Veel klanten doen het alleen om het gevoel, niet het uiteinderlijke resultaat.

Keenondots
19/08/05, 10:58
Origineel geplaatst door CharlieRoot

Mee eens, maar toch heb je een gevoel van zekerheid als je 2 servers draait. Veel klanten doen het alleen om het gevoel, niet het uiteinderlijke resultaat.

Nou dat gevoel is direct weg als het een keer misgaat en je 'failover' blijkt compleet niet te werken.

Daarnaast heb ik geen respect voor hosters die met dit soort houtje-touwtje oplossingen klanten een vals gevoel van zekerheid geven (en hier wellicht ook meer voor in rekening brengen)

Wido
19/08/05, 11:04
Ik denk dat hier het beste tot zijn recht komt:

2 routers
2 switches
2 loadbalancer
2 webservers

Zo alles is alles redundant, maar het kost wel wat.

nlrobert
19/08/05, 11:40
Dan laat ik het voorlopig maar zoals het is.

Misschien dat ik binnenkort voor een grote site maar eens ga kijken naar de optie van Wido. Maar is voorlopig niet nodig.

Bedankt voor de reacties allemaal.

xserve
20/08/05, 11:44
Je kunt dan natuurlijk ook kijken naar providers die zo'n setup al hebben en je dat kunnen aanbieden. Volgens mij levert Leaseweb zo'n setup als Wido voorsteld ook. Hoef je alleen twee servers neer te hangen. Maar dat is een tijd geleden dat ik daar dingen over gelezen heb bij hun. Weet niet hoe dat nu zit.

CharlieRoot
20/08/05, 12:13
Origineel geplaatst door Spookyfish


Nou dat gevoel is direct weg als het een keer misgaat en je 'failover' blijkt compleet niet te werken.

Daarnaast heb ik geen respect voor hosters die met dit soort houtje-touwtje oplossingen klanten een vals gevoel van zekerheid geven (en hier wellicht ook meer voor in rekening brengen) Ik zeg ook niet dat dit voor mij een oplossing zou zijn, maar we hebben klanten die toch (na tig keer uitleggen) voor deze oplossing kiezen. Het geeft ze een (vals?) gevoel van zekerheid.

Wido
20/08/05, 12:23
Origineel geplaatst door xserve
Je kunt dan natuurlijk ook kijken naar providers die zo'n setup al hebben en je dat kunnen aanbieden. Volgens mij levert Leaseweb zo'n setup als Wido voorsteld ook. Hoef je alleen twee servers neer te hangen. Maar dat is een tijd geleden dat ik daar dingen over gelezen heb bij hun. Weet niet hoe dat nu zit. Wij draaien zelf onze vhosting ook in zo'n setup. Alleen steekt het net een tikje anders in elkaar bij ons.

crazycoder
20/08/05, 14:26
Origineel geplaatst door Wido
Ik denk dat hier het beste tot zijn recht komt:

2 routers
2 switches
2 loadbalancer
2 webservers

Zo alles is alles redundant, maar het kost wel wat.
2 DC's ??

Graafmachines hebben soms iets met kabels :( die ze bij voorkeur op de verkeerde plaats raken.

Wido
20/08/05, 14:27
Origineel geplaatst door crazycoder

2 DC's ;-)

Graafmachines hebben soms iets met kabels :( Ja, maar dat gaat niet lekker werken vanwege het announcen van de IP's ;)

Tis wel mogelijk, maar dan wordt het grapje ineens een stuk duurder.

p4ubenl
27/08/05, 00:30
Denk dat je toch een serieus grote site moet hebben, wil je 100% ipv 99,98% die een goeie, updatende & fatsoenlijke hoster heeft..

Mvg. Rick

hostingpower
30/08/05, 07:18
Wij hebben momenteel CPanel en dnsonly op onze servers draaien.
Alle dnsrecords worden gesynchroniseerd naar elkaar (elke wijziging)
De ips die in de record staan, worden naar een CPanel server verwezen, als er dan een server down is kan ik het ip handmatig wijzigen in de dnsserver zodat de websites blijven draaien van de grotere klanten. Ook wordt de mail vastgehouden totdat de server weer online is. Zodra de server online komt verstuurd die server alle mail naar de server die oflline is geweest. Ook hebben wij die backupserver in een ander netwerk gezet om de downtime te beperken.

Alleen nu wil ik dat als een klant iets upload dat het automatisch gesynchroniseerd wordt naar de backup server. Hier was ik nog niet helemaal aan uit. Iemand nog een idee?

hostlogic.nl
31/08/05, 09:55
Over enkele maanden hebben wij onze shared hosting omgeving (bijna) uitgevoerd zoals Wido omschrijft. Omdat wij bij Leaseweb staan zijn de core-routers en switches al dubbel uitgevoerd. Voordeel van meerdere webservers met een load-balancer is dat we zo eenvoudig capaciteit kunnen uitbreiden en upgrades kunnen doen zonder downtime.

Helemaal 100% uptime is niet te doen, zeker niet op 1 lokatie. Onze mail en DNS hebben we daarom geografisch gescheiden, zodat deze bijna 100% beschikbaar zijn. Geografisch gescheiden webservers is volgens mij wel mogelijk, maar uiteindelijk moeten dan de load-balancers bij dezelfde provider staan ivm het kunnen overzetten van IP adressen en dat is dan weer een SPOF (Single Point of Failure). Daarbij zit je natuurlijk ook met je databases die je synchroon moet houden, om nog maar niet te spreken van je storage. KAN allemaal wel, maar wordt erg duur om er vervolgens 0,1% uptime mee te winnen.

Redundantie via DNS is NIET mogelijk. DNS is daar ook niet voor gemaakt. De TTL kun je wel zelf instellen, maar veel providers trekken zich daar niks van aan en dan duurt het toch nog 1 dag voor je wijzigingen gepropageert zijn. Doordat je afhankelijk bent van andere providers kun je hiermee dus geen betrouwbare redundantie realiseren.

MediaServe
31/08/05, 11:25
Redundantie via DNS is NIET mogelijk. DNS is daar ook niet voor gemaakt. De TTL kun je wel zelf instellen, maar veel providers trekken zich daar niks van aan en dan duurt het toch nog 1 dag voor je wijzigingen gepropageert zijn. Doordat je afhankelijk bent van andere providers kun je hiermee dus geen betrouwbare redundantie realiseren.Als je gaat kijken naar de kosten en de baten, dan kun je met een DNS oplossing best wat extra uptime behalen, zonder dat het veel extra geld kost. Het is inderdaad jammer dat veel providers niet naar de TTL en dergelijke kijken.

Wat misschien leuk zou zijn, is een tweede server die iedere seconde kijkt of de eerste server nog wel draait. Als die eerste dan niet meer draait zou de tweede direct de IP adressen moeten overnemen. Als je dan het netwerk 100% redundant hebt uitgevoerd, dan zit je bijna aan 100% theoretische uptime :)

Omdat je dan parallel werkt, heb je geen extra schakel in de configuratie.

hostlogic.nl
31/08/05, 21:22
Euhm, wat jij omschrijft bestaat al lang voor Linux: http://www.linux-ha.org/

De overname van IP adressen kost tijd, dus je gebruikers merken het wel. Maar je uptime komt inderdaad dichter bij de 100%.

MediaServe
31/08/05, 22:52
Origineel geplaatst door hostlogic.nl
Euhm, wat jij omschrijft bestaat al lang voor Linux: http://www.linux-ha.org/

De overname van IP adressen kost tijd, dus je gebruikers merken het wel. Maar je uptime komt inderdaad dichter bij de 100%. Leuk project, ken ik nog niet niet :) Dat overnemen van de IP adressen zal toch niet meer dan een paar seconde duren neem ik aan?

hostlogic.nl
01/09/05, 07:24
De tijd zit 'm zowel in de detectie en in de overname. Je kunt met deze techniek ook twee adapters in 1 machine inbouwen en zo een adapter-failure opvangen. Als je echter zonder onderbreking een adapter-failure wilt opvangen zul je twee adapters moeten trunken. Je switch moet dat dan ook aankunnen. Maar dit werkt dan weer niet over meerdere machines. Hier komt dan een load-balancer in-the-picture, die kan nieuwe verbindingen direct naar een andere server omleiden in geval van een server storing.