3.9. 配置 Docker 存储
容器及其创建的镜像存储在 Docker 的存储后端中。这个存储是临时的,与分配用来满足应用程序需要的 持久性存储分开。使用 临时(Ephemeral)存储时,容器保存的数据会在容器被删除时丢失。使用 持久性存储 时,如果容器被删除,容器保存的数据会保留。
您必须为所有 master 和节点主机配置存储,因为默认每个系统都运行容器守护进程。对于容器化安装,您需要在 master 上存储。另外,默认情况下,需要存储的 Web 控制台和 etcd 在 master 上的容器中运行。容器在节点上运行,它们始终需要存储。
存储的大小取决于工作负载、容器数量、运行的容器大小以及容器的存储要求。
如果您的主机使用 RHEL 7.5,且您想要接受 OpenShift Container Platform 的默认 docker 配置(使用 OverlayFS 存储和所有默认日志选项),请不要手动安装这些软件包。安装过程中运行 prerequisites.yml playbook 时会安装这些软件包。
如果您的主机使用 RHEL 7.4,或者使用 RHEL 7.5 且您要自定义 docker 配置,请安装这些软件包。
对于 RHEL 7 系统:
RHEL 7 上 Docker 的默认存储后端是回送设备的一个精简池,在生产环境中不被支持,仅适用于概念验证环境。对于生产环境,您必须创建一个精简池逻辑卷,并重新配置 Docker 来使用这个卷。
Docker 将镜像和容器存储在图形驱动程序中,它是一个可插入的存储技术,如 DeviceMapper、 OverlayFS 和 Btrfs。它们都有各自的优缺点。例如,OverlayFS 在启动和停止容器时比 DeviceMapper 快,但因为联合文件系统的架构限制,OverlayFS 无法兼容 Unix(POSIX)的可移植操作系统接口。有关在您的 RHEL 版本中使用 OverlayFS 的详情,请查看 Red Hat Enterprise Linux 发行注记。
有关 DeviceMapper 和 OverlayFS 的优点和局限性的更多信息,请参阅 Choosing a Graph Driver。
对于 RHEL Atomic Host 7 系统:
RHEL Atomic Host 上 Docker 的默认存储后端是一个精简逻辑卷,在生产环境中被支持。您必须确保根据系统要求中提到的 Docker 存储要求为这个卷分配足够空间。
如果您没有足够的空间,请参阅使用 Docker 格式化容器管理存储,以了解有关使用 docker-storage-setup 和 RHEL Atomic Host 中存储管理的基本说明。
3.9.1. 配置 OverlayFS 复制链接链接已复制到粘贴板!
OverlayFS 是一种联合文件系统。OverlayFS 允许您在另一个文件系统上覆盖一个文件系统。更改记录在上面的文件系统中,而较小的文件系统则未修改。
比较 Overlay 和 Overlay2 Graph Drivers 提供了更多与 overlay 和 overlay2 驱动程序相关的信息。
要使用 overlay2 驱动程序,下层必须使用 XFS 文件系统。较低层文件系统是保持未修改的文件系统。
有关为 Docker 服务启用 OverlayFS 存储驱动程序的详情,请查看 Red Hat Enterprise Linux Atomic Host 文档。