Hace unos momentos pusimos en marcha un segundo servidor para balancear la carga del servidor web. No era estrictamente necesario pero algún día teníamos que probarlo, el lunes son los días de mayor tráfico por lo que lo pusimos en marcha el domingo a la noche para que afectase a menos gente.
Durante unos minutos hubieron unos problemas de «no tiene permiso». Esto se debía a problemas con el NFS y la resolución de nombre de las IP del segundo servidor. Es un glicth del /etc/exports del NFS [*], pero la culpa fue mía por no saberlo antes y hacer todas las pruebas posibles antes de cambios en el DNS 😦
Ya está arreglado y ajustado, esperamos que no se vuelva a repetir. Perdón a los que lo notaron.
[*] Si en el /etc/exports especificas direcciones IP (del tipo 192.168.0.*) pero la dirección del cliente tiene resolución inversa entonces no la usa, sólo busca por el nombre. He tenido que poner ambos casos (*private.meneame.net y *private) por las dudas, para que no vuelva a suceder si modificamos el DNS o el /etc/hosts.
¿Y cuantos ataques DDoS se aguanta ahora? lol
Pues estaría bien que explicaráis la estructura que habéis utilizado :P. Menéame va muy bien, y con la IP nueva (esa que termina en …8) carga tambié bastante rápido…
Adrián:
Es muy sencilla, y el software ya está preparado para hacerlo.
La bbdd está centralizada y puedes tener todos los servidores webs que quieras. Ahora lo hacemos por round-robin del DNS (el haproxy es una muy buena opción para mejorar), los ficheros del software y cache de imágenes están compartidos por NFS.
No me carga meneame, por lo que leo debe ser el cambio de servidores. seguire esperaando. mientras tanto sigo jugando con el Phun
Es decir, hay dos servidores idénticos (con un master que además comparte el directorio web). El «esclavo» o el segundo servidor sería otro que tiene también MySQL y una réplica en tiempo real de los ficheros. Si es así, es muy sencillo pero también muy eficaz. Tomo nota 😛
Cuando dices que la bbdd está centralizada ¿todos los servidores web atacan a mismo MySQL o hay un MySQL slave para cada servidor web como dice Adrián?
La BBDD está replicada, pero la reṕlica la usamos para procesamiento «off line» (detección de clones, abusos, etc.) Las consultas web van todas al mismo servidor de mysql.
Dando semejantes pistas yo tendría miedo por un ataque de inyección de SQL
un ejemplo http://elladodelmal.blogspot.com/search/label/Blind%20SQL%20Injection
Un momento… ¿NFS? ¿Estáis usando Mac OS?
@wictor NFS no es exclusivo de MacOS aunque muchos maqueros puedan pensar que sí porque lo descubrieron allí.
No es tan diferente del caso de muchos windoseros que en un Windows descubrieron Internet y el PC y las ventanas y la informática y los bits… todo ello el invento de un gran hombre, Bill Gates 😛
http://en.wikipedia.org/wiki/Network_File_System_(protocol)
Mea culpa. Estaba pensando en HFS…
Enhorabuena y bienvenido al maravilloso mundo del balanceo de carga 🙂
No decis como haceis el balanceo de carga, pero si hablais de DNS, me imagino que sea un DNS round robin no?
Luis en el comentario #3 gallir lo dice. «…Ahora lo hacemos por round-robin del DNS…» 🙂
Cita: «Durante unos minutos hubieron unos problemas de no tiene permiso»
Leed sobre uso correcto del «Hubieron» versus «Hubo»
Aquí: http://www.igooh.com.ar/Nota.aspx?IdNota=7848
Sólo eso…
Por curiosidad. ¿Tenéis los dedicados en el mismo centro de datos? Supongo que seria ideal tenerlos en diferentes por ejemplo uno en España y otro en USA.
Aunque debe ser mas costoso y supongo que la sincronización debe tener un consumo de ancho de banda muy grande. ¿Me equivoco?
Saludos a todos.
El balanceo de DNS está muy bién, ahunque yo haria que cada servidor web atacase a réplicas diferentes de la bd, y mantener una master donde se harian solo los inserts y updates. El problema es que los cambios (votos, comentarios, etc…) no aparecerian en «tiempo real» en el web… es por eso supongo que haceis que los dos servers ataquen a la misma bd master 🙂
buena suerte!
Albert,