De vuelta

Vale, no fueron dos semanas, sino dos meses. Qué quieren que les diga. Estas cosas pasan.

Ya están funcionando los Retrincos en el nuevo servidor. Pensé que iba a ir más lento, pero para mi sorpresa va bastante bien. Quizás noten que va lento si les toca entrar al mismo tiempo que la tarea de mantenimiento (cada hora a los 45 minutos), pero en otro caso incluso notarán que va mejor que antes. Creo que la limitación en CPU (por tener sólo un share, que equivale a un 12.5% de CPU -- comprobado empíricamente con top) se compensa por la mejora en ancho de banda.

Todavía quedan flecos. Muchos de los mensajes del sitio están en inglés, mezclados con otros en castellano. Tendré que revisar eso y más cosas que seguramente vaya encontrando con el tiempo.

Pero al menos, de momento, ya pueden disfrutar (?) otra vez de los Retrincos. Que les aproveche.

"The Emigrants"

Ya saben cómo es esto del blogging: pasas meses sin tener nada que decir, y luego escribes cuatro o cinco artículos seguidos. Eche o que hai.

He acabado de leer The Emigrants, de Vilhem Moberg. El nombre no les sonará nada, porque sólo frikis tan aleatorios como yo acaban leyendo libros de gente tan desconocida (para nosotros) como ésta. Pero si preguntaran en Suecia, descubrirían que Moberg es un autor muy conocido, un prodigio que publicó su primera novela a los 13 años. Más información en Wikipedia.

The Emigrants iba a ser una trilogía, pero al final fueron cuatro libros. Yo he leído el primero. Las novelas van sobre unos emigrantes suecos en el siglo XIX (año 1850, en concreto), que debido a las condiciones de vida insoportables en su tierra natal se van a América. Un millón de suecos emigraron a EEUU en el siglo XIX (muy parecido a lo que pasó en Galicia), especialmente a Minessota. La primera novela nos cuenta por qué la familia de Karl Oskar, granjero de Korpamoen, decide vender su granja y emigrar a los EEUU con su familia; y cómo otros vecinos, por diferentes razones, se unen a él en el viaje.

Hay dos partes en la novela: la parte "pre-viaje" y la parte del viaje en sí. En la primera se nos explica cómo era la vida de los granjeros pobres (como Karl Oskar) en el siglo XIX, firmemente enmarcada en la religión luterana y la lealtad al gobierno dirigido por el rey Karl Johan. Había una rígida jerarquía social en la que los "ayudantes de granja" (farmhands, en inglés; no sé cuál será la traducción correcta) son lo más bajo, y el rey (justo por debajo de Dios) lo más alto. Un granjero tiene que rendir tributo y lealtad a todos ellos, y hacer lo que le ordenan. Aparte, los granjeros con pocas o malas tierras tienen que trabajar mucho para sobrevivir, y los años malos son muy malos para ellos.

Por todo esto, Karl Oskar y su familia (su mujer Kristina, sus tres hijos y su hermano pequeño Robert) deciden emigrar a America, un sitio mítico del que no conocen nada más que lo que pone en un libro que más parece un tríptico publicitario que otra cosa. La segunda parte trata sobre el viaje en barco de varias semanas, en los que se enfrentan al escorbuto, el hacinamiento, el aburrimiento y la muerte de seres queridos. El libro acaba con los primeros pasos de la gente de la parroquia de Ljuder (la parroquia donde está la granja de Karl Oskar), provincia de Småland, en Nueva York.

Yo he leído la versión en inglés (la compré en Amazon), y a veces es un tanto densa. No es un libro de leer rápido. El estilo es a veces un tanto florido, pero lo justo. No hay divagaciones extrañas, como en Moby Dick, y sí mucha introspección de los personajes: se ve cómo piensan, cómo dudan, cómo se justifican sus actos. Uno acaba comprendiendo a cada uno de los personajes, y (como en todo buen libro) sigues leyendo porque te preocupa lo que les pasa. Hay un par de momentos tristes en el libro que no hacen más que aumentar la empatía con los personajes. Cuando Karl Oskar, pobre pero orgulloso, pone los pies en tierra americana, sientes (como él) que por fin, después de tanto trabajo y sufrimiento, va a cambiar su suerte.

