Experiencias en la administración de sistemas con Software Libre

Este es el título, aunque no el orginial que más bien era Experiencias del Software Libre en las empresas TIC, de la charla que dí el pasado Viernes en el curso de Arquitectura de servidores con Software Libre que está realizando LibreSoft y la Universidad Rey Juan Carlos en el centro Madrid On Rails y en el que Andago participa cómo colaborador. En un principio pensé que no podría dar la charla al estar en Reino Unido pero al final conseguimos cuadrar las fechas con los días que ibamos a estar por España arreglando papeles. El curso que ha montado la gente de LibreSoft me parece superinteresante, de hecho tuvimos suerte de pillar una plaza para uno de los compañeros del departamento de IT, y es el tipo de formación del que siempre me he quejado que no ofrezca la Universidad cómo parte de su temario habitual. Esperemos que se les reconozca el éxito y puedan repetirlo en siguientes ediciones.

El caso es que cuando me puse a pensar sobre qué podía contar sobre el tema me llegaron muchísimas ideas de golpe y no sabía muy bien cuales serían más interesantes y cuales descartar. Entre ellas había muchísimas experiencias e historietas de distinto ambito, desde cuando empezaba a utilizar mis primeras distribuciones de Linux en casa, las cosas aprendidas en la Universidad y en LinuxAlbacete, cómo montamos la infraestructura de un pequeño ISP en mi primer trabajo y luego todos los proyectos, metodologías, infraestructuras y lecciones que he ido adquiriendo durante los últimos años en mis distintos puestos dentro de Andago. Así que al final intenté incluir un poquito de cada cosa con la idea de dar muchas ideas y conceptos, sin profundizar en el cómo (HOWTO), de forma que sirvieran de puntero para que la gente del curso, en caso de que le resultaran interesantes o de utilidad, pudieran investigar un poco más.

A continuación os dejo las transparencias por si os interesa echar un vistazo:

La audiencia era gente con experiencia en la administración de sistemas así que intenté profundizar en los temas menos comunes o con los que pudieran estar menos familiarizados. Finalmente me pasé un cuarto de hora de la hora y media que tenía asignada, cosa que ya me estaba temiendo cuando terminé de preparar la charla, pero espero no haber aburrido demasiado a nadie. Yo cómo siempre disfruté cómo un enano contando cosas e intentando contestar las preguntas que me fueron hiciendo.

También había pensado en incluir un resumen de todo lo que conté en la charla en este post, pero pensándolo mejor voy a ver si saco tiempo y hago una serie de posts sobre ello porque hay demasiada chicha para un sólo día.

Rescatando una instancia con EBS en Amazon

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.

Novedades en RHEL 6

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.

Probar Amazon WS gratis por un año

Hoy nos hemos despertado con la sorpresa de la última campaña de Amazon ofreciéndonos 1 año gratis de algunos de sus servicios para los nuevos usuarios que quieran probarlo.

Lo primero gracias a @edeleon por el que me he enterado de la oferta vía twitter. La oferta es valida para todos los nuevos usuarios que se den de alta a partir del pasado 20 de Octubre y no sabemos hasta cuando estará vigente, y para los que se apunten podrán empezar a disfrutar de los servicios gratuitos a partir del 1 de Noviembre. Por tanto, para los que os animéis a probarlo os aconsejo que os apuntéis cuanto antes.

Y básicamente lo que qué incluye la oferta gratuita es:

– 1 Micro instancia, es decir una máquina virtual con 613Mb de RAM.
– Balanceo de carga, por si levantamos más instancias de pago.
– 10 Gbs de almacenamiento persistente (EBS)
– 5 Gb de espacio en S3

Es importante saber que si sobrepasamos los límites de servicio, por ejemplo de almacenamiento o de tráfico nos cobraran las tarifas habituales sobre lo que nos hayamos pasado, pero es algo con un uso prudente no debería de ocurrir, por otro ado el alta del servicio me han realizado 3 cargos de 1€, supongo que para validar la tarjeta de crédito.

La verdad es que para todos aquellos que queráis jugar y aprender como funciona la nube de Amazon es una gran oportunidad que no deberíais dejar pasar.

