CGroup Namespace
Basic Information
Cgroup namespace — це функція ядра Linux, яка забезпечує ізоляцію ієрархій cgroup для процесів, що працюють у межах простору імен. Cgroups, скорочено від control groups, є функцією ядра, яка дозволяє організовувати процеси в ієрархічні групи для управління та забезпечення обмежень на системні ресурси такі як ЦП, пам'ять та I/O.
Хоча cgroup namespaces не є окремим типом простору імен, як інші, про які ми говорили раніше (PID, mount, network тощо), вони пов'язані з концепцією ізоляції простору імен. Cgroup namespaces віртуалізують вид ієрархії cgroup, так що процеси, що працюють у cgroup namespace, мають інший вигляд ієрархії в порівнянні з процесами, що працюють на хості або в інших просторах імен.
How it works:
Коли створюється новий cgroup namespace, він починається з вигляду ієрархії cgroup, заснованого на cgroup процесу, що створює. Це означає, що процеси, що працюють у новому cgroup namespace, будуть бачити лише підмножину всієї ієрархії cgroup, обмежену піддеревом cgroup, коренем якого є cgroup процесу, що створює.
Процеси в межах cgroup namespace бачать свою власну cgroup як корінь ієрархії. Це означає, що з точки зору процесів всередині простору імен їхня власна cgroup з'являється як корінь, і вони не можуть бачити або отримувати доступ до cgroups поза межами свого власного піддерева.
Cgroup namespaces не забезпечують безпосередньої ізоляції ресурсів; вони лише забезпечують ізоляцію вигляду ієрархії cgroup. Контроль ресурсів та ізоляція все ще забезпечуються підсистемами cgroup (наприклад, cpu, memory тощо).
For more information about CGroups check:
Lab:
Create different Namespaces
CLI
При монтуванні нового екземпляра файлової системи /proc
, якщо ви використовуєте параметр --mount-proc
, ви забезпечуєте, що новий простір монтування має точний та ізольований вигляд інформації про процеси, специфічної для цього простору.
Docker
Перевірте, в якому просторі імен знаходиться ваш процес
Знайти всі простори імен CGroup
Увійти в простір імен CGroup
Також ви можете увійти в інше просторове ім'я лише якщо ви є root. І ви не можете увійти в інше просторове ім'я без дескриптора, що вказує на нього (наприклад, /proc/self/ns/cgroup
).
References
Last updated