Compraré y leeré las secuelas. Les mantendré informados.

CentOS (o también "Futura mudanza: interludio")

Esto se podría considerar como un interludio después del artículo anterior. No tengo nuevos progresos que contar en la mudanza de los Retrincos, pero llevo trabajando un tiempo en la nueva máquina, con CentOS, y hay ciertas cosas que me gustaría comentar por aquí.

El titular es: CentOS es una distribución interesante. Y eso, viniendo de un hardcore user de Debian (y Ubuntu), merece una explicación.

Lo mejor que tiene Debian no es apt-get. Es una de las bazas principales, por supuesto, pero no es sólo eso. La distribución está bien pensada para hacer fácil el trabajo del administrador. Quizás no tanto del usuario, pero sí del administrador. Todo está bien organizado y pensado para que no haya que hacer hacks para que funcionen las cosas. Para mí, eso se ve sobre todo en el estilo hyper-SysV (término que me acabo de inventar, no lo busquen por ahí) de la configuración. Hay muchos programas que se configuran con ficheros sueltos en un directorio. Eso hace muy fácil añadir configuración para ese programa desde otros paquetes, o vía sincronización remota.

Más cosas buenas de Debian: hay paquetes a punta pala. En serio. Es bien raro el software que merece la pena y no está empaquetado para Debian (por otro lado, hay muchos software que está empaquetado pero no merece la pena). Y todo en la distribución oficial, sin necesidad de "cazar paquetes" por Internet adelante.

Me gusta mucho la gestión de ficheros de configuración de Debian. Hay muchos helpers para hacer las cosas (como la gestión de ficheros en /etc/rc?.d), lo que de cara a "scriptear" cosas es una ayuda. Creo que el término apropiado para esto es "abstracción". No tienes que tocar a mano todos los ficheros, sino que puedes usar herramientas del sistema para que lo hagan por ti; y si en algún momento cambia la ubicación de los ficheros, las herramientas seguirán funcionando.

En fin. En el fondo, llevo demasiados años usando Debian como para analizar por qué me gusta. Seguro que las razones que he puesto ahí arriba no les convencen a menos que ya estuvieran usando Debian. Releyéndolas, no me convencen ni a mí.

Pero íbamos a hablar de CentOS.

CentOS es una recompilación de RHEL, la versión enterprise de Red Hat. Mis odios hacia distribuciones basadas en rpm vienen de la "caza de paquetes" que mencionaba antes y de yast, o lo que es lo mismo, Suse. Las distribuciones basadas en rpm, a lo mejor porque las probé poco, siempre me pareció que dependían mucho de programitas gráficos para administrarlas. Que no había programas en línea de comandos para administrar el sistema, y al final tenías que tirar de editor de texto para hacer tú mismo lo que hacía un estúpido programa gráfico. No sé si sigue siendo así, pero ahora que tengo una distribución basada en rpm para administrar por ssh, me da la impresión de que estaba equivocado. Un poquito, al menos.

CentOS es fácil de administrar. Para instalar paquetes tiene yum, que es en plan apt-get pero con otro nombre. Gandi tiene unos repositorios propios que vienen configurados en la máquina, pero no tienen demasiados paquetes (recuerde el lector que uno está acostumbrado a los vastos océanos paquetiles de Debian). La solución fue instalar un paquete de RPMforge que daba acceso a este repositorio. Ahora ya tengo tantos paquetes disponibles como tenía en Debian.

