informatica:linux:virtualizacion:lxc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatica:linux:virtualizacion:lxc [2014/01/10 14:37] – [Requisitos] javi | informatica:linux:virtualizacion:lxc [2015/08/06 23:09] (current) – jose | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| * Una maquina con una CPU que soporte virtualizacion. Lo podemos mirar en la BIOS o lanzando este comando: | * Una maquina con una CPU que soporte virtualizacion. Lo podemos mirar en la BIOS o lanzando este comando: | ||
| - | sudo egrep ' | + | |
| SI soporta virtualizacion si vemos la siguiente salida: | SI soporta virtualizacion si vemos la siguiente salida: | ||
| Line 48: | Line 48: | ||
| ======= Instalacion ======= | ======= Instalacion ======= | ||
| - | Como se ha dicho basta con instalar un nucleo reciente de cualquier distribucion GNU/Linux. En este ejemplo: | + | https://wiki.debian.org/ |
| - | 3.12-1-amd64 | + | ====== Paquetes ====== |
| - | En cuanto a las herramientas de usuarios hay dos opciones: | + | 1. Elegir |
| + | * LXC | ||
| + | sudo aptitude install lxc | ||
| + | | ||
| + | * Libvirt | ||
| + | sudo aptitude install libvirt-bin | ||
| + | |||
| + | Yo he instalado tambien los siguientes paquetes | ||
| + | |||
| + | 2. Instalar mas paquetes (quiza son dependencias de los anteriores): | ||
| + | |||
| + | sudo aptitude install bridge-utils debootstrap | ||
| + | |||
| + | 3. (Comprobar si es estrictamente necesario) Montar cgroup | ||
| + | |||
| + | 3.1. Editar: | ||
| + | |||
| + | sudo vim /etc/fstab | ||
| + | | ||
| + | Y anyadir la siguiente linea: | ||
| + | |||
| + | cgroup | ||
| + | | ||
| + | 3.2. Montar: | ||
| + | |||
| + | sudo mount / | ||
| + | | ||
| + | 4. Para comprobar que todos los requisitos estan satisfechos: | ||
| + | |||
| + | sudo lxc-checkconfig | ||
| + | | ||
| + | Salida esperada: | ||
| + | |||
| + | < | ||
| + | --- Namespaces --- | ||
| + | Namespaces: enabled | ||
| + | Utsname namespace: enabled | ||
| + | Ipc namespace: enabled | ||
| + | Pid namespace: enabled | ||
| + | User namespace: enabled | ||
| + | Network namespace: enabled | ||
| + | Multiple /dev/pts instances: enabled | ||
| + | |||
| + | --- Control groups --- | ||
| + | Cgroup: enabled | ||
| + | Cgroup clone_children flag: enabled | ||
| + | Cgroup device: enabled | ||
| + | Cgroup sched: enabled | ||
| + | Cgroup cpu account: enabled | ||
| + | Cgroup memory controller: enabled | ||
| + | Cgroup cpuset: enabled | ||
| + | |||
| + | --- Misc --- | ||
| + | Veth pair device: enabled | ||
| + | Macvlan: enabled | ||
| + | Vlan: enabled | ||
| + | File capabilities: | ||
| + | |||
| + | Note : Before booting a new kernel, you can check its configuration | ||
| + | usage : CONFIG=/ | ||
| + | </ | ||
| + | |||
| + | ====== Cgroups ====== | ||
| + | |||
| + | http:// | ||
| + | |||
| + | 1. (Opcional) Instalo systemd y elimino la entrada en /etc/fstab | ||
| + | |||
| + | ====== Creación de máquinas ====== | ||
| + | |||
| + | Como root | ||
| + | lxc-create -t < | ||
| + | Por ejemplo: | ||
| + | lxc-create -t debian -n mldonkey | ||
| + | Cuando la crea te da la password de root. | ||
| + | |||
| + | La podemos arrancar: | ||
| + | root@alcala: | ||
| + | Mirar como está | ||
| + | root@alcala: | ||
| + | Name: | ||
| + | State: | ||
| + | PID: 15393 | ||
| + | CPU use: 0.07 seconds | ||
| + | BlkIO use: 0 bytes | ||
| + | Todas los contenedores | ||
| + | root@alcala: | ||
| + | NAME STATE IPV4 IPV6 AUTOSTART | ||
| + | ---------------------------------------- | ||
| + | mldonkey | ||
| + | Podemos entrar en ella | ||
| + | root@alcala: | ||
| + | root@mldonkey: | ||
| + | |||
| + | Vemos que tiene el mismo kernel que el host | ||
| + | root@alcala: | ||
| + | Linux alcala 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u2 (2015-07-17) x86_64 GNU/Linux | ||
| + | | ||
| + | root@mldonkey: | ||
| + | Linux mldonkey 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u2 (2015-07-17) x86_64 GNU/Linux | ||
| + | |||
| + | ====== RED ====== | ||
| + | En el host tenemos que crear un bridge con nuestra tarjeta de red: | ||
| + | < | ||
| + | auto br0 | ||
| + | iface br0 inet dhcp | ||
| + | bridge_ports eth0 | ||
| + | bridge_fd 0 | ||
| + | bridge_maxwait 0 | ||
| + | </ | ||
| + | |||
| + | En el fichero de configuración por defecto ponemos que cada máquina tenga una interficie con el bridge: | ||
| + | / | ||
| + | | ||
| + | lxc.network.type = veth | ||
| + | lxc.network.flags = up | ||
| + | lxc.network.link = br0 | ||
| + | | ||
| + | Cuando creemos una máquina le pondrá esa configuración, | ||
| + | / | ||
| + | | ||
informatica/linux/virtualizacion/lxc.1389364664.txt.gz · Last modified: (external edit)
