Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como LXC

Desactivando el servidor DHCP de LXD

A veces, cuando estamos utilizando LXD necesitamos desactivar el servidor DHCP que incluye por defecto. Por ejemplo, para instalar nosotros mismos un servidor DHCP en uno de nuestros contenedores. Esto es muy útil en el módulo Servicios en Red cuando en el segundo tema estudiamos el servicio DHCP y queremos hacer prácticas con contenedores LXD . Lo primero que tenemos que verificar es el estado del dispositivo lxdbr0 , este dispositivo es un bridge que   se encarga de hacer de puente entre la red del ordenador y la red que utilizan los contenedores. Téngase en cuenta que dependiendo de la configuración inicial ( lxd init ), que se estableció cuando se instaló LXD , este dispositivo podría tener otro nombre. Con el siguiente comando obtendremos la información que necesitamos: $ lxc network show lxdbr0 config:   ipv4.address: 192.168.1.1/24   ipv4.nat: "true"   ipv6.address: fd42:c22b:58d4:abc7::1/64   ipv6.nat: "true" description: "" name...

Compartiendo directorios con contenedores LXD

Supongamos que estamos desarrollando una aplicación web y, para realizar las pruebas, utilizamos un servidor Apache 2 dentro de un contenedor LXD con Ubuntu Server . La idea de utilizar un contenedor en este contexto es para evitar tener que instalar todo el software y los frameworks que requiera nuestra aplicación en nuestra propia estación de trabajo. De este modo, si trabajamos en varios proyectos diferentes podemos tener cada proyecto en su propio contenedor y evitar los problemas derivados con los diferentes frameworks que estemos utilizando. Para programar utilizamos algún editor de textos como Atom , Visual Studio Code o Sublime Text y, por ello, necesitamos editar constantemente los ficheros que se encuentran en el directorio /var/www/html de nuestro contenedor.  Para subir y bajar ficheros entre el contenedor y la máquina anfitriona podemos utilizar diferentes soluciones, por ejemplo, con la suite de comandos lxc file o bien conectarnos por FTP , FTPS , sF...

ZFS, Segunda Parte

En el artículo anterior estuvimos viendo cómo instalar y utilizar el sistema de ficheros ZFS , se vio como crear un pool a partir de varios VDEV y los diferentes tipos de RAID que ofrecía este sistema, también estuvimos viendo la creación de datasets . En el artículo de hoy vamos a seguir explorando el funcionamiento de este sistema de ficheros. ZVOL Una vez que tenemos un pool disponible podíamos crear diferentes datasets , y esto es lo que hace, por ejemplo, Proxmox cuando se crean contenedores. El sistema de ficheros de un contenedor se almacena en un dataset . Pero cuando se crea una máquina virtual, el sistema de almacenamiento de la máquina virtual se alberga dentro de un ZVOL . Un ZVOL , ZFS VOLume , es similar a un dataset , sólo que en vez de ser un sistema orientado a ficheros, un ZVOL es un dispositivo de bloques. Los ZVOL se crean sobre el pool y comparten todas las características de la infraestructura subyacente. Si tenemos un RAID en nuestro pool , l...

ZFS, Primera parte

Cuando el año pasado instalé LXD y lo configuré por primera vez, me encontré que podía utilizar, de hecho se recomienda, el sistema de ficheros ZFS para albergar los contenedores. Posteriormente, cuando instalé Proxmox en el servidor de mi departamento, me encontré de nuevo con  ZFS . Anteriormente no le había prestado mucha atención a  ZF S , normalmente utilizo EXT4 o XFS , pero estaba claro que había una estrecha relación entre  ZFS  y los sistemas de virtualización. ZFS  es un sistema de ficheros desarrollado por Sun Microsystems  (creadores también del lenguaje de programación Java ), posteriormente la empresa fue adquirida por Oracle , actuales propietarios. OpenZFS  es la variante libre y posee una licencia de tipo  CDDL , que aunque es software libre, es incompatible con GPL . Por este motivo, el kernel de Linux no lo incorpora de serie. Sin embargo, los usuarios pueden instalarlo sin problemas ya que se encuentra en los rep...

