【问题标题】:cgroups isolation (separating groups processes)cgroups 隔离(分离组进程)
【发布时间】:2013-01-14 18:02:35
【问题描述】:

我有一个关于 cgroup 的问题,特别是考虑到隔离。

维基百科指出,您可以使用 cgroups 来隔离组,以便“组有单独的命名空间,因此他们看不到彼此的进程、网络连接或文件”。

我已经知道,如何在组之间共享或划分内存或 cpu,但想知道,组或用户如何只能看到自己的进程(例如,必须在 cgrules.conf 和 cgconfig.conf 中) )。

例子:

当指定组的用户在他的控制台中输入 ps(或 ps -aux)时,应该只列出他的进程,而不是其他用户/组的进程(如 ps -u)。 我知道我可以做一个快速而肮脏的编程方法来完成这样的事情,但我想知道它是如何与 cgroups 一起工作的。

非常感谢您的专业知识!

【问题讨论】:

标签: linux isolation cgroups


【解决方案1】:

Cgroups 并没有能力提供完整的命名空间隔离。您正在寻找的是 Linux 容器 (LXC) -- http://lxc.sourceforge.net/。 LXC 使用 cgroups 进行资源管理,并允许您将进程容器化并将它们与主机系统隔离。 Libvirt 还提供了 LXC 驱动程序,可以轻松设置容器,甚至在容器中运行完整的操作系统。

更多来源:

【讨论】:

    【解决方案2】:

    虽然 lxc 是提供隔离的好方法,但 cgroups 即使在缓存级别(如果处理器支持)也具有此功能。许多集群管理器/资源管理器(如 Mesos)都在使用这些功能。使用 cgset,您可以为 cgroup 设置 IO、CPU 和内存的限制。你可以在here找到一些文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多