ACTUALIZACIÓN: 01/11 Amazon ya me ha devuelto los 3 euros que me cargó, igual me ha pasado con Paypal que me cobró un euro al dar de alta la tarjeta y me lo devolvió al mes siguiente.

Recuperación de desastres, algunas notas entre las llamas

¿Cuál es la probabilidad de que algo que es realmente muy improbable pase? No importa, porque por la ley del gafe terminará pasándote, así que aparte de intentar reducir la posibilidad de que esto pase el otro punto importante es estar preparado para cuando eso pase. Aquí va la historia:

Las dos semanas pasadas en el curro nos ha tocado a todo el equipo de IT ponernos el mono de bombero y apagar el incendio que provoca esa pequeña chispa tan realmente improbable. ¿Qué fue esta vez? Un fallo en los discos de la cabina central de almacenamiento, dónde tenemos la mayor parte de máquinas virtuales que son, cada día más, el centro de las operaciones de la compañía, decidieron romperse de forma coordinada. Los discos están en RAID 5 y disponemos de 3 discos de spare, discos listos para sustituir de forma automática a otro en caso de rotura, pero ¿qué pasa si cuando un disco ha fallado y está entrando uno de los de reserva y otro decide pasar también a mejor vida? El RAID ya no se puede reconstruir y en nuestro caso hay que tirar de backup. Lo siguiente ya os lo podéis imaginar, muchas horas sin dormir, carreras por los pasillos, gente preguntando cuando estará todo listo de nuevo y desesperación. Chicos, estamos en DEFCON 1.

Y aquí es dónde se debería sacar el libro «rojo» del armario, el famoso plan de recuperación ante desastres, y todo debería ser coser y cantar. Pero ante la inexistencia de ese libro con el plan maestro, aquí van algunos consejos que me doy a mi mismo para la próxima vez que tenga que afrontar un fuego:

Mantén la calma, hay que pensar con la cabeza fría y no actuar atropelladamente, ya que podemos agravar el problema por no pensar bien en las alternativas.

Gestiona eficientemente la comunicación, especialmente la que Lili califica cómo comunicación en crisis como es esta, y las distintas fases en las que te encontrarás durante la recuperación: la sorpresa inicial, el fastidio de que todo no esté para ya, la sombra de las dudas y demás reacciones a favor y en contra. Yo en esta parte soy partidario de la transparencia y de intentar mantener al día a todos los implicados de cuál es la evolución de nuestro paciente, pero también hay que saber soportar el chaparrón de la mejor manera.

Prioriza la recuperación, planificar la restauración del servicio y los datos estableciendo un sistema de prioridades hará más efectiva la recuperación, ¿qué servicios son más críticos para el negocio?

Toma notas para el futuro, soy un gran defensor de la mejora continua, y cuando hemos llegado a una situación de desastre es un gran momento para analizar que ha podido fallar y cómo podríamos evitarlo en futuras ocasiones. Además tienes viento a favor por parte de dirección para acometer cambios y mejoras, así que hay que aprovechar la ocasión. En resumidas cuentas, como mínimo, ¿habrá libro rojo la próxima vez?

Hay mucho por hacer de ahora en adelante, pero ahora mismo sólo querría destacar el gran trabajo de todo mi equipo, ha sido increíble luchar con las llamas con vosotros y os doy las gracias porque sin vosotros y vuestra dedicación todo habría sido mucho más complicado. También gracias a todos los afectados por el problema, porque habéis sido muy comprensivos. Ahora a planificar el futuro.

Mi primer artículo en Linux Magazine: En las nubes

Una de mis grandes aficiones de siempre ha sido escribir, eso ya lo sabéis los que entráis de vez en cuando a este blog, y tenía ilusión por publicar algo en un medio tradicional, vamos de papel.

Ya publicaron un artículo mío hace algún tiempo en «Linux Free Magazine» a partir de un artículo que escribí para Linux Albacete sobre Herramientas de Seguridad en Linux, entre algunos otros. En aquella ocasión fue una sorpresa ya que un día un amigo me llamó para decirme que le había gustado mucho el artículo que había escrito en esa revista y yo le contesté que yo no sabía nada de ese artículo. Luego compré la revista y efectivamente habían publicado mi artículo, tenían todo el derecho ya que lo publiqué con licencia Creative Commons By, pero ni si quiera se molestaron en avisarme, lo que habría sido todo un detalle.

