Archivo para 'noviembre, 2010'

Gestionando servidores con Puppet

 | 29/11/2010 11:49 am

Aquí os dejo las transparencias de la charla «Gestionando servidores con Puppet» que impartí en los cursos del GUL de la Universidad Carlos III de Madrid el pasado 09 de Noviembre:

Las transparencias se liberan cómo Creative Commons Reconocimiento 2.5 de España respetando la licencia de las imágenes utilizadas cómo fondo, podéis ver un listado de los autores y la licencia de sus obras al final de las transparencias.

La charla se dividió principalmente en 3 partes: describir el problema que encaramos cuando intentamos administrar el creciente número de servidores que requiere cualquier entidad que consuma servicios de IT, algunas de las posibles soluciones que podemos encontrar así cómo qué características debe tener una solución a este problema y por último cómo Puppet puede ser esta solución y una pequeña introducción a cómo funciona.

Como siempre el auditorio estuvo bastante participativo y las preguntas hicieron más amena la exposición. Como siempre la parte de la demo siempre es la más complicada, de nuevo el bendito Android y la conexión 3G me facilitaron las cosas, pero sirvió para hacer una demostración de los conceptos mostrados en la parte teórica. Muchas gracias a todos los que os acercasteis a la charla y gracias por los comentarios positivos sobre la misma que hicisteis en el blog, así da gusto prepararse cualquier tema.

Hackeando luces en Callao

 | 22/11/2010 9:31 pm

Hace unas semanas cuando paseabamos por la Gran Vía de Madrid a la altura de la plaza de Callao vimos un montón de luces de colores que salían por las ventanas de una fachada y nos acercamos a ver que era. Nos encontramos con una chica con su ordenador que controlaba cómo iban apareciendo las luces, me pareció muy curioso y le tomé un vídeo. Luego en casa Lili y yo nos animamos a añadirle una banda sonora y a subirlo a YouTube, a ver qué os parece:

Nunca supimos cuál era el motivo exacto del evento de luces pero ahora en esa misma fachada tienen montada una publicidad con grandes pantallas en las ventanas de una conocida marca de ropa por lo que suponemos que o era una prueba o algún tipo de inauguración del local.iconografia

El tema de controlar las luces de un edificio de forma coordinada, cómo si fueran pixeles, a través de un ordenador es un tema recurrente en la iconografia asociada a los hackers. Hay algunos videos impresionantes en youtube en los que se puede ver cómo juegan al space invaders o al snake usando esta técnica sobre la fachada de los edificios.

Nunca había hecho nada de edición de vídeo y quería probar a hacer algo sencillito cómo esto, añadir una pista de audio a un vídeo o algún efectillo, y me recomendaron que usara Kdenlive. Tras trastear un rato con la interfaz resultó tan sencillo cómo crear un proyecto nuevo con 3 pistas: una de vídeo y audio para cargar el vídeo que teníamos grabado y una de audio adicional para la canción que queremos mezclar y silenciar la pista de audio original del video, salvando el resultado en un formato de vídeo que prefieras.

Para el audio fuimos directamente a Jamendo en busca de alguna canción chula con licencia Creative Commons y nos quedamos con Square 1 de Jemex (CC Attribution-ShareAlike 3.0 Unported) que nos pareció muy adecuada, podéis oir el album completo a continuación:

Rescatando una instancia con EBS en Amazon

 | 9:00 am

Este domingo, tras una increible fiesta mexicana la noche anterior, se me ocurre echar un vistazo al mail y me encuentro con un correo de Amazon indicándome que tienen problemas con el servidor anfitrión que alberga una de mis instancias de servidores virtuales, por cierto la que conseguí de forma gratuita.

We have noticed that one or more of your instances are running on a host degraded due to hardware failure.

i-55624c22

The host needs to undergo maintenance and will be taken down at 12:00 GMT on 2010-11-22. Your instances will be terminated at this point.

The risk of your instances failing is increased at this point. We cannot determine the health of any applications running on the instances. We recommend that you launch replacement instances and start migrating to them.

Feel free to terminate the instances with the ec2-terminate-instance API when you are done with them.

Sincerely,
The Amazon EC2 Team

