ÚNASE A NUESTRA COMUNIDAD
PRUEBE NUESTRO SOFTWARE

Open Virtualization Blog


Aislar sistemas con Linux Namespaces

Publicado por UDS Enterprise Team |

Si has utilizado herramientas como Docker, ya sabes que estas herramientas son capaces de aislar procesos en pequeños "contenedores". Ejecutar procesos en contenedores Docker es como ejecutarlos en máquinas virtuales, solamente estos contenedores son significativamente más livianos que máquinas virtuales.

Con la introducción de Linux namespaces, se hizo posible tener varios árboles de proceso "anidados". Cada árbol de proceso puede tener un conjunto de procesos completamente aislado. Esto puede asegurar que los procesos pertenecientes a un árbol de proceso no pueden inspeccionar o matar a los procesos en otros árboles de procesos hermanos o progenitores. Cada vez que un equipo Linux arranca, comienza con un solo proceso, con identificador de proceso (PID) 1.

None

Este proceso es la raíz del árbol de procesos, e inicia el resto del sistema realizando el trabajo de mantenimiento adecuado e iniciando los daemons / services correctos. Todos los otros procesos comienzan debajo de este proceso en el árbol. El espacio de nombres PID permite girar un nuevo árbol, con su propio proceso PID 1. El proceso que hace esto permanece en el espacio de nombres padre, en el árbol original, pero hace que el niño sea la raíz de su propio árbol de procesos.

Un espacio de nombres de red permite que cada uno de estos procesos vea un conjunto completamente diferente de redes interfaces. Incluso la interfaz de bucle de retorno es diferente para cada espacio de nombres de red. Para proporcionar una interfaz de red utilizable en el espacio de nombres secundario, es necesario configurar interfaces de red "virtual" adicionales que abarquen múltiples espacios de nombres. Linux también mantiene una estructura de datos para todos los puntos de montaje del sistema.

Hay otros espacios de nombres en los que estos procesos pueden aislarse, a saber, usuario, IPC y UTS. El espacio de nombres de usuario permite que un proceso tenga privilegios de root dentro del espacio de nombres, sin darle ese acceso a procesos fuera del espacio de nombres. El aislamiento de un proceso por el espacio de nombres IPC le da sus propios recursos de comunicación entre procesos, por ejemplo, mensajes System V, IPC y POSIX. El espacio de nombres UTS aísla dos identificadores específicos del sistema: nodename y domainname.

Para más detalles, consulte el artículo original disponible en Toptal blog


Compartir


0 COMENTARIOS

Debe autenticarse para comentar este post