Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CClluusstteerriinngg MMaaggeennttoo 
Case study su come realizzare un cluster 
di database e filesystem per installazioni ...
Cos'è il clustering per Magento? 
A cosa serve? 
Aumento Performance Failover 
Load Balancing Disaster Recovery 
Scenari t...
High Availability / Failover 
HA Proxy 
Server 1 Server 2 
Clustering Magento MageDay – Parma 07/11/2014 - 3
Do not panic!!! … Ok, panic!!! 
Clustering Magento MageDay – Parma 07/11/2014 - 4
Scenario classico 
Reverse proxy / HA proxy 
Istanze Magento (parte PHP) 
File Magento 
Database 
Sessioni 
Cache 
Cluster...
Tecnologie e software disponibili 
Vs 
Proxy RV / HA 
Cache 
Filesystem Redis 
SAN 
DB (cluster?) 
Clustering Magento Mage...
Database 
Replica 
Nativo MySQL 
Approccio Master / Slave 
No multi-master su Magento 
OK per failover supervisionato, no ...
Cache e sessioni 
Non cluster 
OK per failover supervisionato, no HA 
Le altre istanze sono pronte a partire 
Nel passaggi...
Filesystem 
Sincronizzato 
Lsyncd / Unison 
Ok per i file di Magento 
Che accade con la cartella “media”? 
Cluster 
Filesy...
Filesystem condivisi 
Problema dei lockfile in multi-master 
TCP TCP 
TCP 
Clustering Magento MageDay – Parma 07/11/2014 -...
Filesystem Clustering 
GlusterFS 
Filesystem lock manager 
GlusterFS 
Linux OS 
Ext3, Ext4, ecc... 
Linux OS 
OCFS2 / GFS2...
Mamma ho perso il server! 
Failover supervisionato 
● Modifca a /etc/hosts con definizione dei 
nomi host per ogni servizi...
Tecnologie e software disponibili 
Storage senza SAN (filesystem condivisi) 
Lsyncd - GlusterFS - DRBD+GFS2 - DRBD+OCFS2 
...
Tecnologie e software disponibili 
Storage senza SAN (filesystem condivisi) 
Lsyncd - GlusterFS - DRBD+GFS2 - DRBD+OCFS2 
...
Tecnologie e software disponibili 
Storage senza SAN (filesystem condivisi) 
Lsyncd - GlusterFS - DRBD+GFS2 - DRBD+OCFS2 
...
Tecnologie e software disponibili 
Storage senza SAN (filesystem condivisi) 
Lsyncd - GlusterFS - GFS2 - DRBD+OCFS2 
DRBD ...
Tecnologie e software disponibili 
MySQL 
Replica - Cluster 
MySQL 
Replica 
Pro Cons Globale 
● Configurazione semplice 
...
Tecnologie e software disponibili 
MySQL 
Condiviso - Cluster 
MySQL 
Cluster 
Pro Cons Globale 
● Elaborazione su più mac...
Case studies 
Case #1 
Lsyncd + MySql Replica + Redis 
Nodo 1 
Lsyncd 
MySql primario 
Redis primario (sess+cache) 
Nodo 2...
Case studies 
Case #2 
Drbd+OCFS2 + MySql Cluster + Redis 
Nodo 1 
Drbd+OCFS2 
MySql primario 
Redis primario (sess+cache)...
Case studies 
Case #3 
Drbd+OCFS2 + MySql replica + Redis 
Nodo 1 
Drbd+OCFS2 
MySql primario 
Redis primario (sess+cache)...
Confronto Case studies 
Pro e contro degli scenari 
Case #1 Case #2 Case #3 
● Lsyncd 
● MySql Replica 
● Redis 
● Drbd+OC...
Domande & Risposte 
Avete domande? 
Anche noi: 
Chi ci offre un caffè? :) 
Clustering Magento MageDay – Parma 07/11/2014 -...
CClluusstteerriinngg MMaaggeennttoo 
MageDay 2014 
Parma, 07/11/2014 
Riccardo Tempesta & Marco Giorgetti 
www.magespecial...
Upcoming SlideShare
Loading in …5
×

Clustering Magento

1,331 views

Published on

Case study su come realizzare un cluster di database e filesystem per installazioni magento su vm multiple: tecnologie, software, high availability, configurazioni, load balancing, failover.

Published in: Software
  • Be the first to comment

