Toon posts:

Apache op Loadbalancing W2k3 cluster

Pagina: 1
Acties:

Verwijderd

Topicstarter
We hebben hier een loadbalancing cluster van 2 Windows 2003 standard servers.

We hebben hier een apache/PHP website op draaien die vanuit de DMZ verbinding maakt met een MySQL database in de trusted zone.

Website werkt perfect op beide nodes. Als we 1 server uitzetten neemt de ander netjes de hele load voor zijn rekening. Maar als van 1 van beide nodes alleen de webserver stopt of crasht dan blijft het cluster gewoon lekker loadbalancen. Dit betekent dus dat dan de helft van de klanten niet op de website komt.

Iemand enig idee wat hier aan te doen is?

Verwijderd

Er zal door de cluster wel gepingd worden naar de server. Hieruit maakt deze op of dat de server nog online is. En dat klopt als alleen Apache crashed.

Je zou op de webservers een script kunnen laten draaien wat iedere x minuten controleerd of dat de webserver nog draait en zo niet de service te herstarten (of de hele server te herstarten)

  • McMiGHtY
  • Registratie: December 1999
  • Laatst online: 18-02 10:48

McMiGHtY

- burp -

Voor zover ik weet kan 2k3 standard geen clustering. Enterprise daar in tegen wel.
Hoe heb je je clustering draaien/geconfigureerd?

NEW - Het Grote - 2026 Tweakers Social Ride- Topic!


  • paulhekje
  • Registratie: Maart 2001
  • Laatst online: 25-01 15:50
inderdaad NLB ≠ clustering

Bij Network Load Balancing wordt alleen gekeken of de andere server met de geconfigureerde poorten up is. Bij clustering wordt naar status van services gekeken.
Hoe is je load balancing geconfigureerd?

|=|=|=||=|=|=||=|=|=| http://www.vanwijck.com |=|=|=||=|=|=||=|=|=||=|=|=||=|=|=||=|=|=||=|=|=|


  • Rac-On
  • Registratie: November 2003
  • Niet online
Op wat voor manier heb je de loadbalance geregeld? Zelf heb ik een router die gewoon kijkt of mijn apache reageert op de betreffende poort. Is dit niet het geval, dan stuurt ie het door naar de andere server.

Kijk dus op je loadbalancer is geregeld met network connectivity of met conectivity op poort 80 specifiek (of welke poort je apache dan ook draait). Het lijkt er op dat jij de eerste variant gebruikt.

doet niet aan icons, usertitels of signatures


  • Equator
  • Registratie: April 2001
  • Laatst online: 12:55

Equator

Crew Council

#whisky #barista

Als apache als service draait, kan je bij een crash instellen dat hij de server reboot.
Op NLB wordt de load overgenomen door de andere node tijdens de reboot, en na het booten is je nlb cluster weer up.

Verwijderd

Topicstarter
Sorry voor de verwarring van mijn term NLB cluster maar het is toch echt een goede term. Ik weet ook wat, de in jullie ogen, echt clusters zijn want die heb ik hier namelijk ook staan. (active/passive en active/active)
Maar voor de beterweterjes onder ons: start de NLB manager op een 2003 bak eens. het eerste wat je ziet staan boven aan het overzicht van je NLB's is: Network Load Balancing Clusters.

Cluster is niets meer dan dan het engelse woord voor bundel.

We hebben hier dus 2 windows 2003 servers als een NLB cluster draaien. We gebruiken geen hardware loadbalancer.

Op beide servers is apache zo geconfigureerd dat na 1 crash van Apache de service opnieuw gestart wordt en na 2 crashes binnen 1 dag wordt de server opnieuw gestart.

Het is nu 2 keer voorgekomen dat apache niet echt crasht maar de website niet meer werkt, er blijft dan 1 of ander proces binnen Apache hangen. dus de service staat nog steeds op "started". Dan hebben we dus het probleem dat de helft van de bezoekers op een blanco site komt.