El caso es que ya llevaba un tiempo dandole vueltas a la idea de enviar algún artículo a Linux Magazine y al final decidí lanzarme con uno sobre un tema bastante de moda cómo es la nube pero relacionandolo con un elemento tan puramente linuxero cómo es la línea de comandos. Al final aceptaron el artículo y ha salido publicado en esta edición que es el número 63 (Septiembre) de Linux Magazine.

El artículo es una introducción a cómo podemos gestionar servicios en la nube de Amazon de forma sencilla utilizando la línea de comandos y muestra un ejemplo práctico de cómo podemos montar un servicio web balanceado entre varios servidores en menos de 10 minutos, demostrando el ya tantas veces mencionado poder y flexibilidad de la nube.

Espero que a la gente que lo lea le sea de utilidad y a ver si me animo a seguir escribiendo de forma más continuada. Por cierto, una de las cosas que me gustaron de publicar en Linux Magazine es que te dan la oportunidad de publicar tu trabajo al paso de los meses con una licencia libre, así que en unos mesecillos liberaré el artículo para todos los que no hayan podido/querido comprar este número de la revista.

Ya de paso aprovecho para mandar un saludo y a agradecer a Dimitri Popov, que contribuye con una gran cantidad de artículos a Linux Magazine, y a Britta Wuelfing con los que coincidí en la LinuxTag de Berlin porque me animaron a enviar algún artículo y a Paul Brawn por animarse a publicar mi artículo.

ACTUALIZACIÓN: Ya se puede descargar la versión comunidad de Linux Magazine en la que se incluye mi artículo en las Nubes.

Charla Administrando Jboss

Bueno, la primera de las dos charlas de esta semana ya está impartida y voy a comentaros un poco cómo fue. En primer lugar agradecer a todos mis compañeros de Andago que se animaron a venir a la charla, espero que les gustara así cómo a toda la gente que se acercó a pasar un ratito hablando de Jboss. Cómo es costumbre, aquí os dejo las transparencias de la charla para los que no pudisteis venir o para los que estuvisteis y queréis refrescar algo:

La charla se comparte cómo Creative Commons Reconocimiento 2.5 de España, exceptuando la marca y el logo de Jboss que tienen todos los derechos reservados, y en caso de existir algún problema podría retirar de las transparencias. El vídeo con los contenidos de la charla puede tardar algo más ya que se va acumulando el trabajo y tarda algo más en subirse.

Creo que la charla quedó bastante completa, aunque un poco larga 2 horas y pico, pero es que hay mucho tema que cortar y espero que cubriera las expectativas tanto de la gente que no conocía para nada Jboss cómo los que querían profundizar un poco más en el tema. Cómo casi todas las charlas del GUL fue bastante interactiva, con muchas preguntas y comentarios, lo que siempre es bastante de agradecer porque se hace todo más ameno. Surgieron algunos temas interesantes cómo por ejemplo si es posible realizar medición del tiempo de CPU que consume cada clase dentro del servidor de aplicaciones, para lo que recomendamos utilizar alguna herramienta de profiling (ver post en el blog de Angago) o cuales son las clases que son serializables y cuales no, y por tanto no pueden ser usadas en un cluster de Jboss.

Cómo siempre disfruté cómo un enano, ya sé, tengo que calmar un poco mis ánimos porque de repente me emociono en el «escenario». Si tenéis algo de tiempo os recomiendo que os paséis por el resto de charlas del GUL de esta semana y la que viene, porque hay cosas super interesantes. Próxima parada: el Cebit: a conquistar Alemanía con las soluciones de software libre en la nube.

ACTUALIZACIÓN (16/03/2010) VIDEO: En este enlace al ftp del GUL podéis descargaros el vídeo de la charla: jboss.mpg (704,3 Mb)

Un manchego en el FOSDEM

