PDA

Bekijk Volledige Versie : High Availability Server Nodig via Hardware oplossing.



ensermo
17/04/06, 02:38
Beste Medehosters,

Ik ben op zoek naar informatie over het creeren van een serverconfiguratie met High Availability. Het gaat erom dat data "in real time" op twee verschillende servers beschikbaar is. De hoofdserver moet ALTIJD alles regelen (http, mysql, bind, ssh etc) TENZIJ deze op de een of andere manier down is. (kernel panic, etc). Dan pas moet de tweede server ingeschakeld worden.

Het gaat dus niet om een Load Balancing systeem. (De load op de main servers is rond 0.5), maar echt om een realtime omschakkeling.

Om te starten zou ik eerst in een eigen netwerk dit willen hebben om te kijken hoe het werkt.

Ik zie veel informatie over LVM maar ben eigenlijk benieuwd naar harwarematige oplossingen of oplossingen met goed support. (Weinig tijd om zelf alles op te zetten).

Wie heeft hiermee ervaring? Ik heb zitten lezen over the F5 network producten en HP High Availability systemen maar wil eigenlijk weten wat voor andere mogelijkheden der zijn?

Om een idee te geven
Hoofdserver is een Dual CPU server met RAID5 SCSI oplossing.
Tweede server single CPU server standaard SATA RAID.
Beide servers hebben Gbit LAN en Externe SCSI (VHDCI) aansluiting.
Via rsync, (of andere methode) in realtime server 1 en 2 "mirroren"

Alleen ben ik nog niet uit hoe ik moet zorgen voor een "omschakeling" naar server 2 als server 1 niet "goed werkt"

Alle input is welkom. (Het liefst Hardwarematig en/of KISS ) ;)

bakkerl
17/04/06, 02:59
Vergeet je huidige server opslag. Syncroniseren van data om realtime over te schakelen zal niet haalbaar zijn. Alleen al de openfiles en nog niet weggeschreven data (mem-cache) heb je nog niet op de 2e machine staan. Daarnaast zou rsync elke seconden aangeroepen moeten worden (en klaar moeten zijn) en dan nog met je 1 seconde achterstand op de 2e machine.

Als je realtime wil kunnen overschakelen zul je moeten werken met een share storage oplossing. Zoals je het hier beschrijft zul je dan aan een SAN moeten denken. Dit in combinatie met een linux-HA (stonith). Voor je huidige servers houdt dat in dat je de hardware voor een deel overbodig zal zijn. Disk opslag gebruik je op de machines bijna niet meer, alleen om het systeem te booten. En er zal extra hardware gekocht moeten worden.


De meeste processen/applicaties kun je hiermee opvangen. HTTP, SSH, BIND.
Het vervelende zijn altijd de processen met openstaande files (MYSQL). Als de 'hoofdserver' plotseling stopt kunnen de openstaande files corrupt zijn en wordt het automatisch overnemen door de backup server lastiger. Hier zul je dan ook weer andere oplossingen voor moeten zoeken. Dit zou een mysql-cluster kunnen zijn, of een mysql met replicatie naar de backup server.

Maar wat voor oplossing je ook neemt, het zal altijd lastiger zijn dan KISS.

ensermo
17/04/06, 03:49
Hey bakkerl, Bedankt voor de uitleg.

Inderdaad was ik al achter dat rsync niet voor realtime te gebruiken is.

De hardware die ik noemde was een voorbeeld.
Even ervan uitgaand dat budget niet de grootste rol speelt maar wel een degelijke service nodig is. Ik wil dus richting High Availability Hosting.
Op de site van IBM lees ik het volgende. (Het is voor Lotus maar waarschijnlijk ook te gebruiken voor Hosting)
http://www-128.ibm.com/developerworks/lotus/library/edgehighavail/index.html#N100EC
Zo'n idee heb ik maar dan gericht op hosting.

Wat ik met afvraag bij LVM oplossing.
Als je http server uitvalt en je MySQL server blijft lopen. Dan heb je er toch niets aan? Alle moderne php scripts hebben beide nodig om te werken. Andersom kan je mooi scritpen dat als je MySQL server niet bereikbaar is je een "Tijdeljke storing pagina - MySQL niet bereikbaar" aangeeft. Maar dat is dus niet wat ik wil.

Of zie ik iets over het hoofd? Is bij LVM en linux-HA een "realtime" syncronisatie? Of maken ze allemaal gebruik van een centrale data opslag systeem?