El correo me dice que mi instancia está funcionando en un host degradado debido a un problema de hardware y que mi instancia será terminada en una operación de mantenimiento esta misma noche… al principio ni siquiera me lo podía creer ¿dónde quedó lo de la ubicuidad de la nube y el abstraerse de los problemas físicos? Dado que la instancia dispone de un almacenamiento persistente EBS, no podrían simplemente migrarla en vivo a otro servidor y santas pascuas. ¿Tendrá algo que ver con que se trata de una micro instancia, que está paravirtualizada o a que estemos en el pool de servicio gratuito? Igual han dedicado todos los servidores a punto de romperse a esta campaña de marketing… quién sabe.

Anteriormente cuando no disponíamos de imágenes con el almacenamiento directamente sobre EBS si una instancia era terminada todos los datos de la instancia que no salvaras explicitamente en un bloque EBS especialmente montado para ese propósito eran eliminados, ahora cuando terminas una instancia con EBS simplemente el EBS se queda almacenado para que lo anexes a otra instancia o para que lo borres si ya no vas a hacer uso de él. Así que bastaría con esperar a que pararan la imagen y levantar una nueva con ese EBS, pero al ir a conectarme comprobé que la instancia ya ni si quiera estaba en funcionamiento y no podía acceder a ella por web o por ssh, así que me lanzé ¡AL RESCATE!

El primer paso era parar la instancia que estaba fallando para poder liberar el EBS, pero sorpresa… la instancia no se para por mucho que se lo pidas, supongo que debido a los temibles problemas de hardware. Tras esperar veinte minutos decidí buscar un plan alternativo. Y aquí es dónde sacamos provecho de la potencia de los snapshots, así que simplemente hacemos un snapshot, es decir una copia, de nuestro EBS y creamos un nuevo EBS a partir del snapshot con lo que tendremos una copia exacta de nuestro almacenamiento disponible.

El siguiente paso es arrancar una instancia y asignarle el nuevo EBS que hemos sacado del snapshot. Me parecía recordar que podías hacer eso en un sólo paso pero a través del API y la línea de comando pero no encontré forma de hacerlo a través de la consola web así que hubo que hacerlo en varios pasos. Arrancamos la nueva instancia con un EBS por defecto, luego la paramos, desligamos el EBS de la instancia y lo borramos para a continuación enlazar el EBS que sacamos del snapshot con la instancia en la ubicación /dev/sda1 y ya estamos listos para arrancar una instancia clonada desde la original que estaba fallando.

Por otro lado, es posible que tengas que hacer alguna adaptación interna de tu servidor ya que tu dirección ip pública y privada en Amazon habrán cambiado, en mi caso a este nivel tuve que cambiar el /etc/hosts del servidor. Si dispones de una ip elástica para ofrecer los servicios te bastará con cambiar la instancia a la que apunta esta a la nueva instancia que hemos creado y tu servicio debería volver a la vida y responder de forma correcta a los dominios que la apunten. Cómo yo no dispongo a día de hoy de ip elástica, no entraba en el pack gratuito de Amazon, estaba usando la ip pública de Amazon cómo entrada a mis servicios y alguno de ellos cómo wordpress dependen de ella me tocó arreglarlos en la base de datos:

update wp_options set option_value=»http://minuevaippublicaamazon/miwordpress» where option_name=»stieurl»;
update wp_options set option_value=»http://minuevaippublicaamazon/miwordpress» where option_name=»home»;

La verdad es que se destapan dos temas igualmente de importantes respecto al servicio de Amazon: la fiabilidad de la nube y la felxibilidad de la que nos provee. Cada uno que saque sus conclusiones y vea hacia dónde se inclina la balanza.

Sorteo en el departamento de IT

 | 19/11/2010 11:52 pm

Con la escusa de que habíamos acumulado algo de merchandising de los distintos eventos en los que hemos participado, decidimos hacer un pequeño sorteo dentro del departamento de IT para ver quién se quedaba cada cosa. Cómo no, el sorteo no podía ser por los medios tradicionales, lease papelitos o piedra-papel-tijera, así que me aventuré a tirar unas líneas de python que resolvieran el problema de forma sencilla, aunque como veréis luego decidimos complicarlo un pelín más. El sorteo lo proyectamos en la tele que tenemos para la monitorización justo al lado del departamento:

