/ Forside / Teknologi / Hardware / Server / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Server
#NavnPoint
dk 1398
EXTERMINA.. 1330
webnoob 1267
o.v.n. 820
stone47 800
Klaudi 720
severino 580
granner01 580
rotw 500
10  Uffe29 470
Server setup???
Fra : Ukendt


Dato : 18-02-03 19:42

Hej NG,

Jeg har siddet og overvejet forskellige server setups...

Vi skal have følgende services kørende:

MySQL
Storage
Apache

Her er en af ideérne:

Server[0] Dual CPU
MySQL CPU1
Apache CPU2
Denne server har sine data liggende på Server[2]

Server[1] Dual CPU
MySQL CPU1
Apache CPU2
Denne server har sine data liggende på Server[2]

Server[2]
Storage

Eller

Server[0]
MySQL
Denne server har sine data liggende på Server[2]

Server[1]
MySQL
Denne server har sine data liggende på Server[2]

Server[2]
Storage

Server[3]
Apache
Denne server har sine data liggende på Server[2]

Server[4]
Apache
Denne server har sine data liggende på Server[2]

Hvad vil give den bedste performance?

Det der får mig til at tvivle er at MySQL kan køre uden om TCP/IP laget
og køre direkte gennem Linux...

--
Mvh.
René Madsen      ---   tlf. 64 73 35 45
Schultz Consult      ---   rene@REMOVEschultzconsult.com
Din IT Leverandør   ---   www.schultzconsult.com


 
 
Jesper Frank Nemholt (18-02-2003)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 18-02-03 20:47

"Schultz Consult - [René Madsen]" <rene@schultzconsult.com> wrote in message
news:3e527e66$0$148$edfadb0f@dtext01.news.tele.dk...
> Hej NG,
>
[clip]

Du skriver server 2 er storage. Ren storage i form af NAS eller SAN eller en
reel server med diske ?
Hvordan forbinder du storage til de andre 2 servere ?

MySQL bør have direkte & hurtig access til sine datafiler. Ikke noget med
NFS, SAMBA eller andet sjov. Det slår performance helt i stykker med mindre
at hele basen kan caches i RAM og der er få updates.
Principielt bør Apache også have hurtig access til sine filer, men det er
givetvis data der er mere statiske, fylder mindre og derfor often kan
caches.

Hvis det er SAN kan du gøre som du tænker på da hver maskine derved kan få
hurtig access til storage. NAS afhænger af hvordan du connecter. Jeg ville
ikke personligt køre noget som helst database over NFS, SAMBA o.lign.

Hvis hverken SAN eller reel NAS så ville jeg personligt foretrække et setup
med en på stor dual eller quad maskine til database server med lokal
storage.
Derved får du optimal disk performance på denne.
Hvis redundans kræves så 2. Hvordan du vil lave redundanse er op til dig.
MySQL kan strikkes sammen til at køre master/slave, men hvis du vil have
rigtig cluster løsning med begge noder aktive så skal du over i noget a la
Red Hat Advanced Server (RHAS) med shared storage (Jeg formoder vi snakker
x86). Bemærk at der er specifikke krav til hvilken type storage der kan
benyttes for at det fungerer. Bedst (men også dyrest er SAN), men du kan
også få SCSI controllere der opfylder kravene. Det primære er at SCSI
reservation fungerer og at controllerne i praksis tillader og fungerer hvis
man connecter mere end een HBA.
Du sætter så hver MySQL base op individuelt som en cluster service med
dedikeret storage og kan så distribuere disse services mellem de 2 database
noder. Hvis en af den brager ned flytter de services der kørte på den over
på den anden.
Jeg har aldrig testet RHAS men formoder at det virker. Det er kendt
teknologi og har fungeret på Tru64, Solaris, HP-UX o.s.v. i mange år.
Jeg har brugt det gennem flere år på Tru64 og Solaris (Veritas).
En anden form for clustering er den rene clustering, d.v.s. alle noder ser
det samme filsystem på samme tid og enhver opdatering fra en node bliver
registreret på alle noder. D.v.s. cache-coherent filsystem. Det er det du
finder i bl.a. TruCluster V5.
Vurderet ud fra dit database valg formoder jeg dog at dette er lidt udenfor
focus og økonomi. Desuden kan MySQL ikke rigtig udnytte dette
fornuftigt....dertil kræves Oracle 9i RAC.