No sólo me gusta yum por los paquetes que hay disponibles para él, sino porque tiene todas las instrucciones esperables en un gestor de paquetes. Puedes instalar y desinstalar paquetes, buscar información, listar los que encajan en un patrón, actualizar todo el sistema o sólo unos pocos paquetes, etc. No lo he dicho, pero evidentemente, maneja automáticamente las dependencias para que no tengas que instalarlas tú a mano.

Los paquetes en Debian y CentOS (o más bien, RH) son distintos. En CentOS vienen paquetes más grandes, con todas las cosas que pueden hacer falta para un programa, aunque luego no se usen. Por ejemplo: hay un sólo paquete clamav (aunque también hay un paquete clamav-db), mientras que en Debian está dividido en clamav-daemon, clamav-freshclam, libclamavX (creo que "X" va por la 4), etc. En la práctica quiere decir que instalas algo más de basurilla con los paquetes de CentOS, pero ahora mismo no me afecta demasiado. Supongo que se nota más cuando quieres instalar un par de paquetes de Gnome y KDE y te instala quince más.

Hay herramientas para gestionar los ficheros de configuración. Pocos he tocado de momento, pero los que decía antes (los de /etc/rc?.d) se configuran con chkconfig. Y me gusta más cómo funciona este programa que el update-rc.d de Debian. Con chkconfig se pueden ver la lista de todos los servicios que hay, en qué runlevels van a arrancar, etc. Creo que en Debian no se puede ver sólo con un comando, aunque estaría gratamente sorprendido si se pudiera.

Hay también un comando (service) para invocar los scripts de /etc/init.d que todavía no entiendo muy bien qué ventaja tiene. Podría acostumbrarme a usarlo (siempre me equivoco al teclear /etc/init.d, y me sale ettercap por medio), aunque prefiero no hacerlo para luego no "trabucarme" cuando vuelva a una Debian. A mi edad estas cosas pasan.

CentOS no tiene la misma filosofía hyper-SysV de Debian. Por ejemplo: la configuración de Apache en Debian se hace quitando y poniendo enlaces en directorios especiales de /etc/apache2, pero en CentOS es un poco más "a saco": hay un directorio /etc/httpd/conf.d en el que puedes dejar ficheros para configuraciones de Apache, pero para desactivarlos tienes que quitarlos de ahí. En Debian también se configuran los módulos de Apache de forma parecida, mientras que en CentOS cargas los módulos añadiendo líneas a /etc/httpd/conf/httpd.conf. Esta diferencia tan simple, y que los paquetes de Apache de Debian estén mucho más granularizados, permite instalar y desinstalar módulos de Apache del sistema sin que haya que retocar el fichero de configuración de Apache.

Y de momento no tengo muchas cosas más que decir. Pero no se sorprendan si dentro de poco aparece un artículo llamado "CentOS (2)".

Futura mudanza 2: hosting de Xen en Gandi

Antes de nada, lean el artículo anterior y el excelente comentario de Mauro (¿tienes blog, por cierto?). Eso les servirá de introducción.

Después de esto, sólo les digo que ya tengo un host virtual con Gandi. Es sólo de 1 share (vayan a la página de Gandi para ver a qué equivale; prefiero no repetirlo aquí otra vez), y como sistema operativo he escogido CentOS. Entre las opciones había Debian (Etch) y Ubuntu (7.10, Gutsy Gibbon), pero he escogido CentOS porque quería aprender a usar una distribución basada en rpm; y la única forma de hacerlo es estar obligado a pelearse con ella para algo productivo.

La primera cosa que llama la atención es el disco duro: tienes 2.4GB para el sistema operativo, montado como raíz, y luego un dispositivo /dev/xvdb donde están tus 5GB adicionales (los que te tocan por usar 1 share). No sé cómo hace otra gente para usarlo, pero lo lógico es usar LVM:

    pvcreate /dev/xvdb
    vgcreate vg0 /dev/xvdb

Y luego, a crear volúmenes con lvcreate. Cuando amplias disco te añaden otro dispositivo (creo, por lo que he leído), con lo que puedes crecer usando otra vez pvcreate y vgextend.