Er van uitgaan dat ik de volgende servers op voorraad heb en extra budget heb om te investeren.
HP Proliants DL380G4 (max 6SCSI drives in RAID5 + externe SCSI aansluiting)
Mogelijk te gebruiken als NAS/SAN
HP Proliants DL360G4 (max 2SCSI/SATA Drives RAID1 + externe SCSI aansluiting)

Wat zou ik niet hoeven te gebruiken en naar welke oplossing zou ik kunnen kijken?

Sorry voor het aantal verschillende ideen door elkaar maar ik ben nu aan het brainstormen en dan komen heleboel ideeen/mogelijkheden op tafel.

wonko
17/04/06, 10:14
Als je softwarematig wil gaan, kan je drbd gebruiken voor het syncroniseren van de data tussen de twee machines. Goede ervaring mee. In combinatie met linux-ha kan je zo zeker een goede failover maken.

Apoc
17/04/06, 11:21
Als je slechts 2 servers wilt load balancen raadt ik www.linuxvirtualserver.org aan.

Als je op grotere schaal van start wilt gaan dan raadt ik een hardware matige load balancing oplossing aan van Zeus, maar dan praat je over aardig grote bedragen (terwijl linuxvirtualserver gratis is).

bakkerl
17/04/06, 11:29
Als je slechts 2 servers wilt load balancen raadt ik www.linuxvirtualserver.org aan.

Als je op grotere schaal van start wilt gaan dan raadt ik een hardware matige load balancing oplossing aan van Zeus, maar dan praat je over aardig grote bedragen (terwijl linuxvirtualserver gratis is).

Volgens mij ging het juist niet over de load balancing, maar over de failover.
En failover heeft heel andere eigenschappen dan load balancing.

LVS doet geheel niets aan de vraag stelling over hoe data synscroon te houden tussen verschillende machines.

svbeek
17/04/06, 11:56
Wij kunnen binnenkort een realtime hardwarematige failover oplossing aanbieden tegen een gunstige prijs.
We gebruiken hiervoor extreme networks hardware, die kan werken met een zogenaamde service check. Als voorbeeld neem ik een webserver: hierop staat een scriptje wat bij goed functioneren de text "ok" terug geeft. De loadbalancer vraagt elke x seconden dit scriptje op, en op het moment dat er bijv. 3x achter elkaar geen "ok" is teruggestuurd, wordt de server als down gemarkeerd en zal al het dataverkeer naar de backup server worden gestuurd.

Op dit moment zijn we deze opstelling op kantoor aan het testen, mocht je interesse hebben neem zeker contact op.

bakkerl
17/04/06, 12:05
Wij kunnen binnenkort een realtime hardwarematige failover oplossing aanbieden tegen een gunstige prijs.
We gebruiken hiervoor extreme networks hardware, die kan werken met een zogenaamde service check. Als voorbeeld neem ik een webserver: hierop staat een scriptje wat bij goed functioneren de text "ok" terug geeft. De loadbalancer vraagt elke x seconden dit scriptje op, en op het moment dat er bijv. 3x achter elkaar geen "ok" is teruggestuurd, wordt de server als down gemarkeerd en zal al het dataverkeer naar de backup server worden gestuurd.

Op dit moment zijn we deze opstelling op kantoor aan het testen, mocht je interesse hebben neem zeker contact op.

Kun je ook enige uitleg geven over hoe je de data syncroon houdt tussen de omgevingen. En dan de data voor een webserver en een mysql. Dit zie ik niet in je verhaaltje terug komen :)

De oplossingen die ik hier heb, maken ook gebruik van een failover setup, al dan niet door een stukje loadbalancer hardware. Echter wordt er voor de synscronisatie van de data nog steeds een SAN gebruikt of via de cluster opties van de software zelf (zoals mysql).

Zo zijn er uiteindelijk meerdere oplossingen te bedenken. Afhankelijk van de benodigde services en budgetten.

ensermo
17/04/06, 13:16
Ik heb al contact opgenomen met F5, Coyote en Cisco, maar sta zeker nog open voor nieuwe ideeen. (Via wat forums nog vragen gesteld waarvan ik wonderbaarlijk genoeg via 15 minuten reacties had van bedrijven)

