1
GlusterFS en AWS

Solved 3 Respuestas 27 Views
Hola,

Tengo un entorno de 3 instancias ec2 que hacen de webservers atras de un ELB, y un RDS. Los webservers hostean un wordpress.

El problema principal era mantener sincronizadas las imagenes que subian los usuarios. La manera mas facil fue montar un nfs en uno de los webservers.
Pero al hacer esto perdia redundancia dado que el NFS ahora es mi single-point-of-failure.

Probe levantando un volumen de glusterfs en replica en los 3 webservers (cada uno con un brick). Y montar en cada uno su propio brick con fuse.

Cuando levante el vhost con el documentroot en el volumen de gluster, el daemon de gluster empezo a levantar mucho load y los procesos de php no llegaban a terminar de ejecutarse antes de que apache me los matara por timeout.

Se puede hacer algun tunning de Gluster, o alguno tiene alguna otra alternativa (que no sea usar s3 para las imagenes) para mantener sincronizado el documentroot ?

Saludos y gracias.

3 Respuestas

0
Mejor respuesta
ya esta EFS disponible publico...so far so good, misma tasa de escritura y lectura qe en un EBS SSDs GP

 

(Y)
respondido por sebamontini (6,510 puntos) Jul 6, 2016
seleccionada por kri3v Jul 11, 2016
0
Ya que estas parado arriba de aws, podrías usar algo como esto https://aws.amazon.com/efs/
respondido por Gabriel Mar 17, 2016
1Comentarios
comentado por kri3v (2,390 puntos) Mar 17, 2016
EFS me solucionaria todos los problemas, pero esta disponible solo como preview en Oregon. Este ambiente esta en Virginia.
1
Esto que planteo es horrible por todos los costados pero just in case... Pero, si usas 1 wordpress como active master y los otros dos como read only y cascadeas con rsync? O sea, todo tu contenido nuevo va a parar a 1 instancia por medio de reglas en el elb o el wordpress (ni idea de como y siquiera si es posible). Pero forzas a todos los usuarios logueados a trabajar en tu master wordpress, y replicas desde ahi a tus slaves. Explota el "master" y promoves algun slave.

No es lindo, pero quizas te resuelve el tema.
respondido por edux (12,550 puntos) Mar 17, 2016
3Comentarios
comentado por kri3v (2,390 puntos) Mar 17, 2016
Anteriormente teníamos algo similar a eso: haciamos que Varnish en cada uno de los webservers redirigiera  las peticiones al wp-admin y los post y put a uno de los webservers y ahi teniamos un lsyncd que sincronizaba los otros webservers.

Esta solucion tampoco era redundante, nos paso una vuelta que justo esa ec2 empezo a funcionar mal y se fue todo medio al chori.

El problema que tengo aca es que es un sitio con bastante trafico y suben contenido bastante seguido, por lo que necesito que sea redundante.
comentado por edux (12,550 puntos) Mar 17, 2016
Y los mysql como los tenes? en multi-master? o con xtradbcluster?
comentado por kri3v (2,390 puntos) Mar 18, 2016
Lo tengo en un RDS con Multi-AZ.
...