Archiwum tagów: replication

MySQL i wysoka dostępność

MySQL

Ten temat jest bardzo interesujący z administracyjnego punktu widzenia. Tak na prawdę to rzadko spotykam się z dobrze zorganizowanym środowiskiem wysokiej dostępności w MySQLu. Mam tu na myśli porządnie zaimplementowany system failoveru w układzie master-slave (lub wiele slave’ów).

Nie będę może tego tematu rozkładał na czynniki pierwsze, gdyż zostało to już wykonane na wielu serwisach – wymienię w kilku punktach możliwości uzyskania prawdziwej wysokiej dostępności w MySQLu.

  1. Replikacja master – master. W takim układzie niepotrzebny jest nam failover. Do dowolnego mastera możemy podłączyć również dowolną liczbę slave’ów. Jest to układ bardzo wygodny, gdyż jest w zupełności bezobsługowy (pod warunkiem, że przed obydwoma masterami mamy warstwę LB, dzięki której aplikacja zawsze trafia w działającego mastera). W przypadku awarii serwisy nadal nam działają a procedura dalszego postępowania zależy od naszej topologii serwerów.
  2. MySQL cluster. W takim układzie system działa za nas – więcej informacji znajduje się tutaj: http://www.mysql.com/products/cluster/ oraz tutaj http://dev.mysql.com/downloads/cluster/ – idea topologii to brak SPOFa (Single Point of Failure).
  3. MySQL Galera cluster – zapewnia synchroniczną replikację w topologii active – active z wieloma masterami: http://www.codership.com/content/using-galera-cluster
  4. Failover – można rozwiązać na dwa sposoby:
    1. Matsunobu Yoshinori stworzył mysql-master-ha (który działa na MySQLach 5.0, 5.1 i wyżej): https://code.google.com/p/mysql-master-ha/ – bardzo dobre narzędzie, dzięki któremu możemy zapewnić automatyczny oraz manualny failover (nawet w sytuacjach gdy różne slave’y są w różnej pozycji relayloga). Dodatkowo można go wykorzystać do przełączania mastera na innego hosta (gdy np. chcemy dokonać shutdownu hosta). Polecam obejrzeć http://www.slideshare.net/matsunobu/automated-master-failover
    2. MySQL utilities – w dużym uproszczeniu to demon, który odpowiada za wykonanie automatycznego failoveru w przypadku awarii mastera. Informacje: http://www.clusterdb.com/mysql/mysql-utilities-webinar-qa-replay-now-available/

(English) MySQL statement based replication with triggers, events, procedures, functions and variables

Ten wpis nie jest dostępny w języku polskim

(English) MySQL replication over SSH tunnel

Ten wpis nie jest dostępny w języku polskim