Wat ik nog steeds niet helemaal begrijp (ook niet bij LVS) is hoe je de data tussen twee machines synchroon houd. Gaan ze er allemaal van uit dat je 1 opslag (NAS/SAN) server heb? Terwijl ik juist denk aan 1 hoofdserver (high end) en 1 backupserver die het overneemt "just in case".

svbeek
17/04/06, 14:05
Data synchroon houden is geen vereiste. Als je een nas of san gebruikt 'staat' de data maar op 1 plek. De server die op dat moment actief is gebruikt deze data, de ander doet er niets mee.

Wil je geen nas of san gebruiken, dan is het een optie (zoals al genoemd) om drbd te gebruiken. De data staat nu op beide servers, en wordt realtime gemirrord via een lan.

Wij kunnen beide opties aanbieden, de laatste is echter veel goedkoper.

ensermo
17/04/06, 15:27
Beste Svbeek,

Praat je nu over een hardwarematige oplossing of een softwarematige oplossing? Want zoals ik al gemeld had heb ik al wat hardware liggen.

En is implementatie en ondersteuning deel van het product? Of leveren jullie alleen een product?

Verder gaat het mij om 1 server redundant te maken. Hoeveel "nodes" of onderdelen zijn nodig?

bakkerl
17/04/06, 16:29
Ensermo,

Zoek je een oplossing welke je zelf kunt (gaan) implementeren, of zoek je een bedrijf die een kant en klare oplossing kan leveren?

ensermo
17/04/06, 16:53
Momenteel zit ik in de "brain storm" fase.

We kunnen waarschijnlijk zelf LVS/Linux-HA implementeren maar ik onderzoek wat voor andere oplossingen er zijn die misschien kant en klaar zijn, met ondersteuning, makkelijker te implementeren etc. Ook omdat we in principe CPanel willen gebruiken moet de oplossing die we zoeken compatible zijn hiermee.

Mark17
17/04/06, 21:19
Het mooiste voor jouw situatie lijkt mij een RAID-1 achtige oplossing wat betreft de data. Echter dan wel verspreid over de 2 servers, dit is mogelijk iets trager echter heb je dan altijd het laatste compleet opgeslagen bestand beschikbaar.

Dit is software matig verder te doen zodra iemand voor de bestanden een oplossing heeft (heartbeat->server 1 offline (of verkeerde reactie)?->server 2 neemt IP van server 1 over, vereist zijn wel 3 IP's voor de 2 servers samen wil je het simpel houden). Ik weet niet of dit met CPanel kan (niet getest). Tevens kun je dan bijvoorbeeld server 1 herstarten of uitzetten via EPC/APC.

Zodra er iets is voor de filestorage ga ik zoiets met DirectAdmin testen (hoe gaat bij het testen een server offline: netwerk kabel uit de switch halen/server uitzetten).

hostlogic.nl
17/04/06, 21:21
Voor een kleinschalige shared storage oplossing zou je twee iSCSI server in HA kunnen configureren. De actieve server mirrored de data op een fysieke disk en op een iSCSI disk van de passieve server. Bij een storing op de actieve server neemt de passieve server dmv Linux HA alles over. De storage is daar ook helemaal up to date. Uiteraard vergt dit nogal wat custom scripting ivm het verbreken en opnieuw opbouwen van de mirrors.

MySQL kun je beter op 2 afzonderlijke servers uitvoeren. Sinds versie 5.1 kan deze ook clustering aan (bij versie 5.0 alleen als de hele DB op beide nodes in het geheugen stond).

bakkerl
17/04/06, 21:32
MySQL kun je beter op 2 afzonderlijke servers uitvoeren. Sinds versie 5.1 kan deze ook clustering aan (bij versie 5.0 alleen als de hele DB op beide nodes in het geheugen stond).

Mysql-cluster wil je niet in combinatie een control panel.
als je cluster gebruikt _moet_ je de de NDB engine gebruiken en kun je geen MyISAM on InnoDB gebruiken. Dus geen full-text search of foreign keys (en nog wat nadelen). Dus ga jij je klanten dan allemaal maar dat ze NDB moeten gaan gebruiken. En dus elk standaard scriptje van internet om moet bouwen.

Daarnaast heb je voor mysql cluster minimaal 3 systemen nodig om het netjes te laten werken.


Voor een kleinschalige shared storage oplossing zou je twee iSCSI server in HA kunnen configureren. De actieve server mirrored de data op een fysieke disk en op een iSCSI disk van de passieve server.

Een SAN device kan zijn partities (fibre connect, of via iSCSI) al delen. Waarom zou je deze dan nog dubbel willen uitvoeren. Al blijf je natuurlijk doordenken waar het dubbel uitvoeren een keer op gaat houden.

Over het algemeen zijnn de kwaliteits SAN oplossingen al zo gegarandeerd dat men deze al niet eens meer dubbel uitvoeren (intern in het device wel, maar kwa apparaat niet).

ensermo
17/04/06, 22:42
@Mark17

Is RAID over verschillende servers mogelijk? Via SCSI (VHDCI) bijvoorbeeld?

@hostlogic.nl
Voor CPanel/andere control panels denk ik niet dat ik MySQL clustering kan gebruiken.

@bakkerl

Oke dus als ik het goed begrijp zou ik met de huidige hardware (HP DL380G4
6x Hot plug SCSI Drives met External SCSI (VHDCI)) kunnen gebruiken als SAN). ?

