Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

High Availability with MariaDB Enterprise

423

Published on

High Availability with MariaDB Enterprise by Anders Karlsson. …

High Availability with MariaDB Enterprise by Anders Karlsson.

Presented 10.6.2014 at the MariaDB Roadshow in Helsinki, Finland.

Published in: Software, Technology, Design
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
423
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
11
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.  24/06/2014 1
  • 2. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   High  Availability  with  MariaDB  Enterprise   Anders  Karlsson   Sales  Engineer,  SkySQL   *   *  24/06/2014 2
  • 3. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Agenda   • Introduc-on  to  High  Availability   • Different  services  that  need  HA   • Different  components  of  High  Availability   • Different  MariaDB  HA  Solu-ons   •  HA  using  MariaDB  Replica-on   •  HA  using  MariaDB  Galera  Cluster   24/06/2014 3
  • 4. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Introduc-on  to  High  Availability   High availability is a system design protocol and associated implementation that ensures a certain degree of operational continuity during a given measurement period 24/06/2014 4
  • 5. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Introduc-on  to  High  Availability   24/06/2014 5 • High  Availability  isn’t  always  the  same  as  Long   Up(me   •  A  system  that  is  “up”  might  s-ll  not  be   accessible   •  A  system  that  is  “down”  just  once,  but  for  a   long  -me,  isn’t  highly  available   • High  Availability  rather  means   •  Long  Mean  Time  Between  Failures  (MTBF)   •  Short  Mean  Time  To  Recover  (MTTR)  
  • 6. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Introduc-on  to  High  Availability   • The  level  of  availability  is  measured  as  the   ra-o  of  -me  the  system  is  available  over  a   year,  expressed  as  a  percentage   •  99.9%  availability  means  that  the  system  is   available  at  least  8.751  of  8.760  hours  in  a  year,  or   that  it  is  unavailable  at  the  most  9  hours  per  year   •  99.999%  availability  means  that  the  system  is   available  at  least  525.595  or  525.600  minutes  in  a   year,  or  that  it  is  unavailable  at  the  most  5   minutes  per  year   24/06/2014 6
  • 7. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Maintaining  High  Availability   • There  are  two  common  situa-ons  that  we  try   to  protect  ourselves  from  using  an  HA  solu-on   •  Datacenter  failure  –  A  whole  datacenter   becomes  unavailable  for  some  reason,  like  power   failure,  network  failure,  a  virus  or  similar   situa-ons   •  Server  failure  –  An  individual   server  fails  because  of  a   hardware  failure  or  something   similar   24/06/2014 7
  • 8. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Services  in  an  HA  Solu-on   • All  services  that  make  up  the  applica-on  stack   needs  HA  for  the  system  to  achieve  HA   •  Web  servers   •  Applica-on  servers   •  Applica-ons   •  Database  servers   •  Storage   •  Network   24/06/2014 8
  • 9. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Services  in  an  HA  Solu-on   • Of  the  different  types  of  services,  there  are   two  types   •  Stateless  services   These  servers  has  no  state  beyond  the  current  opera-on.  If  such  a   server  fails,  another  server  of  the  same  type  can  replace  it  without   having  to  transfer  any  set  of  data.  Webservers  and  applica-on   servers  are  typical  stateless  services   •  Stateful  services   These  services  maintains  a  state,  and  that  state  needs  to  be   preserved  if  a  server  fails,  and  has  to  be  made  available  to  any   other  server  that  takes  it  place.  A  database  service  such  as  a   MariaDB  server  is  a  typical  stateful  service   24/06/2014 9
  • 10. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Components  of  High  Availability   • Monitoring  and  Management   •  Availability  of  the  services  needs  to  be  monitored,  to   be  able  to  take  ac-on  when  there  is  a  failure.   A  failover  can  be  manual  or  automa-c,  but  it  has  to  be   managed   • Failover  /  Load  Balancing  mechanism   •  Some  mechanism  to  redirect  traffic  from  the  failed   server  or  Datacenter  and  to  a  working  one   • Data  redundancy   •  For  stateful  services,  we  need  to  make  sure  that  data  is   somehow  made  redundant   24/06/2014 10
  • 11. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Monitoring  and  Management   • There  are  many  different  solu-ons  here,  some   focused  on  specific  services  (in  par-cular   database),  some  as  part  of  a  Load  Balancing   soeware  solu-on  of  an  Appliance  or  a  pure   soeware  based  solu-on  such  as  LinuxHA   24/06/2014 11
  • 12. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Failover  mechanism   • There  is  a  wide  range  of  op-ons  here  too,  in   par-cular  when  it  comes  to  Datacenter   failover,  which  can  be  more  complicated   • Common  mechanisms  range  from  applica-on   based  failover  and  DNS  failover  to  Load   Balancing  and  Network  Failover     24/06/2014 12
  • 13. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Data  Redundancy   • Providing  Data  Redundancy  is  complex,  error   prone  and  takes  a  toll  on  performance   • It  also  has  to  be  men-oned  that  a  SAN  does   not  provide  redundancy  just  because  a  disk   set  can  be  failed  over  from  one  server  to   another.  A  SAN  might  be  a  SPOF,  but  in  some   cases  that  is  a  risk  that  some  customers  is   willing  to  take   24/06/2014 13
  • 14. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Data  Redundancy  with  MariaDB   • For  MariaDB,  there  are  a  number  of  op-ons   for  Data  Redundancy   •  MariaDB  Classic  Replica-on   •  MariaDB  Galera  Cluster   •  Storage  based  redundancy  (Ac-ve  /  Passive   setups)   •  DRBD  (Distributed  Replicated  Block  Device)   •  SAN  (Storage  Area  Network)   24/06/2014 14
  • 15. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   HA  using  MariaDB  Replica-on   • This  is  in  many  cases  a  good  enough  solu-on,   but  it  has  some  issues   •  The  cluster  is  very  loosely  coupled,  not  all  nodes  are   aware  of  all  the  other  nodes  for  example   •  Replica-on  is  asynchronous,  so  failing  over  is  more   difficult  than  usually  (but  MHA  solves  this)   •  Adding  a  slave  is  difficult   • But  there  are  also  many  advantages   •  Low  performance  penalty   •  Well  known  and  easy  to  use  technology   24/06/2014 15
  • 16. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   HA  using  MariaDB  Galera  Cluster     • This  a  soeware-­‐only  solu-on   with  many  advantages   •  Scales  writes  and  well  as  reads   •  “Proper”  Cluster  with  built-­‐in  failover,  locking  and  split-­‐ brain  protec-on   •  Synchronous  replica(on  with  low  overhead  due  to   op-mis-c  locking   • There  are  some  disadvantages   •  More  overhead  than  using  Asynchronous  Replica-on   •  Only  works  with  InnoDB   •  For  distributed  writes,  some  restric-ons  apply   24/06/2014 16
  • 17. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  Galera  Cluster  setup   24/06/2014 17 MariaDB Server MariaDB Server MariaDB Server Galera wsrep Library Galera wsrep Library Galera wsrep Library Synchronous Replication Load Balancer / Failover Application / Application server
  • 18. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Sehng  up  MariaDB  Galera  Cluster   • MariaDB  Galera  Cluster  consists  of  the   MariaDB  binary  that  in  turns  talks  to  the   Galera  wsrep  library   • Once  set  up,  Galera  is  configured  using  the   usual  my.cnf  file,  and  is  monitored  using  the   SHOW  GLOBAL  STATUS  command   24/06/2014 18
  • 19. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  Galera  Cluster  failover   • MariaDB  Galera  Cluster  handles  failed  servers   internally   • MariaDB  Galera  Cluster  also  handles  split-­‐ brain  protec(on  and  this  requires  at  least  3   servers   • MariaDB  Galera  Cluster  can  also  be  configured   without  split-­‐brain  protec-on,  for  example   when  failover  is  manual  or  is  handled  in  some   other  way   24/06/2014 19
  • 20. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  Galera  Cluster  setup   • If  necessary  to  allow  for  protec-on  against   split-­‐brain  scenarios,  but  only  using  2   database  servers,  a  third  server  can  be  set  up   with  a  Galera  specific  arbitra(on  agent   • Galera  also  can  be  used  with  it’s  own  simple   Load  Balancer,  although  it  is  much  more   common  that  other  technologies  are  used,   such  as  HA  aware  Connectors  or  a  Load   Balancer   24/06/2014 20
  • 21. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Ques(ons?   24/06/2014 21

×