El rendimiento es satisfactorio. De CPU y E/S va un tanto justo: llega para administrar por ssh, pero si se hace algo un poco más heavy, como descomprimir un kernel (tenía que probar con algo), le cuesta. Tengo pendiente pasar iozone para tener datos más fiables.

Ya les contaré más cosas. De momento, no me arrepiento. Veremos qué pasa luego.

Futura mudanza

Puede que dentro de unos pocos meses Retrincos tenga que mudarse. Para hospedarlo, estoy mirando servicios de hosting basado en Xen. Los precios son interesantes (siempre por debajo de 20€ al mes) y, como lo usamos mucho en el trabajo, sé que me puedo fiar de la tecnología.

Estaba casi decidido a usar XenEurope. El precio del host básico son 10€ al mes, y por 5€ más se pasa de los 128MB de RAM que trae a 256. Por lo demás, 10GB de espacio en disco, 2 direcciones IP y 100GB de transferencia. Y (algo importante para mí) el CPD en el que está albergado está en Holanda, con lo que si hay algún problema no tienes que preocuparte por la diferencia horaria.

Pero he aquí que buscando reviews de XenEurope me he encontrado con esto: Gandi también ofrece hosting virtual basado en Xen. ¡Y más barato que XenEurope! Ahora mismo mis dominios están registrados con Gandi, que (también) usamos en el trabajo desde hace mucho tiempo. Así que tendré que considerar también éste proveedor.

Habiendo visto otros precios, la oferta de Gandi es muy competitiva: por 6€ al mes (IVA no incluído) se incluye 5GB de espacio en disco, 256MB de RAM, 512 de swap, una dirección IP y "1/64" de potencia y tráfico. Lo del "1/64" es la unidad que usan en Gandi para medir la potencia que te conceden (ellos le llaman share). Traen una tabla de equivalencias en la que 1 share es como tener un Celeron, 2 es como un Pentium 3, y 4 como un Dual Xeon. Considerando que la máquina actual que alberga Retrincos es un Pentium 2 a 330Mhz, creo que 1 share me llegaría. El "1/64" también es la medida del tráfico que te conceden, y corresponde (según la página en la que explican cuántos shares puedes necesitar) a un ancho de banda garantizado de 5Mbits/s y 1.5TB de transferencia al mes. ¡Santos Morcegos, Batman! Eso es mucha transferencia de dios. Ojalá que me hiciera falta, los Ads de Google pagarían el hosting :-)

Haciendo el upgrade a 2 shares pasas a tener 512MB de RAM, 1GB de swap, 6Mbits/s de caudal garantizado y 10GB de disco, a sólo 12€ al mes (como antes, sin IVA). Sigue siendo un buen precio. Incluso me dejaría tentar por 3 shares, a 18€ mensuales, para tener 768MB de RAM, 9Mbits/s y 15GB de disco. Con IVA, suman 21.53€. Mola.

Lo que no he visto es cómo tener más direcciones IP. No es que me hiciera mucha falta, pero me gustaría saberlo. Siempre es útil tener otra IP para cualquier cosa, aunque sea para hacer experimentos. Y también habrá que ver si el rendimiento es bueno. Hemos tenido problemas con otros proveedores de servidores virtuales (VPS, de Virtual Private Server, es el nombre que se les da; por si quieren buscar en Google sobre eso), en concreto de cara al rendimiento de E/S. No sé si aquí sería igual, aunque espero que no.

Hay un gotcha: los precios son tan bajos porque están en "beta". No he averiguado (todavía) cuánto costarán cuando sean los precios definitivos, aunque a igualdad de condiciones me quedaría con Gandi por conocerlo más y saber que funciona bien.

En resumen: que Gandi tiene muchas posibilidades de hospedar Retrincos en un futuro espero que muy cercano. Les mantendré informados.

Syndicate content