Skocz do zawartości
seek

Serwer MySQL na dwóch serwerach

Polecane posty

Witam,

mam pewien problem. Prowadzę dwa projekty w których bardzo ważny jest ciągły dostęp do bazy danych. Przerwa nawet kilkunastominutowa to skargi kilkunastu klientów. Aby osiągnąć niezawodność bazy danych, chciałbym ją ulokować na dwóch serwerach lustrzanych. Gdy jeden padnie, to dostęp do bazy jest wciąż możliwy, dzięki drugiemu serwerowi. Coś w stylu RAID1 tylko dla bazy danych.

Jest takie coś możliwe? Są może poradniki do stworzenia czegoś takiego?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przyjmijmy że masz jeden projekt , który korzysta z bazy danych. Ten projekt znajduje sie na jednym serwerze dedykowanym , który również obsługuje bazę danych. Replikacja takiej bazy i utworzenie schematu na zasadzie że jak jedna padnie druga odbierze te dane na zewnętrznych zasobach jest trudna ponieważ zawsze powstaje opóźnienie w trakcie przesyłu danych. Sama forma replikacji zabezpieczy przed utratą danych ale nie przed bezawaryjną pracą. Można oprzeć cały proces o pewien zestaw skryptów ale dalej twierdzę że wykonanie tego jest bardzo skomplikowanym procesem od strony technicznej ale również od strony przygotowania aplikacji do działania w takim złożonym trybie. Dla przykładu system webmail który używamy wykorzystuje trzy bazy danych replikując się między sobą ale nie z powodu błędów ale obciążenia. W przypadku kiedy jedna baza zawiedzie aplikacja stwierdza ten fakt przesyłając zapytanie do kolejnej wolnej. Tym samym wysyła dane do trzeciej. Nie ma prostego rozwiązania twojego problemu bo wymaga ze strony osób, które odpowiadają posiadania większej wiedzy na temat twojej aplikacji i jej możliwości. Zdecydowanie jest to dalekie od wspomnianego RAID :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Kiedyś sam kombinowałem jak ugryźć ten temat i bawiłem się kilka tygodni z replikacją MySQL, ale ciągle było coś nie tak. A to błąd w komunikacji, a to nagle nie zrzuciło jakichś danych itd.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Replikacja multi master + 2x mysqlproxy na failover/vrrp?
Dlaczego masz problem z padającą bazą danych? Bo być może problem leży w zupełnie innym miejscu. :P

Inna sprawa czy multi master się u Ciebie sprawdzi i czy Cię w ogóle na to stać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1. Baza jest wykorzystywana przez serwery gier, które przechowują w niej dane.

2. Problemy są sporadyczne, raz na 2-3 tygodnie. A to w serwerowni coś się stanie, a to gdzieś się serwer hostujący bazę przymuli. Po prostu tak się dzieje, chyba zawsze :)

3. Nie chodzi mi o replikacje danych w celu ich nie utracenia, lecz w celu zapewnienia ciągłości dostępu do nich.

4. Korzystam z silnika MySQL.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

2. Zmień DC albo konfigurację serwera. Baza nie staje się offline ot tak po prostu ;)

3. Jak inaczej chcesz zapewnić dostępność w przypadku padu podstawowego serwera? Tylko przez replikację. Jak wystarczy Ci sam odczyt danych na te kilkanaście minut padu "mastera", to warto zrobić "slave", który będzie serwować dane klientom: http://dev.mysql.com/doc/refman/5.6/en/replication-howto.html

Edytowano przez Bartosz Z (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×