CGroup Namespace
Informations de base
Un espace de noms CGroup est une fonctionnalité du noyau Linux qui fournit l'isolation des hiérarchies de cgroup pour les processus s'exécutant dans un espace de noms. Les cgroups, abréviation de groupes de contrôle, sont une fonctionnalité du noyau qui permet d'organiser les processus en groupes hiérarchiques pour gérer et imposer des limites sur les ressources système telles que le CPU, la mémoire et l'E/S.
Bien que les espaces de noms cgroup ne soient pas un type d'espace de noms distinct comme ceux que nous avons discutés précédemment (PID, montage, réseau, etc.), ils sont liés au concept d'isolation des espaces de noms. Les espaces de noms cgroup virtualisent la vue de la hiérarchie cgroup, de sorte que les processus s'exécutant dans un espace de noms cgroup ont une vue différente de la hiérarchie par rapport aux processus s'exécutant dans l'hôte ou d'autres espaces de noms.
Comment cela fonctionne :
Lorsqu'un nouvel espace de noms cgroup est créé, il démarre avec une vue de la hiérarchie cgroup basée sur le cgroup du processus créateur. Cela signifie que les processus s'exécutant dans le nouvel espace de noms cgroup ne verront qu'un sous-ensemble de toute la hiérarchie cgroup, limité à la sous-arborescence cgroup enracinée dans le cgroup du processus créateur.
Les processus au sein d'un espace de noms cgroup voient leur propre cgroup comme la racine de la hiérarchie. Cela signifie que, du point de vue des processus à l'intérieur de l'espace de noms, leur propre cgroup apparaît comme la racine, et ils ne peuvent pas voir ou accéder aux cgroups en dehors de leur propre sous-arborescence.
Les espaces de noms cgroup ne fournissent pas directement l'isolation des ressources ; ils fournissent uniquement l'isolation de la vue de la hiérarchie cgroup. Le contrôle et l'isolation des ressources sont toujours appliqués par les sous-systèmes cgroup (par exemple, cpu, mémoire, etc.) eux-mêmes.
Pour plus d'informations sur les CGroups, consultez :
Laboratoire :
Créer différents espaces de noms
CLI
En montant une nouvelle instance du système de fichiers /proc
en utilisant le paramètre --mount-proc
, vous vous assurez que le nouveau namespace de montage a une vue précise et isolée des informations de processus spécifiques à ce namespace.
Docker
Vérifier dans quel espace de nom se trouve votre processus
Trouver tous les espaces de noms CGroup
Entrer dans un espace de noms CGroup
De plus, vous ne pouvez entrer dans un autre espace de noms de processus que si vous êtes root. Et vous ne pouvez pas entrer dans un autre espace de noms sans un descripteur pointant vers celui-ci (comme /proc/self/ns/cgroup
).
Références
Last updated