Clustering Magento

  1. 1. CClluusstteerriinngg MMaaggeennttoo Case study su come realizzare un cluster di database e filesystem per installazioni magento su vm multiple: tecnologie, software, high availability, configurazioni, load balancing, failover. PPaarrmmaa,, 0077//1111//22001144 RRiiccccaarrddoo TTeemmppeessttaa && MMaarrccoo GGiioorrggeettttii wwwwww..mmaaggeessppeecciiaalliisstt..iitt BENVENUTI !!!111! Clustering Magento MageDay – Parma 07/11/2014 - 1
  2. 2. Cos'è il clustering per Magento? A cosa serve? Aumento Performance Failover Load Balancing Disaster Recovery Scenari tipici ●Carico singolo server al limite ●Necessità di HA ●Necessità di dormire sonni tranquilli! Clustering Magento MageDay – Parma 07/11/2014 - 2
  3. 3. High Availability / Failover HA Proxy Server 1 Server 2 Clustering Magento MageDay – Parma 07/11/2014 - 3
  4. 4. Do not panic!!! … Ok, panic!!! Clustering Magento MageDay – Parma 07/11/2014 - 4
  5. 5. Scenario classico Reverse proxy / HA proxy Istanze Magento (parte PHP) File Magento Database Sessioni Cache Clustering Magento MageDay – Parma 07/11/2014 - 5
  6. 6. Tecnologie e software disponibili Vs Proxy RV / HA Cache Filesystem Redis SAN DB (cluster?) Clustering Magento MageDay – Parma 07/11/2014 - 6
  7. 7. Database Replica Nativo MySQL Approccio Master / Slave No multi-master su Magento OK per failover supervisionato, no HA Ottimo per i backup Cluster Percona XtraDB cluster Approccio multi-master Ok per HA e bilanciamento Troppo bello per essere vero... … infatti con Magento non sempre funziona master slave 1 slave 2 Clustering Magento MageDay – Parma 07/11/2014 - 7
  8. 8. Cache e sessioni Non cluster OK per failover supervisionato, no HA Le altre istanze sono pronte a partire Nel passaggio perdiamo i dati Sistemi non clusterizzabili Cluster Il dato è distribuito Ottimo per HA Le funzioni cluster di Redis non sono Ancora utilizzabili in produzione Ok su memcache Clustering Magento MageDay – Parma 07/11/2014 - 8
  9. 9. Filesystem Sincronizzato Lsyncd / Unison Ok per i file di Magento Che accade con la cartella “media”? Cluster Filesystem distribuiti RAID via rete DRBD, GlusterFS Problema del multi-master Clustering Magento MageDay – Parma 07/11/2014 - 9
  10. 10. Filesystem condivisi Problema dei lockfile in multi-master TCP TCP TCP Clustering Magento MageDay – Parma 07/11/2014 - 10
  11. 11. Filesystem Clustering GlusterFS Filesystem lock manager GlusterFS Linux OS Ext3, Ext4, ecc... Linux OS OCFS2 / GFS2 Supporto fisico DRBD DRBD Clustering Magento MageDay – Parma 07/11/2014 - 11
  12. 12. Mamma ho perso il server! Failover supervisionato ● Modifca a /etc/hosts con definizione dei nomi host per ogni servizio: 192.168.0.10 mysqldb 192.168.0.10 cachedb 192.168.0.10 sessiondb ● Modifica al file local.xml con puntamento ai nomi host definiti come sopra ● Redirezione dal reverseproxy se non esiste un ”maxfail” ● In caso di failover si ridefiniscono le entry in /etc/hosts e si riavviano i servizi Clustering Magento MageDay – Parma 07/11/2014 - 12
  13. 13. Tecnologie e software disponibili Storage senza SAN (filesystem condivisi) Lsyncd - GlusterFS - DRBD+GFS2 - DRBD+OCFS2 Pro Cons Globale Lsyncd ● Semplice da configurare ● Flessibile ● Permette esclusione di file basata su pattern ● Nessun overhead su filesystem ● Latenza elevata ● Utilizza gli iwatch ● Non gestisce i lock condivisi ● Consigliato solo per failover ● Generalmente sconsigliato su hosting condivisi Clustering Magento MageDay – Parma 07/11/2014 - 13
  14. 14. Tecnologie e software disponibili Storage senza SAN (filesystem condivisi) Lsyncd - GlusterFS - DRBD+GFS2 - DRBD+OCFS2 Pro Cons Globale GlusterFS ● Facilissimo da configurare ● Usa filesystem di qualsiasi tipo ● Utilizzabile anche su FS già esistenti ● Si può configurare anche in striping oltre che mirroring ● Facilmente espandibile ● Possibilità di usare un dual master ● Possibilità di split-brain accidentale molto remota ● Gira nello userspace ● La lettura deve essere coordinata tra tutti i nodi e non avviene direttamente dalla macchina locale ● Estremamente lento nelle operazioni di lettura Sconsigliato per le performance Clustering Magento MageDay – Parma 07/11/2014 - 14
  15. 15. Tecnologie e software disponibili Storage senza SAN (filesystem condivisi) Lsyncd - GlusterFS - DRBD+GFS2 - DRBD+OCFS2 DRBD + GFS2 Pro Cons Globale ● Lettura FS locale ● Lock condiviso ● Performance in lettura eccellenti ● Possibilità di integrazione con pacemaker ● Difficile da configurare ● Disponibile solo su RedHat ● Possibilità di split-brain accidentale su sistemi con meno di 3 nodi Consigliato per RedHat Clustering Magento MageDay – Parma 07/11/2014 - 15
  16. 16. Tecnologie e software disponibili Storage senza SAN (filesystem condivisi) Lsyncd - GlusterFS - GFS2 - DRBD+OCFS2 DRBD + OCFS2 Pro Cons Globale ● Lettura FS locale ● Lock condiviso ● Performance in lettura eccellenti ● Possibilità di integrazione con pacemaker ● Disponibile per quasi tutte le distro ● Difficile da configurare ● Soffre di problemi di frammentazione se non adeguatamente configurato ● Possibilità di split-brain accidentale su sistemi con meno di 3 nodi Consigliato in generale Clustering Magento MageDay – Parma 07/11/2014 - 16
  17. 17. Tecnologie e software disponibili MySQL Replica - Cluster MySQL Replica Pro Cons Globale ● Configurazione semplice ● Applicabile anche su db già esistenti ● Elaborazione su singola macchina ● Impossibile usare un dual master senza rischio di conflitti ● In caso di errore il riallineamento può richiedere diverso tempo Consigliato Clustering Magento MageDay – Parma 07/11/2014 - 17
  18. 18. Tecnologie e software disponibili MySQL Condiviso - Cluster MySQL Cluster Pro Cons Globale ● Elaborazione su più macchine ● Possibilità di usare un dual master ● Ottimo per le situazioni di HA ● In caso di errore il recovery è estremamente semplice e veloce ● Configurazione più complessa ● Instabilità nelle transazioni molto lunghe ● Performance ridotte a causa del coordinamento tra nodi Sconsigliato su Magento Clustering Magento MageDay – Parma 07/11/2014 - 18
  19. 19. Case studies Case #1 Lsyncd + MySql Replica + Redis Nodo 1 Lsyncd MySql primario Redis primario (sess+cache) Nodo 2 Lsyncd MySql secondario Redis secondario (sess+cache) Clustering Magento MageDay – Parma 07/11/2014 - 19
  20. 20. Case studies Case #2 Drbd+OCFS2 + MySql Cluster + Redis Nodo 1 Drbd+OCFS2 MySql primario Redis primario (sess+cache) Nodo 2 Drbd+OCFS2 MySql secondario Redis secondario (sess+cache) Clustering Magento MageDay – Parma 07/11/2014 - 20
  21. 21. Case studies Case #3 Drbd+OCFS2 + MySql replica + Redis Nodo 1 Drbd+OCFS2 MySql primario Redis primario (sess+cache) Nodo 2 Drbd+OCFS2 MySql secondario Redis secondario (sess+cache) Clustering Magento MageDay – Parma 07/11/2014 - 21
  22. 22. Confronto Case studies Pro e contro degli scenari Case #1 Case #2 Case #3 ● Lsyncd ● MySql Replica ● Redis ● Drbd+OCFS2 ● MySql Cluster ● Redis ● Drbd+OCFS2 ● MySql replica ● Redis Clustering Magento MageDay – Parma 07/11/2014 - 22
  23. 23. Domande & Risposte Avete domande? Anche noi: Chi ci offre un caffè? :) Clustering Magento MageDay – Parma 07/11/2014 - 23
  24. 24. CClluusstteerriinngg MMaaggeennttoo MageDay 2014 Parma, 07/11/2014 Riccardo Tempesta & Marco Giorgetti www.magespecialist.it Feedback e commenti su https://joind.in/12696 GRAZIE !!!111! Licenza Quest' opera è distribuita con licenza Creative Commons Attribuzione - Condividi allo stesso modo 3.0 Unported. http://creativecommons.org/licenses/by-nc-sa/3.0/deed.it I marchi e le immagini utilizzate sono di proprietà dei rispettivi proprietari. Clustering Magento MageDay – Parma 07/11/2014 - 24

×