Voici le dernier opus de cette longue série d’articles consacrée aux namespaces de Linux. Il nous reste à décrire le namespace cgroup, mais aussi les nouveaux namespaces en préparation pour les prochaines moutures de Linux. Nous finirons avec la gestion de la remontée des informations de plantage.
Le namespace cgroup (cgroup_ns) est certes le dernier-né, mais nous verrons que Linux nous réserve des namespaces additionnels dans ses prochaines moutures, tant les besoins en la matière sont importants pour la virtualisation. Nous achèverons cette série d’articles avec la gestion de la remontée des informations de plantage qui souffre de quelques manques, mais pour lesquels des palliatifs existent.
Le code de cet article est disponible sur https://github.com/Rachid-Koucha/linux_ns.git.
1. Le namespace cgroup
Le cgroup_ns limite la vue sur l’arborescence des cgroups [1] en faisant du niveau où le processus se trouve, suite à un appel à unshare() ou clone() avec le drapeau CLONE_NEWCGROUP, la racine des cgroups pour ce processus.
Une entrée est dédiée à ce namespace dans le manuel en ligne : man 7 cgroup_namespaces.
L’intérêt majeur de ce namespace est de limiter la vue à un sous-répertoire dans les hiérarchies des cgroups. Listons les...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
[1] Les cgroups : https://fr.wikipedia.org/wiki/Cgroups
[2] Le namespace time : https://lwn.net/Articles/766089/
[3] Le namespace time dans le noyau :
https://www.phoronix.com/scan.php?page=news_item&px=Linux-Time-Namespace-Coming
[4] L’appel système clone3() : https://lwn.net/Articles/792628/
[5] Implementing virtual system calls : https://lwn.net/Articles/615809/
[6] Le namespace syslog : https://lwn.net/Articles/527342/
[7] R. KOUCHA, « Les structures de données des namespaces dans le noyau », GNU/Linux magazine n°243, décembre 2020 : https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-243/les-structures-de-donnees-des-namespaces-dans-le-noyau
[8] R. KOUCHA, « Le fonctionnement des namespaces dans le noyau », GNU/Linux magazine n°245, février 2021 :
https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-245/Le-fonctionnement-des-namespaces-dans-le-noyau
[9] R. KOUCHA, « Les namespaces network et pid », GNU/Linux magazine n°256, mars - avril 2022 :
https://connect.ed-diamond.com/gnu-linux-magazine/glmf-256/les-namespaces-network-et-pid
[10] Device namespaces : https://lwn.net/Articles/564854/
[11] Add support for devtmpfs in user namespaces : https://lwn.net/Articles/598782/
[12] Making the Kernel and Udev Namespace Aware : https://www.youtube.com/watch?v=ondREXbSa5E
[13] David Wheeler (computer scientist) : https://en.wikipedia.org/wiki/David_Wheeler_(computer_scientist)
[14] Les microservices : https://en.wikipedia.org/wiki/Microservices