Failover-systeem met DRBD

Pagina: 1
Acties:

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
Hé,

Ik ben aan het kijken naar de mogelijkheden om een failover-server in te richten voor onze web/mailserver in redbus. Wat ik zoek is een mogelijkheid om over te schakelen op dit systeem op het moment dat het eerste systeem de geest geeft. Hier zijn wel wat mogelijkheden voor, maar ik heb hier zelf een setupje gemaakt met DRBD en wel als volgt:

3 raid-arrays; 1x boot, 1x root filesystem, 1x userdata.
Op deze laatste raid-array heb ik drbd geinstalleerd. Deze kan de userdata dan synchroon houden tussen beide servers.

De filesystem-data wil ik gewoon bijv. eens per uur (met rsync) synchroniseren. De boot-partitie kan verschillende kernels bevatten zodat de architectuur van beide servers niet identiek hoeft te zijn.

Ten slotte wil ik mysql nog repliceren tussen beide servers omdat ik met alleen drbd wat problemen voorzie met corrupte data tijdens een abrupte overgang.

Tijdens eventuele downtime kan de failover-server het ip overnemen van de primaire server. De drbd-partitie kunnen primair gezet worden en het systeem kan direct verdergaan met waar het gebleven was.

Mijn vraag is eigenlijk of jullie ervaringen hebben met een dergelijke setup. Dat het draait is wel duidelijk, maar is het ook stabiel? Zou je je failover-systeem hieraan toevertrouwen? Heb je nog suggesties om het te verbeteren of anders te doen?

  • real-doc
  • Registratie: Mei 2003
  • Niet online
Het allermooiste is natuurlijk om een SAN te gebruiken, maar ik heb deze oplossing in de praktijk goed zien werken in combinatie met heartbeatd voor de daadwerkelijke failover.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 08:37
Kan je niet beter een active-active opstelling proberen te bouwen? Dan gebruik je de beschikbare capaciteit een stuk optimaler. Nu mis je 50% van je beschikbare capaciteit.

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
djluc schreef op donderdag 08 maart 2007 @ 10:11:
Kan je niet beter een active-active opstelling proberen te bouwen? Dan gebruik je de beschikbare capaciteit een stuk optimaler. Nu mis je 50% van je beschikbare capaciteit.
klopt.. alhoewel ik de indruk krijg dat pure data vaak toch als active/passive danwel als SAN oid wordt opgeslagen. In dat geval betekent dat dan weer dat je dit bijv. zou moeten loskoppelen van de frontend-servers, wat me voorlopig nog niet nodig lijkt. Goede suggesties zijn overigens welkom.

Daarbij blijft het natuurlijk zo dat áls ik het met active/passive kan oplossen een tweede server blijkbaar niet noodzakelijk is; en dat áls die wel noodzakelijk zou zijn, active/passive geen goede oplossing is voor als er eentje plat gaat.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 08:37
Even wel te vermelden dat ik Windows kennis heb, geen linux kennis o.i.d. dat doet onze webhoster.

Onder Windows gebruiken we DFS. Dit is een netwerklocatie, bijvoorbeeld: \\domeinnaam\data welke je kunt koppelen aan 1- of meerdere servers. Je spreekt deze data dus altijd onder dezelfde naam aan zonder dat je weet welke server deze data verzend.

  • Equator
  • Registratie: April 2001
  • Laatst online: 02-02 21:20

Equator

Crew Council

#whisky #barista

Op verzoek verplaatst naar Non-Windows Operating Systems :)

  • Aike
  • Registratie: Juli 2000
  • Niet online
DRBD werkt stabiel, het is een oplossing die je veilig in productieomgevingen kunt inzetten. Ik zou de datafiles van MySQL ook op DRBD zetten ipv repliceren. Uit eigen ervaring weet ik dat dat het makkelijkst is en goed werkt. Gebruik je nog iets van heartbeat om te failoveren bij problemen?

Mijn blog over het deployen van Ruby on Rails: RunRails.com


  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
Aike schreef op donderdag 08 maart 2007 @ 23:11:
DRBD werkt stabiel, het is een oplossing die je veilig in productieomgevingen kunt inzetten. Ik zou de datafiles van MySQL ook op DRBD zetten ipv repliceren. Uit eigen ervaring weet ik dat dat het makkelijkst is en goed werkt. Gebruik je nog iets van heartbeat om te failoveren bij problemen?
Ik zat eraan te denken om de switch handmatig te maken op het moment dat er problemen zijn. Dit ivm mogelijke consistentieproblemen als heartbeat een foute inschatting maakt of de primaire machine down is. (netwerkproblemen?). Misschien moet ik ook nog even zoeken naar een oplossing met een seriele kabel o.i.d.

Dat van mysql op drbd verbaast me een beetje. Ik had de indruk gekregen dat met name InnoDB niet lekker omgaat met een dergelijke harde swich. Gebruik je ook InnoDB of met name myISAM? Iemand anders hier ervaringen mee soms?

  • Aike
  • Registratie: Juli 2000
  • Niet online
MadMurdock schreef op vrijdag 09 maart 2007 @ 11:18:
[...]

Ik zat eraan te denken om de switch handmatig te maken op het moment dat er problemen zijn. Dit ivm mogelijke consistentieproblemen als heartbeat een foute inschatting maakt of de primaire machine down is. (netwerkproblemen?). Misschien moet ik ook nog even zoeken naar een oplossing met een seriele kabel o.i.d.

Dat van mysql op drbd verbaast me een beetje. Ik had de indruk gekregen dat met name InnoDB niet lekker omgaat met een dergelijke harde swich. Gebruik je ook InnoDB of met name myISAM? Iemand anders hier ervaringen mee soms?
Voor mysql maakt het toch niet uit of ie nou direct in /var/lib/ zit te schrijven of via een drbd laag? En bij een failover moet je natuurlijk eerst mysql stoppen. Daarom had ik heartbeat, die stopt eerst mysql op server 1, switcht drbd naar server 2, en start mysql op server 2. Er draait dus maar 1 mysql tegelijk. Een van de voordelen tov replicatie is dat je veel minder overhead hebt.

Mijn blog over het deployen van Ruby on Rails: RunRails.com

Pagina: 1