Librebits - jordila_@i-ching:~/

Bits aleatorios de Software Libre / Libre Software ...

A Vueltas Con LinuX Containers (LXC) II

1
2
"Los servidores lo tuvieron todo. Los clientes, nada. Bienvenido al Cloud Computing"
(Eben Moglen , Free Software Foundation)

Lo prometido es deuda … reza el dicho popular.

En un post anterior nos zambullimos en la tecnología de virtualización ( subyacente a la trendy y cacareada Cloud ) En otras palabras, la Internet de siempre con una capa de abstracción de hardware : LinuX Containers LXC .

La fanfarria del Cloud Computing o la última trending technology

Con ese mero argumento, una vez más las grandes corporaciones (que conozco por experiencia) del sector infocomunicacional venden servicios que realmente los clientes no necesitan. Les encadenan a sus servidores, que se acumulan en campos de concentración de hardware, ventilados, aislados y con las máximas medidas de seguridad. Es la economía de escala … la misma que está agotando al Planeta que habitamos.

En Canadá algunas empresas se jactan de mantener esas granjas de servidores virtualizados de forma sostenible y limpia (!). Sin derroche de energía (que consumen cientos o miles de procesadores corriendo en paralelo). Aprovechan, dicen, las corrientes de aire frío (ártico). En fin.

(pseudo)Virtualizando Debian en un Debian GNU/Linux (host)

Disquisiciones aparte. Tratemos de crear un contenedor Debian albergado en nuestro Debian GNU/Linux (host del contenedor), o computadora-laptop de trabajo.

Por no repetir lo que viene detallado en los tutoriales referenciados, solo diré que he encontrado problemas con LXC en mi Debian GNU/Linux Jessie , siguiendo los pasos de la Wiki de Debian.

Problemas que también encontró el autor de LXC setup on Debian Jessie, gracias al cual pude por fin cumplir mi promesa de hacer correr mis máquinas (pseudo)virtuales no sólo en Ubuntu , sino también en mi Debian GNU/Linux(a continuación me fijaré en la parte que más útil me fue). A él mi agradecimiento.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Crear un  contenedor Debian (en /var/lib/lxc/) es simple:

# sudo MIRROR=http://http.debian.net/debian lxc-create -n sid64 -t debian -- -r sid -a amd64

// Inicia o para el contenedor de la siguiente forma :

# sudo lxc-start -n sid64 -d

# sudo lxc-stop -n sid64

// Puedes encontrar la dirección IP asignada al contenedor, recibida por el Servidor  DHCP tecleando, y su estado 

# sudo lxc-ls --fancy

..

A partir de aquí podemos seguir manejando nuestros LinuX Containers, como veníamos haciendo en el anterior post relacionado

Docker ? “It’s LinuX Containers , stupid !”

En lo práctico, pongamos que para desarrollar una aplicación web determinada necesitamos un stack de software (p.ej.: el clásico Linux+Apache+MySQL – LAMP) en unas versiones determinadas, por requisitos del entorno (p.ej.: PHP 5.3 y MySQL 5.1 ). Y sólo puede ser de este modo. En vez de tener que rehacer todo el stack de nuestro servidor de pruebas nos bastará con generar un LinuX Container que cumpla esos requisitos. El único condicionante es la base del stack. Está sujeta al kernel del sistema host (en mi caso, el de Debian 8 GNU/Linux ) Además, podré desarrollar cómodamente de forma ágile (ligera e iterativa), pues puedo usar para ello el comando lxc-clone para armar tantas maquetas o prototipos como requiera. Por ejemplo,

  • container LXCO = Debian GNU/Linux server

  • container LXC1 = Debian GNU/Linux server + AMP

(que podré clonar para otras aplicaciones que necesiten el mismo stack , p,ej. el LMS Moodle , Drupal CMS …)

  • container LXC2= LAMP + CMS Drupal

  • etc … (así sucesivamente)

BONUS : De paso he podido hacer una primera prueba satisfactoria con Docker , que me permitiría importar y exportar fácilmente aplicaciones a partir de un LinuX Container y bla,bla… pero de eso quizás hablemos en otro nota de este blog más adelante…