Incidencia #188 (closed Defecto: Resuelto)

Abierto hace 7 años

Última modificación 7 años

Ubicación de CGROUPS erronea

Informado por: jesuslara Propietario: HuntingBears
Prioridad: Muy Alta Hito: canaima-popular-3.0~VC4
Componente: Metadistribución Versión: 3.0
Gravedad: Palabras clave:
Cc: Asignar A:

Descripción

Los CGROUPS son un filesystem que gestiona los grupos-namespaces del Kernel, por ende, en Debian se ha creado el siguiente directorio:

/sys/fs/cgroup

Que está presente en Canaima VC4, pero se están montando los CGROUPS (según parche agregado en Canaima-escritorio-Gnome) en /dev/cgroups

Esto causa, que si instalo librerías como libcgroup o deseo virtualizar con LXC, tendré problemas de compatibilidad entre el "montaje Debian" y el "punto de montaje de los cgroups" de Canaima.

Revisar este inconveniente ...

Adjuntos

parche-lennart.sh (4.6 KB) - añadido por jesuslara hace 7 años.
Parche de Lennart Poettering Debianizado
parche-lennart-2.sh (4.6 KB) - añadido por HuntingBears hace 7 años.
Parche de Lennart Poettering (Revisión)

Historial de cambios

comment:1 Cambiado el 7 años por HuntingBears

Se hicieron las pruebas correspondientes con la ubicación /sys/fs/cgroup, las cuales resultaron en que la optimización se anulaba.

Específicamente, no existen opciones escritura en ese directorio:

mkdir -p /sys/fs/cgroup/cpu
mkdir: no se puede crear el directorio «/sys/fs/cgroup/cpu»: No existe el fichero o el directorio

comment:2 Cambiado el 7 años por jesuslara

  • Estado cambiado de new to needinfo

comment:3 Cambiado el 7 años por jesuslara

  • Estado cambiado de needinfo to assigned

He revisado la última versión de Canaima (VC4) en donde vemos que *claramente* el directorio está ahí:

/sys/fs/cgroup

Alternativamente, se está ejecutando la instalación de un filesystem fuera del fstab ...

Corregir ambos problemas en la VC4 por favor, crea incompatibilidad con libcgroup1 (que es el demonio para la gestión automática de cgroups).

Como nota: NO PUEDES CREAR A MANO LAS CARPETAS, la carpeta CPU es creada si montas todo el sistema cgroup.

La línea a agregar en el fstab es:

none /sys/fs/cgroup cgroup defaults 0 0

defaults permite agregar todos los tipos de grupos (y no solamente los de CPU).

comment:4 Cambiado el 7 años por jesuslara

Como información adicional, he modificado Canaima VC4 para que incorpore los CGROUPS en:

/sys/fs/cgroup vía FSTAB y comento que si luego hacemos:

mkdir -p /sys/fs/cgroup/cpu

El directorio es creado y llenado con la información sobre el grupo CPU:

cat /sys/fs/cgroup/cpuset.cpus
0-1

Confirmando que hay que corregir la optimización para hacerla "compatible con Debian".

Cambiado el 7 años por jesuslara

Parche de Lennart Poettering Debianizado

comment:5 Cambiado el 7 años por jesuslara

Se adjunta parche de Lennart Poettering Debianizado, para su utilización en el paquete Canaima-Escritorio-Gnome como consta en:
http://proyectos.canaima.softwarelibre.gob.ve/canaima/attachment/ticket/188/parche-lennart.sh

comment:6 Cambiado el 7 años por HuntingBears

  • Propietario cambiado de Canaima a HuntingBears
  • Estado cambiado de assigned to accepted

Implementando solución propuesta por Jesús Lara y probando comportamiento.

comment:7 Cambiado el 7 años por HuntingBears

Existen algunas observaciones:

1.- La línea 13 (http://proyectos.canaima.softwarelibre.gob.ve/canaima/attachment/ticket/188/parche-lennart.sh#L13), no logra montar el sistema de archivos tipo cgroup en ese directorio. Tampoco lo hace a través de mount -t cgroup none /sys/fs/cgroup/. El error es "mount: none ya está montado o /sys/fs/cgroup/ está ocupado", sin embargo ninguna de las dos aseveraciones es cierta.

2.- Luego de hacer varias investigaciones en las discusiones del kernel, debian y ubuntu, se llegó a la conclusión que debe existir un sistema tmpfs montado en /sys/fs/cgroup/ antes de montar cualquier otra jerarquía cgroup (cpu, blkio, etc..). Referencias:

https://bugs.launchpad.net/ubuntu/+source/libcgroup/+bug/681724
http://lkml.org/lkml/2010/7/22/548
http://lkml.org/lkml/2010/7/22/556
http://lists.debian.org/debian-kernel/2010/09/msg00173.html
http://lists.debian.org/debian-devel/2009/02/msg00037.html

3.- Luego de montado el sistema tmpfs, se crea la carpeta /sys/fs/cgroup/cpu y ahora si se procede a montar el sistema de archivos cgroup con mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu.

4.- Como el flujo de operaciones es el siguiente:

Montar TMPFS > Crear carpeta cpu > Montar cgroup/cpu

No se puede automatizar todo el procedimiento a través del fstab. Debe reincorporarse la parte de la creación de la carpeta y el montaje de cgroup al /etc/rc.local, el montaje del tmpfs si puede ir en el fstab.

Reestructurando el script y haciendo pruebas pertinentes.

Cambiado el 7 años por HuntingBears

Parche de Lennart Poettering (Revisión)

comment:8 Cambiado el 7 años por fvasquez

  • Estado cambiado de accepted to resolved
  • Resolución establecido a Fijada

comment:9 Cambiado el 7 años por Hcen

  • Estado cambiado de resolved to closed

Probado en Debian y en Canaima VC4. Funcionando sin inconvenientes. Se procede al cierre del ticket.

Nota: Vea TracTickets para ayuda en el uso de incidencias.