Backups gratis (o casi) con Amazon EC2

Recientemente he cambiado de servidor y necesitaba un nuevo sistema para hacer las copias de seguridad de hispashare. Antes, lo que hacía eran simples copias locales, lo cual es una tontería porque si se rompe el disco lo pierdo todo igualmente, pero bueno, así ha funcionado durante años y por suerte nunca me ha hecho falta recuperar nada de un backup.

Me he propuesto hacer las cosas bien con el nuevo servidor así que he hecho lo siguiente:

  1. Crear una cuenta gratuita en AWS (Amazon Web Services)
  2. Crear una micro instancia EC2 (Elastic Compute Cloud) y configurarla para acceder por ssh usando claves RSA
  3. Crear un volumen EBS (Elastic Block Store) del tamaño deseado, formatearlo en EXT4 y montarlo en la instancia EC2
  4. Desde mi servidor, monto el volumen EBS (usando sshfs) y así lo puedo utilizar como si fuera una unidad local (por ejemplo, en /mnt/backup)
  5. Programar las tareas cron para que me haga 3 backups (uno diario, otro semanal y otro más mensual).

Los backups son copias completas archivadas en tar.gz y volcados de la base de datos mediante mysqldump. Como el servidor tiene 1 Gbps de ancho de banda, hace todo el proceso unos pocos minutos!!!

Si no me equivoco, el período gratuito es de 12 meses y luego Amazon empieza a cobrar, pero viendo los precios y teniendo en cuenta el uso que le voy a dar, casi da risa.

Anuncios

Un nuevo servidor de eMule/eD2K: eNode

He dejado de lado la programación de la nueva web porque me he metido en otro proyecto.

Me gustaría tener un servidor de eMule para los usuarios de HispaShare pero el único programa existente (Lugdunum) no es de código abierto ni tiene las funcionalidades que yo quiero. Por lo tanto me he propuesto programar uno yo mismo y liberar el código para que cualquiera pueda mejorarlo.

Ya tengo lista una versión alfa. Para quien quiera revisarlo o contribuir al proyecto, puede descargarlo o hacer un fork en GitHub. En la red local funciona bastante bien (habrá que ver cómo rinde en el mundo real con cientos de miles de usuarios).

Como veréis está escrito en Node.js y el almacenamiento lo hace en bases de datos MySQL. No sé si el almacenamiento SQL es la mejor opción para este caso pero es muy simple cambiarlo a otro sistema, tal vez pruebe algún NoSQL como Cassandra o CouchDB o un indexador tipo Sphinx. ¿Alguien me recomienda un sistema eficiente para buscar cadenas de texto en tablas de 50 millones de filas?

Estoy ahorrando para contratar una máquina más potente para poner en marcha el servidor y trasladar la web actual (la publicidad de la web es un fastidio pero paga estas cosas…). En cuanto pueda anunciaré la dirección para que podáis añadirlo a vuestra lista de servidores.

Para más detalles sobre eNode, características, instalación y configuración, visitad el GitHub del proyecto.

Servidor bloqueado (falsa alarma)

He estado unos días de vacaciones y al volver me he encontrado el correo lleno de avisos y la página fuera de servicio. En un primer momento me he asustado porque coincidía que hace unos días recibí un correo amenazador de la FAP (Fundación Anti-Piratería) instándome a cerrar la página. Sin embargo, el bloqueo de la página no ha tenido que ver con eso, por lo visto ha habido un problema con el cobro de mi tarjeta de crédito.

Yá está solucionado, en unas horas debería volver a ponerse en marcha.

Lamento las molestias.

Nota mental: haz copias de seguridad de la base de datos…

Nuevo servidor en marcha

En algún rack como esos está HispaShare

En algún rack como esos está HispaShare

Ya hacía tiempo que la web necesitaba un nuevo servidor y por fin he hecho la mudanza. Ayer todavía había algunos usuarios con problemas debido a que no se actualizaron las DNS del dominio pero parece que hoy ya va todo sobre ruedas.

El nuevo servidor, comparado al anterior, tiene el doble de RAM, el doble de CPU, cuatro veces más de disco duro (en RAID-1) y lo que es mejor… está conectado a 100 mbps y sin límite de tráfico (el anterior iba a 6 mbps con 2.4TB de límite). Está alojado en Alemania por lo que los tiempos de respuesta deberían ser mucho menores (el anterior estaba en Las Vegas, EE.UU.).

El sistema operativo que usa es el GNU/Linux CentOS5. Antes usaba Debian, pero viene a ser lo mismo, sólo cambian algunas cosas de sitio y de nombre y en vez de apt-get, usa yum. La página la programé para PHP4 y ahora se ejecuta con PHP5 sin haberle hecho ningún cambio (supongo que es lo normal).

Como ya no tengo límite de transferencia, ahora todas las imágenes se sirven desde el mismo servidor, en vez de usar servidores externos como comenté anteriormente. Con esto ha mejorado notablemente la velocidad de carga de la página.

A ver cómo responde…