SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
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.
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.
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.
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.
High Availability / Failover
HA Proxy
Server 1 Server 2
Clustering Magento MageDay – Parma 07/11/2014 - 3
4.
Do not panic!!! … Ok, panic!!!
Clustering Magento MageDay – Parma 07/11/2014 - 4
6.
Tecnologie e software disponibili
Vs
Proxy RV / HA
Cache
Filesystem Redis
SAN
DB (cluster?)
Clustering Magento MageDay – Parma 07/11/2014 - 6
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.
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.
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.
Filesystem condivisi
Problema dei lockfile in multi-master
TCP TCP
TCP
Clustering Magento MageDay – Parma 07/11/2014 - 10
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Domande & Risposte
Avete domande?
Anche noi:
Chi ci offre un caffè? :)
Clustering Magento MageDay – Parma 07/11/2014 - 23
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