IBM 为 Linux 内核提出新的命名空间机制
命名空间(Namespace)是 Linux 内核的一个特性,它对内核资源进行分区,使得一组进程看到一组资源,而另一组进程看到一组不同的资源。该功能的工作原理是为一组资源和进程使用相同的命名空间,但这些命名空间引用不同的资源。资源可能存在于多个空间中。此类资源的示例包括进程 ID、主机名、用户 ID、文件名以及一些与网络访问和进程间通信相关的名称。 IBM 工程师 Pratik Sampat 近日发表了 Linux 内核的 CPU Namespace 接口的早期原型。设计这个命名空间是为了解决当前查看可用 CPU 资源的方法的一致性问题,以及解决因了解系统上的资源访问/位置而可能产生的安全问题。 如今,在容器上运行的应用程序在 cgroups 的帮助下执行它们的 CPU、内存限制与要求。然而,许多应用程序通过 sysfs/procfs 继承或以其他方式获得系统的视图,并根据这些信息分配资源,如线程/进程的数量,内存分配。这可能会导致意外的运行行为,并对性能产生很大影响。 除了一致性问题,目前的处理方式也给多租户系统带来了安全和公平使用的影响,例如: 攻击者可以在知道 CPU 节点拓扑的...
