PDA

Bekijk Volledige Versie : Webservers inrichten (backup/fallback etc)



Serve-xs
09/02/07, 16:42
Beste,


A) Ik wil 2 webservers aanschaffen en deze alsvolgt laten werken. Het lijkt mij een standaard opstelling maar toch:

web01: (ns1 / http / sql / php / ftp)
web02: (ns2 / http / sql / php)

B) Beide servers in een ander DC en een ander netwerk om storingen aan netwerk/stroomnet te voorkomen. Deze zou ik graag om +- 4:00 laten backuppen van web01 -> web02 (websites/databases).

C) De nameservers van elk domein instellen op ns1 en ns2 die beide in een ander netwerk staan zoals eerder aangegeven. Mocht web01 offline gaan door storing wil ik dat de websites probleemloos verder draaien op web02.

D) Nu was ik nog aan het denken om een loadbalancer te gebruiken om deze servers te laten controlleren en eventueel te switches mocht er eentje hoge load hebben (is dit mogelijk).

Nu vraag ik me af of dit eigenlijk wel mogelijk is wat ik van plan ben.. Kan iemand me hier antwoord op geven?

Alvast bedankt!

dennis0162
09/02/07, 17:19
web01: (ns1 / http / sql / php / ftp)
web02: (ns2 / http / sql / php)

Dit gaat werken heb het gistere getest.
Met loadbalancers heb ik geen ervaring.

Serve-xs
09/02/07, 17:24
Weet je misschien ook iets van het verdere verhaal (backup/fallback) gedeelte dat ik heb geschreven?

Jovana
09/02/07, 17:38
Dit ligt geheel aan de situatie.
Je kunt niet zomaar alles gaan backuppen en dan overzetten. 4 uur gegevens missen kan voor een webwinkel gewoon problemen opleveren.

Sander-
09/02/07, 17:43
Backup fallback verhaal kan prima, zelfs met elk controlepaneel. Echter zodra jij Active-active (dus met load-balancer) wilt gaan werken kan dat niet. Dan zul je zonder controlpanel moeten gaan werken en zul je moeten zorgen dat de servers in het zelffde netwerk draaien om zo het primaire IP over te kunnen nemen. Daarnaast ebtekend dit dat je continu moet synnchen, of eigenlijk vanuit een aparte NAS/SAN backend moet gaan draaien.

Jovana
09/02/07, 18:08
Wat overigens ook vaak vergeten word is dat met een load balancer je alsnog een single point of failure hebt.
Als de load balancer het begeeft zal het geheel alsnog niet bereikbaar zijn.

dennis0162
09/02/07, 18:56
Om het uur back-up'en naar de ns2 en dan als ns1 uitvalt draait hij op een back-up van 1 uur geleden door.

Kenneth
09/02/07, 19:40
Ja, maar je moet nog met meer dingen rekening houden, zoals Jovana al aangaf, gegevens missen kan een ramp zijn voor sommige bedrijven (stel er besteld iemand een pc van 1.5k alleen door downtime is bestelling weg?)

Je zal als web01 weer online is alle gegevens goed moeten synce..

dennis0162
10/02/07, 17:24
Ja, dat is klote als die gegevens weg zijn. Maar je kan nooit een fallback hebben die up to date is met de bestanden/gegevens. Ja kan wel elke minuut een back-up maken. Weet niet of er een andere manier is, dan zou ik die ook wel willen weten:)

wutr
10/02/07, 19:25
Een optie zou zijn om beide webservers (als ze beide worden gebruikt) de data die ze in de locale SQL database stoppen gelijk ook naar de andere server over te laten dragen. Dus eerst de lokale en dan de externe database schrijven. Beide servers beschikken zo steeds over dezelfde data.

dennis0162
11/02/07, 14:32
Dat kan maar dan zit je nog met de bestanden op ftp. Die om het uur laten back-up'en, maar sommige klanten die moeten dan sommige dingen als nog opnieuw Uploaden. En dat vinden ze vaak niet erg plezierig.

Jurian
11/02/07, 15:03
Je hebt ook nog het probleem dat de DNS gecached wordt, dus het zal minstens een paar minuten duren voor de 2e server ook daadwerkelijk gebruikt wordt. In de meeste gevallen zal dit echter al snel meer dan een paar uur gaan duren.

Als high-availability je doel is, dan moet je (imho) beginnen met een cluster van servers in 1 datacenter, later (lees: als je budget het toelaat) uitbreiden met een zelfde cluster in een 2e datacenter. Verder moet je gebruik maken van fileservers op beide locaties die continue synchroniseren, automatisch, bijvoorbeeld AFS. Dan krijg je de database nog, die zal ook op beide locaties gesynced moeten worden, continue. Met MySQL, wat de meeste klanten toch zullen willen gebruiken, is dit gewoon nog steeds extreem lastig om goed te doen. Ook zal je op beide locaties een loadbalancer moeten hebben, die de request eventueel ook naar de andere locatie kan sturen, ipv naar z'n lokale cluster.

Om dit GOED te doen, is echt heel duur, erg moeilijk en vergt veel onderhoud. Hoe ingewikkelder het systeem, hoe meer d'r mis zal gaan. Denk er dus heel erg goed over na voordat je zo een systeem opzet! :)

dennis0162
11/02/07, 15:17
Je kunt beter denk ik gewoon een back-up server in het zelfde rack hangen die elk uur de data overpompt via een extra netwerk kabel, rechtstreeks naar de andere server.

Serve-xs
11/02/07, 17:05
Je kunt beter denk ik gewoon een back-up server in het zelfde rack hangen die elk uur de data overpompt via een extra netwerk kabel, rechtstreeks naar de andere server.

Dat is juist het probleem. Als het netwerk of datacenter stroomstoring heeft dan heb je nog altijd niks aan die backup server :)

Maar Misschien is dit wel het beste om te doen op dit moment. Eventueel een fallback dns ergens en een UPS voor de korte stroomstoringen.

Jurian
11/02/07, 19:00
De kans dat een systeem dat versprijd is over meerdere locaties, kapot gaat op een totaal onverwachtte manier, is veel en veel groter dan dat je datacenter een stroomstoring heeft.

Wat netwerk storingen betreft, die worden bij de betere colo providers sneller opgelost dan dat je zelf de zooi kan omzetten (al dan niet automatisch) naar een andere server op een andere locatie.

Een simpele server als 2e (of 3e) dns server en eventueel fallback MX, evenals een status pagina voor storingen, is absoluut een goed idee. Voor een paar tientjes in de maand kan je makkelijk 1U colo ruimte huren met, zeg 50 GB/maand verkeer, da's meer dan genoeg voor een DNS servertje en bespaart je een hele hoop ellende en nachtmerries :p

dennis0162
11/02/07, 22:45
Dat is inderdaad de beste oplossing.

vBoxx
12/02/07, 02:27
Als je 2 servers in een ander DC neerzet, waar zet je dan de loadbalancer? En nog iets kost het niet heel veel geld / Dataverkeer als die servers de heletijd staante syncen onderling?

dennis0162
12/02/07, 08:53
Kost heel veel dataverkeer & geld. loadbalancer in alle 2 de dc's

Easewood
12/02/07, 09:44
Je kunt een end komen met rsync en mysql replication in combinatie met round-robin DNS. Niet ideaal maar wel haalbaar. Je hebt wel een 3e machine nodig die de RR dns entries kan (en mag) aanpassen op het moment dat A of B down is.

dennis0162
12/02/07, 10:15
Je kan ook eerst een test opstelling maken op 1 of 2 pc's thuis met virtueel pc. Zo kan je alles testen. En daarna instellen in het dc.