Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 4 章 内核特性

本章解释了内核功能的目的和使用,它们启用了许多用户空间工具,还包含用于进一步调查这些工具的资源。

4.1. Control groups

4.1.1. 什么是控制组?

注意

Control Group Namespaces 在 Red Hat Enterprise Linux 7.5 中是一个技术预览功能

Linux 控制组(cgroups)启用对系统硬件使用的限制,确保在 cgroup 内运行的单个进程仅利用 cgroups 配置中允许的最大数量。

控制组限制由命名空间启用的资源的使用量。例如,网络命名空间允许进程访问特定的网卡,cgroup 确保进程不超过该卡的 50% 使用,从而确保带宽可用于其他进程。

控制组命名空间通过 /proc/self/ns/cgroup 接口提供单个 cgroup 的虚拟化视图。

目的是防止特权数据从全局命名空间中泄漏到 cgroup 并启用其他功能,如容器迁移。

由于容器与单个 cgroup 关联更为简单,容器具有更加一致的 cgroup 视图,它还允许容器内的任务具有它所属的 cgroup 的虚拟化视图。

4.1.2. 什么是命名空间?

命名空间是一种内核功能,允许对隔离的系统资源进行虚拟查看。通过将进程与系统资源隔离,您可以指定和控制进程能够与之交互的内容。命名空间是控制组的基本部分。

4.1.3. 支持的命名空间

Red Hat Enterprise Linux 7.5 及更新的版本支持以下命名空间

  • Mount

    • 挂载命名空间隔离文件系统挂载点,使每个进程在 Wich 内都有一个不同的文件系统空间。
  • UTS

    • 主机名和 NIS 域名
  • IPC

    • 系统 V IPC, POSIX 消息队列
  • PID

    • 进程 ID
  • Network

    • 网络设备、堆栈、端口等.
  • 用户

    • 用户和组群 ID
  • 控制组群

    • 隔离 cgroups