[2003] NLB + MySQL

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

  • Zoetjuh
  • Registratie: Oktober 2001
  • Laatst online: 10-01-2024
Hoi,

Binnenkort gaan wij een leuk web-project de wereld in helpen. Aangezien we vanuit hier veel meer websites willen gaan hosten in de toekomst, willen we de hardware en onderliggende structuur natuurlijk in 1x goed aanpakken.

Het gehele verhaal komt straks gezellig in Telecity te staan, waar we nu een losse HP DL140 hebben draaien voor een klant (noem ik ff KL1) welke aangesloten is op onze Cisco 2950 Catalyst Switch. Firewalling wordt door de DL140 zelf nog gedaan.

Wat wil ik bereiken?
Eigenlijk wil ik heel *simpel* een NLB (Network Load Balanced Cluster) waarin twee Windows 2003 Servers komen te staan die beide de websites moeten kunnen gaan tonen aan de wereld. De websites zullen veelal ook gebruik maken van MySQL (voor het huidige project zal dat voor 90% bestaan uit SELECT queries)

Hoe zie ik het nu voor ogen
Na een hoop leeswerk over clustering, NLB, NAS/SANs etc etc, denk ik dat ik het volgende wil:

2x MS Windows 2003 Server (in een NLB)
= Bak: HP ProLiant DL140 met 2x iXeon 2,8GHz
= Licentie middels SLPA
= Beide draaien gewoon IIS, PHP en MySQL

1x HP StorageWorks 1200 (NAS)
= 1 TB aan opslag
= Windows 2003 StorageServer

1x Sony AIT-3 TapeLibrary
= 800GB ~2TB aan opslag

1x Cisco 1841 Router
= Zal fungeren als "de" firewall tussen klanten/internet/NAS
= Nieuw model welke op "wire-speed" werkt
= Ondersteund VLANs en VLAN-routing

Mijn idee zou zijn om ze op de volgende manier neer te zetten:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
                         (Internet)
                              ||
                              ||
     [     Cisco 1841 + 4p 100MBit WIC + 1GB poort      ]
     [   100     100      100     100     -     1000    ]
         /         \                              |
        /           \                             |
  [  VL1 (100)  VL2 (100)  VL3  VLx         ]     |
  [ Cisco Catalyst Swith + non routing VLAN ]     |                     
  [  VL1 (100)  VL2 (100)                   ]     |
     /   \          \                             |
    /     \          \                            |
.---------------.     \                           |
| [W2K3] [W2K3] |    [KL1]                      [ NAS ]
.---------------.                                 |
                                                [ TLB ]


De hersenbrekers:
- Of we hiermee meer losse servers van klanten kwijt kunnen en die gebruik kunnen maken van onze NAS/firewalling
- Of we voldoende speed tussen de klanten/clusters en de NAS krijgen
- Twijfel: MySQL database op onze W2K3-servers of op de NAS?
- Of we onze W2K3 bakken netjes kunnen laten NLBen; ofwel:
= Dat ze de webaanvragen verdelen
= Dat MySQL-queries ook verdeeld; maar kan dit zomaar?
[ Kan ik beide MySQL-servers data van de NAS laten gebruiken?
[ Moet ik de MySQL-servers in een cluster gooien? Master/Master?
[ Hoe zit het met evt. locking door niet-SELECT queries?

Ik hoop dat iemand hier misschien met een zaklamp op zou kunnen schijnen...

Thanks!

[ Voor 2% gewijzigd door Zoetjuh op 23-11-2004 01:21 . Reden: (typo) ]


  • Zoetjuh
  • Registratie: Oktober 2001
  • Laatst online: 10-01-2024
Iemand? :(

(I promise not to kick this topic again)

  • Firefox
  • Registratie: Juni 1999
  • Laatst online: 08-09-2024

Firefox

Een Vurig Vosje

NLB is niet bedoeld voor dynamische data storage. Wat is NLB? NLB geef je 2 of meer nodes een gezamelijk IP, waarbij de gegevens worden verwerkt door de machine die het minste belast is. Dien tengevolge MOET de inrichting van de machines, EN de data moet identiek zijn.

SAN/NAS storages zijn hier niet de oplossing, omdat de database files gelocked worden. Er kunnen dus niet 2 MySQL instances gekoppeld worden aan dezelfde database file. Ik betwijfel daarnaast of het gaat werken om de 2 instances goed cq snelgenoeg te syncen.

Clusteren van MySQL servers zou dan moeten via MS Clusterserver (da's heel wat anders dan NLB), en da's niet zo makkelijk, vereist dure hardware, en is eerder schaalbaar in failover dan in performance.

Wat in jouw geval realistischer is, is de setup om 2 front servers met IIS en PHP te voorzien, die naar buiten toe te load balancen, en vervolgens een back-end server met een MySQL database op te zetten waar de queries naar connecten. Bovendien is een Dedicated MySQL server uitSTEKEND instaat om 2 en afhankelijk van de situatie, misschien zelfs wel 3 of meer frontend servers van connectivity te voorzien.

Better to have loved and lost then never loved at all... yeah right.


  • Zoetjuh
  • Registratie: Oktober 2001
  • Laatst online: 10-01-2024
Thanks, hier heb ik wat aan :)

Alleen, als ik het goed begrijp, zou ik dus nu eigenlijk ook 2 backend MySQL-servers in een cluster moeten douwen? Zo zou ik, wanneer we maar 1 MySQL server zouden hebben, kunnen voorkomen dat de frontend-webserver een probleem hebben wanneer die ene MySQL-server plat zou liggen..

Poeh.. wat een investeringen dit..

Verwijderd

ik draai het volgende voor een vrij grote boekingssite in nederland :

---------web01-----------
inet(NLB) ---------web02----------Mysql01 (Master - wegschrijven van boekingen , read/write)
---------web03----------Mysql02 (Slave - Voor query , read only)
----------Storage01(Site data)------>storage02 replication/backup


internet--|------LAN werkgever------------Mysql03 (Slave2 --- lokale slave voor management info)

Tot nu toe werkt het geweldig , een tv reclame aktie heeft deze setup makkelijk overleeft ;)...terinfo.

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 22:37

Koffie

Koffiebierbrouwer

Braaimeneer

Dank voor de info, maar dit topic is nou niet echt meer actueel .. 3 jaar later ;)

Tijd voor een nieuwe sig..

Pagina: 1

Dit topic is gesloten.