Databas-failover

Tja, tja bloggen!
Eftersom många av våra tjänster pratar med vår databas-server så har det under en tid diskuterats att ordna någon form av failover-lösning som gör att tjänsterna fortfarande finns tillgängliga även om databas-servern skulle gå ner. Problemen med en databas-server som är nere är främst märkbara de gånger då vi patchar maskinerna och de behöver startas om (och ibland händer det att saker inte går så smärtfritt där).

För några veckor sedan började vår databas-server att bete sig underligt så en räddningsoperation genomfördes och databaserna sattes upp på en annan maskin. Under veckan har den gamla databas-servern ominstallerats och en maskin som kommer agera front för de båda databas-servrarna har också riggats.

Det som är kvar att göra är att flytta över en komplett databasdump från den maskinen som nu servar alla databaser till den ominstallerade, så att båda maskinerna har hyfsat lika databasinnehåll. Därefter ska replikering mellan den nuvarande och den ominstallerade maskinen sättas upp, så att allt nytt som tillkommit sen databasdumpen skapades finns på den ominstallerade. Efter det ska replikering mellan den ominstallerade och den nuvarande sättas upp så att de båda maskinerna kontinuerligt synkroniserar varandra.
Som sista steg ska DNS pekas om och tjänster ska konfigureras om så att de istället för att, som nu, peka på databas-servern peka på maskinen som ska fronta databas-servrarna.

Maskinen som frontar är ställd så att så länge den huvudsakliga databas-servern är tillgänglig så skickas trafiken till den. Om den huvudsakliga databas-servern skulle gå ner så skickas trafik till den sekundära maskinen. Viss nedtid mot databaserna kommer fortfarande inträffa ifall den huvudsakliga maskinen går ner, men tiden kommer vara rejält mycket kortare än vad den är nu.

Med detta sagt så vill jag tillägga att under helgen så kan våra tjänster vara mer eller mindre fungerande eftersom det krävs en del ingrepp för att få detta att funka, målet är att minimera denna nedtid så mycket som möjligt och att allt ska fungera som det ska när det behövs.

This entry was posted in drift, SIS. Bookmark the permalink. Both comments and trackbacks are currently closed.