La primera versión del código era realmente sencilla y muestra lo fácil que es hacer algo con python, simplemente declara un array de personas y otro de regalos, recorre los regalos y va eligiendo una persona de forma aleatoria como ganador de cada regalo y eliminando esa persona del array de personas:

sorteo-simple.py (Pincha sobre el enlace para ver o descargar el código)

Pero así quedaba un poco simplón por lo que añadí alguna opción más para hacerlo más interesante. La idea es que había gente que sólo estaba interesada en algunos regalos y tenía su orden de preferencia, así que modifiqué el código para que las tuviera en cuenta en caso de que te tocara un regalo a modo de Wish List:

sorteo-wish-list.py (Pincha sobre el enlace para ver o descargar el código)

Y por supuesto el código fue enviado a todos los participantes para que lo auditaran antes de su ejecución con el consiguiente debate de cómo se podría hacer mejor… además en el correo me colé y puse para vuestra audición y alguno quería ponerlo con el festival. Y claro, así no hay forma de hacer trampa, con lo que finalmente no me tocó ningún regalo cómo podéis ver si pincháis sobre la imagen de la tele, pero al menos me queda esta entrada del blog cómo recuerdo.

Novedades en RHEL 6

 | 18/11/2010 7:57 pm

En el post anterior comentaba las primeras impresiones de la instalación de RHEL 6 y os prometía ampliar algunas de las novedades que trae esta nueva versión después de la presentación que nos realizaron en el evento de partners de Red Hat.

Cómo la descripción general podéis verla en la web de Red Hat sobre RHEL os dejo las notas que tomé porque me sorprendieron o interesaron durante la presentación:

* Mejoras en la eficencia energética: se incorporan comandos como powertop e iotop para medir el consumo de los distintos procesos así cómo tuned, un demonio que va adaptando los recursos del sistema para mejorar la eficiencia

* Con cgroups podremos establecer un límite de recursos sobre un proceso a nivel de número y porcentaje de cpu, memoria, disco y red de forma dinámica.

* Se de usar PAM a SSSD

* Respecto al temido SE-Linux se crean dos nuevos modos: SE-Linux kiosk para aplicar políticas a sesiones en modo kiosko cuando es un terminal de uso público y SE-Linux sandbox para confinar aplicaciones que no tienen todavía definida una política predefinida de SE-Linux

* En cuanto a IPSEC se pasa de usar OpenVPN a OpenSwan

* Dispondremos de System Tap para depurar aplicaciones, pero al parecer también nos va a permitir depurar aplicaciones Java

* KVM entre muchas otras mejoras permite añadir recursos físicos en caliente (CPU, disco, memoria, etc…)

* Yum permite hacer rollback de una instalación !!!

* Simplificado el reporte de errores ante fallos graves que captura el estado de la máquina y permite enviarlo a Red Hat para abrir un bug

* En la parte de Cluster podemos destacar el uso de corosync, unfencing y la interfaz conga rediseñada

También hay grandes cambios en el tema de subscripciones y se complica un poco el tema de saber cuál aplica a tu caso, además de estar fuertemente ligado a la virtualización, pero básicamente tendremos que sacarlo de cruzar los siguientes datos:

* Por cada par de sockets (zocalos utilizados) del servidor anfitrion
* Por el número de guest RHEL máximo que podemos correr en ese anfitrión (1, 4 o ilimitado)
* Por el número de extras que queramos contratar (alta disponibilidad, GFS, XFS, soporte extendido, etc…)

Un caso curioso es el de los clusters de virtualización que tengan migración en vivo, en cuyo caso todos los servidores a los que pueda ir un guest RHEL deben de tener una subscripción activa y el máximo de guests que podremos ejecutar en total en el cluster saldrá de sumar los guests permitidos en cada una de las subscripciones de los nodos anfitriones (1 o 4 o más si apilamos varias subscripciones en ese mismo anfitrión) o será ilimitado en caso de tener subscripciones de tipo ilimitado en todos los nodos del cluster, ya que estas no se pueden mezclar. Un poco lioso.

Lo que sigue estando verde es el tema de usar RHEL en nubes públicas aunque se están avanzando acuerdos con los proveedores de Cloud para que lo ofrezcan por ahora no hay subscripciones que puedas pagar por uso provenientes de la propia Red Hat.

ACTUALIZACIÓN: Se me había olvidado comentar el tema de formación y certificación que también tiene sus novedades. Cómo comentaba por twitter casi me enteré antes de que estaba RHEL 6 en la calle porque me llegó un correo indicando que en breve va a estar obsoleta mi certificación RHCE, la saqué con la versión 4, y que la RHCT, la renové a la versión 5 en el evento de partners de Valencia dónde hacían exámenes gratuitos, se convalida con la nueva certificación RHCSA (Red Hat Certified System Administrator) que será la nueva certificación previa a sacar el RHCE.

Probando la instalación de RHEL 6

 | 16/11/2010 8:30 pm

Hace un par de días se lanzaba definitivamente la nueva versión de Red Hat Enterprise Linux: RHEL 6. Y aunque ya le había echado un ojo a alguna Release Candidate he sacado un rato para probar la instalación en una máquina virtual de KVM de la edición de servidor de RHEL 6 recien descargada de Red Hat Network. La instalación ha sido muy sencilla y aquí os dejo los pasos y algunos comentarios al respecto.

La instalación arranca con la selección del tipo de acciones que queremos realizar: instalar, instalar en modo texto, recuperar el sistema, arrancar desde el disco local o hacer el test de memoria. Nada nuevo por ahora en el horizonte, seleccionamos la opción de instalar:

A continuación haremos la típica selección de idioma y teclado, en mi caso me gusta mantener el idioma en inglés, sobretodo porque es más fácil rastrear los mensajes de error por internet, y el teclado en castellano:

Seleccionamos nuestra ubicación en Madrid:

Y pasamos a seleccionar el dispositivo de almacenamiento en el que queremos instalar, siendo las opciones básico o especializado, permitiendo esta última opciones muy interesantes para el modo servidor cómo instalar en una cabina de almacenamiento o añadir drivers de nuestro raid hardware:


Enseñame más… »

Amazon lanza un servicio de supercomputación mediante GPUs

 | 15/11/2010 11:16 am

Parece que en los laboratorios de Amazon no paran ni un sólo momento y aplican constantemente el principio de mejora continua a sus servicios. Esta mañana nos hemos despertado con un sorprendente anuncio: podremos disponer de instancias de Amazon Web Services orientadas a montar clusters de computación mediante GPUs, es decir utilizando la potencia de calculo de la tarjeta gráfica. Un paso realmente interesante ya que últimamente la capacidad de cálculo de estas tarjetas supera a la que nos provee la CPU del sistema.

Las instancias de Amazon Cluster GPU disponen de:

22 Gb de memoria
33,5 unidades de computación EC2 (2 x Intel Xeon X5570, quad-core)
2 NVIDIA Tesla M2050

Con esta configuración podemos alcanzar hasta un trillón de operaciones en coma flotante de doble precisión por segundo. La idea es muy interesante y se une a la oferta que ya disponía Amazon de instancias orientadas a HPC (Computación de altas prestaciones) y que dispara las opciones cuando planteamos si nos merece la pena montar un cluster de computación en nuestro CPD o usar uno en la nube bajo demanda. A día de hoy el coste por hora de la instancia, sin contar otros costes indirectos cómo Ips fijas, almacenamiento persistente y demás, es de 2,10$ y el servicio cómo en otras ocasiones sólo está disponible inicialmente si usamos la zona de EEUU, aunque lo estará proximamente en todas las demás.

Charla: Gestionando nuestros servidores con Puppet

 | 5/11/2010 9:54 am

Otro semestre más vuelven los cursos del Gul de la Universidad Carlos III de Madrid que durante la semana próxima, del 08 al 14 de Noviembre, tratarán de temas tan interesantes cómo Git, tunning de Mysql, Android o ITIL. Yo me apunto de nuevo a dar una charla y esta vez será sobre Puppet y cómo puede cambiar radicalmente la concepción de la gestión de nuestros servidores ofreciendonos grandes ventajas en la automatización, gestión de configuración y la reutilización.

Mi charla será el Martes 09 de Noviembre a las 18:00 en el aula 4.0.E02 en el Campus de Leganés de la Carlos III, así que si os interesa el tema nos vemos por allí.

ACTUALIZACIÓN: Ya tenéis un resumen y las transparencias de la charla disponibles en el blog.