het is dus zo:

code:
1
2
3
4
5
6
7
8
9
                                        _______
                                  _____| SRV1  |
                                 |     |_______|
 ___        ______          _____|___     
|www|------|  DMZ |--------| switch  | 
|___|      |______|        |_________|  
                                 |      _______
                                 |_____| SRV2  |
                                       |_______|


Beide servers hebben 1 vast IP-adres en een geclusterd IP. En beide server gaan via de trusted zone op de firewall naar de MySQL database.

[ Voor 89% gewijzigd door Verwijderd op 11-06-2004 16:21 ]


  • Rac-On
  • Registratie: November 2003
  • Niet online
excuus, ik was er van uit gegaan dat je met loadbalancer hetzelfde bedoelde als dat ik gebruik.

Anyway, ik denk dat het probleem is dat apache niet gemaakt is voor windows, en dat de service manager/NLB niet merkt datie dood gaat. Hoe stom het ook klinkt (ben een linux fan voor dit soort geintjes) is het overstappen naar iis wellicht een oplossing, maar ik weet niet of je dit wilt?

De vraag is hoe je zou kunnen detecteren dat apache niet meer draait. Is het zo dat de mensen een page not found krijgen? (oftewel, dat de poort helemaal dicht is) of kunnen ze wel connecten op poort 80 maar krijgen ze gewoon niks terug? Het eerste is namelijk makkelijker te detecteren dat het tweede.

doet niet aan icons, usertitels of signatures


Verwijderd

Topicstarter
rac-on schreef op 11 juni 2004 @ 16:28:
excuus, ik was er van uit gegaan dat je met loadbalancer hetzelfde bedoelde als dat ik gebruik.

Anyway, ik denk dat het probleem is dat apache niet gemaakt is voor windows, en dat de service manager/NLB niet merkt datie dood gaat. Hoe stom het ook klinkt (ben een linux fan voor dit soort geintjes) is het overstappen naar iis wellicht een oplossing, maar ik weet niet of je dit wilt?

De vraag is hoe je zou kunnen detecteren dat apache niet meer draait. Is het zo dat de mensen een page not found krijgen? (oftewel, dat de poort helemaal dicht is) of kunnen ze wel connecten op poort 80 maar krijgen ze gewoon niks terug? Het eerste is namelijk makkelijker te detecteren dat het tweede.
Dat Apache niet optimaal is voor Windows is bekend. De reden dat we het zo doen is dat Apache gewoon veel sneller is met het afhandelen van requests. Pagina's komen veel laaaaaangzamer te voorschijn als de site op IIS draait. En professionele Linux kennis heb ik niet (alleen een beetje hobby kennis) dus ik vind het gevaarlijk om Linux in de produktie omgeving te zetten.

bezoekers krijgen inderdaad geen "page not found" sterker nog, de frames komen te voorschijn maar het "main" venster wat helemaal gebasseerd is op PHP/APACHE/MYSQL komt niet meer te voorschijn. (blijft blanko)

Terwijl de andere server gewoon alles blijft doen. Dus het lijkt erop dat de koppeling tussen apache/PHP of PHP/mysql hangt.

  • Rac-On
  • Registratie: November 2003
  • Niet online
Uiteraard werkt apache beter dan iis :p (hele gevaarlijke opmerking) maar laten we daar niet over discuseren. Het nare van je situatie is dat je apache (de service opzich) het nog wel doet en wel feedback teruggeeft. Het is daardoor nauwelijks te controleren voor Windows (of een ander os) of het nog wel of niet draait. Kan je in je apache/mysql logs misschien vinden waar het fout gaat? Ik denk namelijk dat je beter je tijd kunt steken in het oplossen van het probleem dan het fixen van je Loadbalance... Je moet namelijk ergens kunnen detecteren dat het fout gaat, wil je NLB actie kunnen ondernemen....

doet niet aan icons, usertitels of signatures

Pagina: 1