El fin de semana pasado tuve la suerte de asistir al FOSDEM (Free Open-Source Software Developers European Meeting) representando a Andago (ver entrada en el blog de Andago). El FOSDEM es un evento que se realiza anualmente en Bruselas en el que se reunen más de 5000 personas interesadas en el mundo del Software Libre, muchos de ellos desarrolladores y miembros de las distintas comunidades y proyectos más importantes cómo Gnome, KDE, Mozilla o distribuciones cómo RedHat/Fedora, Debian/Ubuntu o Suse.

La verdad es que tenía muchas ganas de que llegara este viaje porque desde hace algunos años tengo ganas de asistir al evento pero aún no había tenido oportunidad. Así que el viernes pillé el avión saliendo desde la T2 y partí rumbo a Bélgica. Ya en el mismo aeropuerto empezé a conocer gente, en este caso a @porras, que había comentado en la lista del GUL que iría para allá y resulta que ibamos en el mismo avión, y a @valakirka, que ya habían estado otros años en el FOSDEM. Nada más llegar a Bruselas se nos unieron @therobot y @christos con los que fuimos a comer un Kebap y a intentar encontrar un tren que nos acercara al centro dónde teníamos nuestros hoteles.

fosdem-plaza

La primera noche se celebra el FOSDEM Beer Event cómo calentamiento de las jornadas y cómo inmejorable forma para conocer a la gente que se acerca por allí. Nada más llegar me encontré con @frikineka y @pascalchevrel que iban con el grupo de Mozilla con los que compartí una cervecita en la terraza. Luego dentro, se empezó a juntar muchas más gente de la representación española, muy nutrida. Por mencionar unos pocos: @jesuscliment, y su inseparable cámara (a ver si pasa las fotos), @renacuaja que llegó bastante tarde, los amigos andaluces @juanjeojeda y @nark0, menudo espectaculo cuando Juanje se me acerca y me planta el móvil al lado con la foto de twitter para comprobar si realmente era yo, y @dakalito que no podía faltar representando a ASOLIF, junto a @toscalix al que no me encontré aquí pero con el que charle un buen rato el resto de días.

A la mañana siguiente, no muy tarde porque me fui a dormir temprano, llegué al recinto universitario dónde se celebra el FOSDEM. La primera impresión es increíble, todo lleno de gente y de puestos dónde comprar artículos relacionados con el Software Libre y a la vez dar apoyo a los grupos.

fosdem-pasillo

Las primeras charlas en la sala plenaria dan paso a las casi 10 charlas simultaneas que se llevan a cabo en intervalos variables de 15 a 45 minutos. Las charlas se dividen en tracks o temáticas que tienen cabida en la misma sala, como por ejemplo las de escalabilidad, seguridad, las charlas relámpago de reducida duración o las salas de desarrolladores en las que puedes seguir un proyecto concreto. Las charlas son bastante técnicas y las hay de todos los niveles, la ventaja es que las da gente que trabaja directamente en los proyectos con lo que tienen un alto grado de conocimiento del que todos estábamos deseosos de aprovecharnos.

fosdem-pleno

Un consejo que yo mismo seguiré el próximo año, ya que espero repetir, es llevar muy bien seleccionadas las charlas, porque no todas las salas están juntas y todo ocurre muy rápido, con lo que a mí en ciertos momentos me daba la sensación de no poder estar en todos los sitios que quería y que con un poco de organización podría haber sacado más, pero supongo que es lo que pasa. Yo me centré en las charlas de Java/Jboss, escalabilidad y distribuciones, pero había momentos que me habría gustado poder partirme en dos. Por suerte las charlas se graban en video y ya podemos disfrutar de algunas de ellas en su página.

fosdem-womoz

También es muy enriquecedor el tan mencionado networking, traducido al castellano, el parloteo que te llevas con los compañeros en los pasillos entre charlas o en la comida, dónde se aprende casi tanto cómo dentro de las aulas. La verdad es que me recordó la época en que Linux Albacete organizaba el viaje al congreso Hispalinux en Madrid, aunque el FOSDEM es mucho más grande, pero vuelves con esa gran sensación de haber disfrutado y aprendido a la vez. Además últimamente en España las jornadas y las charlas están plagadas del regustillo empresarial/político y la verdad que tenía ganas de algo más de este estilo técnico.

fosdem-laptop

En resumidas cuentas un evento que no hay que perderse y que apunto en mi agenda para los siguientes años.

fosdem-demonio