Apache serverne ville jeg personligt sætte op i en DISA løsning, evt.
grupperet som solution-sets på minimum 2 i hver så du ikke fylder for meget
forskelligt på hver (det giver bindinger som senere vil ærgre dig, f.eks.
når en eller anden løsning kræver at du opgraderer Apache, PHP, whatever
mens en anden løsning på samme maskine ikke fungerer med andet end den
eksisterende version).
Alle servere i hvert solution set konfigureres så vidt muligt 100% ens
(mindre administration) og der placeres load-balancing foran alle som tager
sig af dels load-balancing samt failover. Du kan evt. lave en fattigmands
loadbalcing med DNS round-robin.
Alt afhængig af hvad Apache serverne laver så er det typisk OK med een meget
hurtig CPU og rigeligt med RAM. DISK I/O er som regel ikke alverden.
Personligt ville jeg ikke binde dem til database serverens storage men
forsøge at holde dem adskilt (evt. pushe med rsync/ftp) hvis der er filer
der skal opdateres fra centralt hold.
Ved at minimere bindingerne til blot MySQL data connection til basen kan du
derved også nemmere placere web serverne og databaser serveren i hver sin
firewall zone. Det er som regel uheldigt at have sin database server i samme
zone som de webservere der kan connectes til udefra.

M.h.t. cluster/DISA og redundans generelt. Det kan muligvis virke som
overkill til så få maskiner, men verden er således indrettet at før eller
siden, og når du mindst venter det, så går en eller anden komponent død, og
når det sker er det som regel for sent at tænke i redundans.
Diskene skal naturligvis spejles på database serveren. På
applikations-serverne kan du udnytte DISA ned n>=2 og køre hver server
non-redundt og istedet have redundansen ved at der altid er mindst 2 ens
servere.
Men nettet, firewall, database serveren, load-balancer o.s.v. kan også
fejle.
Ofte kan du uden alt for store meromkostninger sikre dig rimeligt godt ved
at tænke i redundans og mulige fejl i forbindelse med designet af løsningen.
Ikke blot harwaren, men i særdeleshed også softwaren der skal køre derpå.

/Jesper



Ukendt (18-02-2003)
Kommentar
Fra : Ukendt


Dato : 18-02-03 22:36

Jesper Frank Nemholt wrote:
> Du skriver server 2 er storage. Ren storage i form af NAS eller SAN eller en
> reel server med diske ?
> Hvordan forbinder du storage til de andre 2 servere ?

Pt. er storage og MySQL på samme maskine. Det samme gælder Apache.

> MySQL bør have direkte & hurtig access til sine datafiler. Ikke noget med
> NFS, SAMBA eller andet sjov. Det slår performance helt i stykker med mindre
> at hele basen kan caches i RAM og der er få updates.

Det bliver så MySQL servere med storage på egen HDD...

> Principielt bør Apache også have hurtig access til sine filer, men det er
> givetvis data der er mere statiske, fylder mindre og derfor often kan
> caches.
>
> Hvis det er SAN kan du gøre som du tænker på da hver maskine derved kan få
> hurtig access til storage. NAS afhænger af hvordan du connecter. Jeg ville
> ikke personligt køre noget som helst database over NFS, SAMBA o.lign.

Desværre er det ikke et SAN eller NAS, men "bare" en HP lp1000r, RAID 5,
hotswap

> Men nettet, firewall, database serveren, load-balancer o.s.v. kan også
> fejle.

Netværk varetages af 2 x cisco 2924 begge linket op til routeren.


--
Mvh.
René Madsen --- tlf. 64 73 35 45
Schultz Consult --- rene@REMOVEschultzconsult.com
Din IT Leverandør --- www.schultzconsult.com


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste