Provisionamiento de máquinas virtuales RedHat/Fedora/CentOS

Es una vergüenza que la manera más rápida de crear máquinas virtuales con RedHat, Fedora o CentOS sea instalar un cacharro con Debian y usar rinse.

Hagamos rewind y dejen que les ponga en antecedentes.

Si quieres meterte seriamente con el tema de la virtualización, uno de los primeros problemas con los que tienes que enfrentarte es el del provisionamiento de las máquinas virtuales. "Provisionamiento" no es más que un palabro que se inventó alguien para referirse a la creación e instalación de máquinas virtuales. Supongo que tiene algún origen razonable, pero lo desconozco.

Esto quiere decir que tienes que buscar una manera de crear máquinas virtuales que no sea cargar el virtualizador (Xen, KVM/QEMU, VMWare, lo que sea) y ejecutar todo el proceso de instalación como si fuera una máquina de verdad. "Virtualizar" no significa crearte una máquina Windows en tu escritorio para ejecutar algún juego que no puedes ejecutar en Linux. Estamos hablando de virtualización "industrial": por ejemplo, teniendo dos máquinas físicas, crear diez máquinas virtuales que van a desempeñar labores de firewalling (sí, se puede hacer en una máquina virtual; no, yo tampoco lo haría, pero hay gente para todo), servidor de correo, servidor "LAMP", servidor de aplicaciones con Tomcat, y dios sabe qué más. Y además, tienes que hacerlo rápido. Instalar todas esas máquinas de la forma tradicional te podría llevar, siendo optimistas, media hora cada una. Nuestro plan es instalarlas en cuestión de minutos, o menos.

Si han jugado un poco con estos temas, lo de instalar una máquina virtual en un par de minutos lo verán como algo razonable. Para los que no se han metido con estos temas y tienen como referencia la instalación "manual", puede parecer preposterous (absurdo, vaya). Pero es cierto: en el trabajo "provisionamos" máquinas virtuales con Debian "Lenny" en 15 segundos. Eso es sin ningún servicio, claro; lo que lleva más tiempo luego es instalarle lo que vaya a necesitar para "trabajar". Pero es un comienzo.

En Debian existe la herramienta debootstrap desde hace años. Sirve para crear chroots con Debian, originalmente para poder crear paquetes de las versiones inestables o antiguas de Debian sin tener que actualizar (o desactualizar) todo el sistema. debootstrap se baja los paquetes necesarios para instalar el sistema desde un mirror que le digamos, lo que tiene de malo que tarda un rato (dependiendo e nuestra conexión) pero tiene de bueno que son los paquetes de la distribución "real", no una base estática que pudiéramos tener guardada por ahí. Desde que han aparecido las técnicas de virtualización, es una herramienta indispensable para crear máquinas virtuales Debian. Por si no lo han usado nunca, además es facilísimo. Un ejemplo:

        debootstrap lenny /un/directorio/

O sea, que en Debian ya partíamos con ventaja cuando todo esto de la virtualización se puso de moda. Podíamos crear la base de una máquina virtual (su imagen de disco), usar debootstrap para meter ahí un sistema Debian básico, y arrancarlo. Todo en cuestión de minutos.

En Ubuntu tienen una utilidad que se llama python-vm-builder y que da el paso siguiente: además de usar debootstrap para crear el sistema básico, también crea la imagen de disco e incluso te deja (en el caso de QEMU/KVM, que es el que he probado yo) un script para arrancarla con los parámetros adecuados. O sea, que crear una máquina virtual completa, lista para correr, se reduce a esto:

        vmbuilder kvm hardy

Y luego ejecutar el script run.sh que te deja en el directorio que crea. Lo malo es que no soporta (que yo haya visto) Debian, sólo Ubuntu, pero debería ser trivial apañar algo para que lo haga. Seguro que alguien por ahí lo ha hecho ya.

Si usas Xen, mejor todavía. "De serie" viene con Debian (y Ubuntu) xen-create-image (paquete xen-tools), que es una utilidad que hace absolutamente todo lo que te hace falta para crear una máquina virtual Debian/Ubuntu para Xen de forma tan sencilla como esto:

        xen-create-image --hostname mimaquina

Hay otros parámetros que hay que configurar, pero se pueden poner en un fichero y usar eso por defecto salvo que se indique otra cosa. Se puede usar debootstrap para crear máquinas con xen-create-image, pero lo más rápido es usar un tar.gz con un sistema creado previamente, o directamente un árbol de directorios en el que hayas hecho el debootstrap previamente. Si quieres crear tropecientas máquinas con Etch o Lenny, puedes tener los árboles creados de antemano y luego usar el método copy de xen-create-image. Es así como alcanzamos el "récord" de crear una máquina virtual en 15 segundos en el trabajo. xen-create-image también crea el fichero de configuración de Xen. No tienes que hacer nada más. Permite muchas otras customizaciones que lo hacen todavía más potente, pero no me voy a meter en eso ahora.

Pues bien. Resulta que en las distribuciones RedHat, Fedora y CentOS (Suse es más comercial y ya ni hablo de ella; Mandriva ... ¿existe todavía?) no hay nada así de fácil. Por lo que he estado mirando, hay dos formas serias:

Desconozco si hay otros métodos, y si alguien lee esto y los conoce, por favor, que me los diga. Estoy escribiendo este rollo porque me parece tan increíble como ridículo que no haya algo estándar y Open Source como debootstrap/xen-create-image/vmbuilder en las distribuciones basadas en rpm.

La gran diferencia de virt-install y cobbler con los programas de antes es que el provisionamiento se basa en arrancar el programa de instalación nativo de la distribución y darle unos valores predefinidos en forma de fichero kickstart. Eso quiere decir que la instalación va por el camino que tú le has prefijado, y que quedará un sistema con las preferencias que tú le has dado. Pero sigues teniendo que pasar por todas las etapas de la instalación, aunque sea de forma desatendida (sólo tienes que sentarte a mirar cómo se instala todo, dicho de otra forma), lo que es mucho más lento que copiar ficheros (como haces con xen-create-image).

Eso sí, tanto cobbler como virt-install te permiten instalar también otros sistemas operativos. Yupi.

Pero hete aquí que en Debian, y del mismo autor de las xen-tools, hay un paquete que se llama rinse y que instala, a la debootstrap, distribuciones basadas en rpm. Hace lo que parece obvio (pero no debe serlo tanto): se descarga los rpms y los descomprime en el directorio que le digas. Ejemplo de ejecución:

        rinse --distribution centos-5 --directory /mi/directorio

No todo es juerga, claro. rinse tiene que hacer algún truco un poco sucio para acabar la instalación. Pero funciona, y es más rápido (con diferencia) que cobbler o virt-install.

O sea, que lo mejor para provisionar máquinas con distribuciones basadas en rpm es una distribución que no usa rpm como formato nativo. Oh, the irony.

Otra de Sinfest

Qué quieren que les diga. Me encanta.

Historia abreviada de los EEUU.

Una razón más para que no te gusten los 40 Principales

Recuerdo que cuando tenía trece y catorce años escuchaba "Los 40 Principales" a todas horas. Coincidió con la época en que The Queen sacó The Miracle y (aunque no se lo crean) Joe Satriani llegó a número uno con Summer Song (del LP The Extremist). Quiero creer que fue por eso que estaba enganchado a la emisora, aunque siendo sinceros lo más probable es que a esa edad me valiera casi cualquier tipo de música. Uno que era joven e impresionable.

Desde aquella he dejado esos "malos hábitos", pero como los 40 Principales bombardean casi cualquier televisor de cualquier bar a casi cualquier hora, es inevitable darse de narices (o de oídos) con ellos de vez en cuando. Y he aquí que un día, por casualidad, escuché en uno de esos televisores cuarentaprincipalizados una canción que me gustaba: "They call my name", de "The Tin Things".

Hice lo que cualquiera haría en mi situación: al llegar a casa, busqué más información sobre el grupo y alguna "canción de muestra" para bajarme (legalmente, claro). Pero nada: según Google, el grupo no tenía página web. Sólo encontré alguna referencia vaga en algún weblog y página de letras de canciones. Muy extraño.

Para no enrollarme, al final descubrí el misterio de la "no existencia" del grupo: no son "The Tin Things", sino The Ting Tings; y la canción no es "They call my name", sino That's not my name. Casi lo mismo, vaya.

Llegados a este punto, se me ocurrían dos posibilidades. La primera era que la gente que trabaja en los 40 sea estúpida y/o ignorante, y metieran la pata al rotular la canción. Es la posibilidad más tentadora: siempre gusta pensar que otra persona es idiota. Da como un cierto regustillo culpable, ¿verdad?

La otra posibilidad es que lo hubieran hecho aposta. ¿Por qué? Bueno, para entenderlo hay que ser un poco paranoico y malévolo (rasgos ambos que me caracterizan). Si sólo puedo encontrar los ficticios "The Tin Things" en los 40, estoy "obligado" a escuchar la emisora si quiero escuchar su música. Son el único proveedor de ese tipo de música, dicho de otra forma. Y por otro lado, poniendo un nombre falso se aseguran de que cualquiera que vaya a las redes P2P a buscar la música del grupo para descargarla no la encuentre (y no lo digo por experiencia).

Ya les dije que hacía falta ser paranoico.

Pero bueno. Como se suele decir, "no atribuyas a la maldad lo que puedes atribuir a la ignorancia". La teoría más simple y plausible es que alguien tenía una resaca del copón (o mucho sentido del humor) y se equivocó al poner el nombre del grupo y el nombre de la canción. Tiene tela, equivocarse en ambas cosas, pero como dijo Einstein: "hay dos cosas infinitas: el universo y la estupidez humana".

"The Lord of the Flies" y "To Kill a Mockingbird"

No es que lea libros a pares. Es sólo que hablo sobre ellos en batches. Los dos últimos que he leído son The Lord of the Flies, de William Golding, y To Kill a Mockingbird, de Harper Lee. Ambos tienen entradas en Wikipedia, por si no les llega lo que yo les cuente de ellos.

The Lord of the Flies habla de cómo la civilización es algo frágil que se pierde en cuanto desaparece la fuerza exterior que nos la impone. Un conjunto de niños británicos sobreviven a un accidente de avión que los deja aislados en una isla desierta, y se organizan entre ellos de forma parecida a lo que han visto en sus ciudades de origen. Así escogen a un jefe democráticamente y definen cargos, derechos y deberes para los miembros de su pequeña sociedad. Pero como la cabra siempre tira al monte (que sería otra forma de resumir el libro), poco a poco va desapareciendo el civismo para dar lugar a la verdadera (según Goldwin) naturaleza humana. Y no es agradable.

El mensaje de Goldwin es: somos malos. Somos malos, y sólo somos buenos si tenemos a alguien superior en fuerza que nos mantenga a raya. En el libro, los personajes hacen cosas terribles; pero no empiezan así. Son niños normales, como los que fuimos o conocimos nosotros. Es fácil ver en alguno de los personajes a alguien conocido. Cuando llegan a la isla son buenos chicos, aunque se pueda ver en alguno la semilla de lo que serán. Pero en cuanto la influencia de la civilización se extingue, se vuelven más y más salvajes. Al final, a los niños criados en selectos colegios ingleses no es posible distinguirlos de cualquier tribu salvaje.

El libro se lee bien: es corto, con mucho diálogo y al final muy intenso. El final llega casi de repente, por sorpresa. Muy recomendable.

Y cambiando totalmente de tono, To Kill a Mockingbird. Es un libro que muestra, desde el punto de vista de una niña de pocos años (el libro cubre tres o cuatro de ellos), un juicio que se celebra en Maycomb County, Alabama, en los años 30 del siglo XX. Ya se pueden imaginar el sitio: un pueblo pequeño, pobre, con familias blancas de rancio abolengo con más orgullo que dinero, y una población negra que dejó de ser esclava hace poco. Lo que no quita que sigan teniendo los peores trabajos, que les paguen una miseria y que vivan casi en chabolas. Y que muchos blancos todavía piensen que son superiores a ellos.

El conflicto vendrá cuando el padre de Jean Louise, Atticus Finch, abogado, tiene que hacer de defensor en un caso que le enfrentará a gran parte de sus vecinos. Hasta ese momento (sobre un cuarto del libro), todo son recuerdos de los veranos que Scout (el mote de Jean Louise) pasa jugando con su hermano Jeremy (aka Jem) y su amigo Dill. Se hace un poco lento, pero luego acelera.

Es un libro tierno. Está contado por una niña rebelde, a la que le gusta pelearse con otros niños si se meten con ella y a la que no le gusta nada vestirse o hacer cosas "de chicas". Todos los personajes son memorables: Scout, la que cuenta la historia; su hermano Jem, en la peligrosa edad de la adolescencia, que cree que lo sabe todo; su padre Atticus, siempre calmado salvo en los momentos más tensos; la mujer negra que hace de cocinera, "chacha" y niñera, Calpurnia; Dill, el amigo y "prometido" de Scout; y toda una galería de personajes del pueblo que uno acaba distinguiendo y reconociendo por su forma de hablar y de actuar.

Lo mejor de libro es cómo consigue meterte en Maycomb County, como si fueras un vecino más. Acabas conociendo a todos los vecinos, sus peculiaridades, sus virtudes y defectos. A veces es confuso por la cantidad de nombres, pero merece la pena.

Muy recomendable también. Hacía mucho tiempo que no me gustaba tanto un libro. De hecho, un par de días después de acabarlo pasé por una librería (tengo tropecientos libros todavía por leer, pero ...), y cuando vi unos libros de ciencia-ficción de los típicos que compraría ... No sé, buscaba otra cosa. Quería más personajes "humanos", que me pudiera creer, que tuvieran personalidad; y no sólo unos personajes de cartón piedra que están ahí para contarnos lo listo que es el autor que ha tenido una idea tan brillante (que es de lo que va casi toda la ciencia-ficción, sinceramente).

Al final compré dos libros de ciencia-ficción igual, pero eso es otra historia.

To Kill a Mockingbird fue premio Pulitzer, por si les ayuda a decidirse. Hay una película de 1962 protagonizada por Gregory Peck (en el papel de Atticus) que no he visto todavía, pero veré.

Siguientes a leer: los dos libros que compré, "Lo mejor de los premios Nebula" (de 1965 a 1987), volumen 1 y 2. Había una oferta y me salieron a 6€ (en la librería Fonseca, de Santiago de Compostela; creo que es bastante conocida). Ya les contaré.

"Barack star"

Tatsuya Ishida es genial.

Por no decir otra palabra de origen religioso que también es un taco. Si no les gusta el estilo que tiene, no habrá forma de que les guste nada de su webcomic, Sinfest. Pero si les gusta, apreciarán la forma tan original (y característica) que tiene de hablar sobre los acontecimientos actuales.

A mí me gusta, al menos.

Syndicate content