Servicios de Red en Linux, el libro

Motivación Llevo desde el año 2010 impartiendo el módulo Servicios en Red, en el Ciclo Formativo de Grado Medio Sistemas Microinformáticos y Redes. Desde esa fecha me seguía encontrando con la necesidad de tener un libro que pudieran seguir los alumnos con el contenido real que imparto en clase. La mayoría de los libros de texto se centran en el sistema operativo Windows Server de Microsoft. Cuando hacen referencia a Linux , muchos de ellos lo hacen utilizando interfaces gráficas de usuario que hay que instalar independientemente del sistema operativo y esconden los ficheros de configuración que todo buen administrador de sistemas debe conocer. La realidad es que si se sigue ese material, los alumnos no aprenden a trabajar sin la interfaz gráfica, y cuando se encuentren en situaciones donde dicha interfaz gráfica no esté disponible, no sabrán trabajar. Por otro lado, aunque algunas de estas interfaces gráficas están bastante mejoradas, hay veces que ciertas funcionali...

Examen de Servicios en Red con Contenedores Linux

Como ya comenté en un artículo anterior , en este curso estoy utilizando contenedores Linux con el software LXD en mis clases de Servicios en Red. En cursos anteriores cuando tenía que preparar el examen práctico lo hacía con un servidor ESXi que tenía montado. Creaba una máquina virtual para cada alumno donde se conectaban de forma remota utilizando SSH para realizar el examen.  Este proceso me llevaba tiempo. Primero creaba una máquina virtual donde instalaba la última versión de Ubuntu Server LTS , esta máquina virtual me iba a servir luego de plantilla. Actualizaba el sistema operativo. Luego le añadía todos los usuarios necesarios para cada alumno, con el comando Linux newusers este paso es relativamente rápido. A continuación, instalaba todos los paquetes de software necesarios para la realización del examen. Borraba el historial y apagaba la máquina virtual para utilizarla de plantilla. Ahora me dedicaba a clonar dicha máquina tantas veces como alumnos tuviese matr...

LXD: Contenedores con direcciones IP estáticas

Uno de los problemas que nos encontramos cuando trabajamos con contenedores es que LXD le asigna automáticamente una dirección IP a nuestro contenedor. Esto puede estar bien en muchos casos, ya que no nos tenemos que preocupar por asignar nosotros mismos las direcciones. Pero otras veces sí necesitamos controlar qué dirección IP se le asigna a nuestro contenedor. Esta situación es frecuente cuando instalamos en el contenedor un servidor. Para resolver este problema podemos optar por dos soluciones. La primera no es muy práctica, pero sí efectiva y consiste en asignarle la dirección IP manualmente dentro de sistema operativo huésped del contenedor. El problema con esta solución es que tenemos que andar modificando ficheros dentro de los sistemas operativos huéspedes y si clonamos el contenedor o si generamos una imagen, la dirección IP que hemos asignado manualmente seguirá en las copias o imágenes con el engorro que esto pueda ocasionar. La otra solución consiste en indic...

LXD: Contenedores Linux II

Continuamos la guía de uso de LXD , que comenzó con la primera parte explicando como instalar el sistema de contenedores LXD en Linux utilizando el gestor de paquetes Snap .  -- Este artículo es un extracto de un capitulo de mi libro Servicios de red en Linux , que se encuentra a la venta en Amazon -- ... Ahora ya podemos empezar a trabajar con LXD y para ello utilizaremos el comando lxc . El comando lxc va siempre acompañado de un subcomando que indica la acción que queramos utilizar. Lo primero que vamos a hacer es crear nuestro primer contenedor. Cuando se crea un contenedor hay que especificar la imagen que queremos utilizar para generarlo. Esta imagen la podemos considerar como una plantilla para crear contenedores y contienen una distribución Linux básica. Existen servidores remotos de plantillas para LXD . A continuación vamos a crear un contenedor usando el servidor de imágenes por defecto: $ lxc launch ubuntu:18.04 micontenedor El subcomando launch i...