Om het nu wat beter te specificeren.
Wie/Hoe kan ik met huidige servers (en indien nodig extra aanschaf van hardware/software) zorgen dat 1 CPanel server High Availability Heeft?
Ik denk dat ik nu richting haalbare oplossingen ga. Uiteraard weet ik dat er een prijskaart hieraan zit.

luser
17/04/06, 23:03
Je kan raid doen als je gebruik maakt van fiberchannel of scsi met shared diskarray, volgende heb je nodig:
- Aparte doos voor je schijven en je fiberchannel/scsi raidcontroller (5.25" formaat, infortrend ofzo). Kan SATA-FC2, SCSI-FC2 of zelfs SATA-SCSI. Kost je toch snel 6k.
- SCSI of Fiberchannel controllers in je servers, kunnen simpele dingen zijn.
- Filesysteem waardoor beide servers zonder al te veel caching issue's erop kunnen (oracle had zoiets, onder linux heb je iets beter alleen ff naam vergeten).

Je arraydoos doet het raid gedeelte, de servers zien alleen x schijven van xxx groote, afhankelijk wat je op dat 5.25" speeltje configed.

Voordeel aan zo een DAS systeem is dat je diskarray weinig eigen software nodig heeft tov een NFS/SMB opstelling. Gaat dus ook een stuk minder snel kapot.

(ff snel getypt, kunnen dus paar foutjes inzitten)

EDIT1: http://www.redhat.com/software/rha/gfs/ GFS was het dus.

EDIT2: Wat ik ondertussen al vergeten was:

Er bestaat een iets betaalbaardere oplossing, natuurlijk minder kwa mogelijkheden en snelheid. Noemt ATA-Over-Ethernet (AoE, zit in 2.6 kernel normaal).
Kan je zover ik weet alleen met IDE disken werken, raid is er ook.

http://www.coraid.com/products.html

De 1U dozen zijn wel boeiend, blijft wel duur speelgoed.

ensermo
17/04/06, 23:06
Ja dus als aparte doos zat ik te denken om de DL380 te gebruiken. Van HP.
Zo'n oplossing.
http://h50025.www5.hp.com/hpcom/in_en/8_1_162_2946summary.html

Ik vraag me dan af of je het met twee servers DL360 en 1 DL380 (ipv MSA500) zou kunnen uitvoeren.

luser
17/04/06, 23:13
Zolang ie aan je diskarray kan wel ja.

Blijft vechten tegen het filesysteem bij zo een DAS (Direct Attached Storage) setup.

ensermo
17/04/06, 23:17
De DL380 kan een diskarray aan.

Wat ik me afvraag verder. Wordt zo'n 'cluster' gezien als 1 server? Dus zal een CPanel (of andere Control Paneel) de cluster zien als 1 server met /, /home, /etc en de installatie uitvoeren?


Blijft vechten tegen het filesysteem bij zo een DAS (Direct Attached Storage) setup.
Wat bedoel je hiermee?

luser
17/04/06, 23:20
De installatie zal zeker iets ingewikkelder worden, kan zelf zijn dat je per server een licentie zal nodg hebben voor cpanel (ben zo niet in op controlpanels).

Als de config's (apache, dns, etc) op al je dozen het zelfde zijn zal de user er niks van merken welke doos de http/ftp/dns request nu antwoord.
SQL wordt iets moeilijker :)

bakkerl
17/04/06, 23:43
@bakkerl

