Mysql failover – high availability mysql serwer

Wymagania:

– zapewnienie ciągłości pracy serwera bazodanowego MySQL w przypadku awarii jednego z dwóch nodów MySQL;
– rozwiązanie przezroczyste dla programistów, nie wymaga żadnych zmian i nie nakłada żadnych ograniczeń w porównaniu do pojedynczej instancji serwera MySQL;
– automatyczne wykrywanie awarii jednego z nodów i natychmiastowe samoczynne przełączanie usługi na sprawny node;
– synchroniczna replikacja danych miedzy dwoma nodami zapewniająca spójność i brak utraty danych w przypadku awarii jednego z nodów i przełączeniu usługi serwera MySQL na drugi;
– możliwość zastosowania wyłącznie rozwiązań open source, brak konieczności kupowania licencji;
– brak konieczności stosowania macierzy dyskowych;
– możliwość implementacji rozwiązania na dowolnych dwóch serwerach, także zwykłych komputerach klasy PC, co umożliwi np. budowę środowiska testowego na tanim sprzęcie.

Cechy zaprojektowanego i wdrożonego rozwiązania:

– klaster składający się z dwóch bliźniaczo skonfigurowanych serwerów bazodanowych;
– system Debian Linux;
– możliwość wykorzystania programowego RAIDu (0, 1, 4, 5, 6, 10 i kombinacji);
– synchroniczna replikacja danych bazy MySQL na poziomie urządzeń dyskowych odbywająca się poprzez sieć Gigabit Ethernet;
– automatyczne monitorowanie stanu obu serwerów baz danych i przełączanie usługi serwera MySQL na aktualnie sprawny i dostępny poprzez sieć IP dla serwerów aplikacyjnych serwer;
– usługa serwera MySQL dostępna jest cały czas na tym samym adresie IP i numerze portu TCP, dzięki czemu przełączenie się usługi między serwerami nie wymaga obsłużenia tej sytuacji przez programistów;
– zdublowane interfejsy sieciowe i ich automatyczny failover, wykorzystanie redundantnych switchy.

Zakres wykonanych prac:

– ustalenie wymagań;
– audyt istniejącej sieci IP, która miała być wykorzystana w projekcie;
– przygotowanie projektu wraz z uwzględnieniem koniecznych poprawek w sieci IP;
– przeprowadzenie kompleksowego wdrożeniu oraz wprowadzenie poprawek w sieci IP.