Oke dus als ik het goed begrijp zou ik met de huidige hardware (HP DL380G4
6x Hot plug SCSI Drives met External SCSI (VHDCI)) kunnen gebruiken als SAN). ?

Deze vraag is ondertussen wel voor luser beantwoord :)

luser
18/04/06, 00:33
De DL380 kan een diskarray aan.

Wat bedoel je hiermee?

Hoe meer nodes je gaat toevoegen hoe trager het zal worden.
Voor 3 a 4 servers zie ik geen probleem.

ensermo
18/04/06, 02:54
Oke veel uitgezocht en veel gelezen.
Nu de implemetatie die ik in mijn hoofd heb.

2 Servers (nodes) (DL360G4 of DL380G4)
1 Storage server (DL380G4 of MSA500 G2) (2 of 4 node clustering support)
Verbonden via Ultra320 SCSI I/O module

Deze systemen hebben HP software voor Windows en Novell Clustering. Maar ik zie niet een redelijke KISS linux oplossing.

Ik wil dus Linux Clustering hebben mbv HP systemen. Ik heb begrepen dat het kan met SteelEye of met HP Serviceguard. Indien er een andere oplossing is hoor ik het graag.

Vanaf nu ben ik dus op zoek naar iemand/bedrijf met ervaring hiermee en die kan helpen met het implemeteren van deze oplossing. Graag hoor ik of jullie iemand kennen of zelf ervaring hebben.

PimEffting
21/04/06, 11:27
Als je het echt goed wilt regelen en ook wat budget hebt, zou je ook eens kunnen kijken naar virtualisatie middels Virtual Infrastructure in combinatie met Vmotion. Nadeel is dat je licenties aan dient te schaffen plus dat een FC SAN vereist is. Later dit jaar ondersteunt ESX3 ook iSCSI, dat scheelt je de prijzige HBAs.

svbeek
21/04/06, 11:30
Bekijk redhat enterprise linux met de cluster suite ook eens.

Wido
21/04/06, 11:50
Als je slechts 2 servers wilt load balancen raadt ik www.linuxvirtualserver.org aan.

Als je op grotere schaal van start wilt gaan dan raadt ik een hardware matige load balancing oplossing aan van Zeus, maar dan praat je over aardig grote bedragen (terwijl linuxvirtualserver gratis is).Misschien wat offtopic, maar OK.

Wij hebben nu 2 loadbalancers (staan in redundante opstelling met Linux-ha) en daarmee loadbalancen we op dit moment 17 webservers. Dat gaat zonder enkel probleem. Daar gaat toch ~100Mbit overheen.

Snap jouw redenatie dan ook niet helemaal.

bami82
21/04/06, 13:31
En dan is er nog http://www.sun.com/software/cluster/

Borrie
21/04/06, 14:22
Als je slechts 2 servers wilt load balancen raadt ik www.linuxvirtualserver.org aan.

Als je op grotere schaal van start wilt gaan dan raadt ik een hardware matige load balancing oplossing aan van Zeus, maar dan praat je over aardig grote bedragen (terwijl linuxvirtualserver gratis is).

Een klasgenoot heeft hier een keer een paper over geschreven, misschien heb je er wat aan.

http://staff.science.uva.nl/~delaat/snb-2004-2005/p29/report.pdf

luser
21/04/06, 14:31
Vanaf nu ben ik dus op zoek naar iemand/bedrijf met ervaring hiermee en die kan helpen met het implemeteren van deze oplossing. Graag hoor ik of jullie iemand kennen of zelf ervaring hebben.

Op welke locatie wil je deze setup neerplanten?

ensermo
01/05/06, 05:31
Locatie WeDare Rotterdam. Hoezo?

wonko
01/05/06, 10:50
De grootste vraag bij een HA oplossing blijft altijd de storage. Wat als je storage doos een probleem heeft (hardware bvb die faalt)? Hoe hou je twee storage boxen in sync, hoe doe je failover...

De clustering en het balancen van de typische applicaties (apache, mysql, mailsetups) vormt meestal weinig problemen. Ultramonkey en gerelateerde projecten kunnen hier oplossingen voor bieden, of de oplossingen die de applicatie zelf aanbiedt (mysql bvb heeft verschillende cluster/replicatie mogelijkheden).

luser
01/05/06, 10:51
Locatie WeDare Rotterdam. Hoezo?

Omdat er nu eenmaal wat onsite werk is bij zo een opstelling.