第 5 章 使用本地存储的持久性存储
5.1. 本地存储概述 复制链接链接已复制到粘贴板!
您可以使用以下解决方案置备本地存储:
- HostPath Provisioner (HPP)
- Local Storage Operator (LSO)
- Logical Volume Manager (LVM) Storage
这些解决方案只支持置备节点本地存储。工作负载绑定到提供存储的节点。如果节点不可用,工作负载也会变得不可用。要保持工作负载可用性(尽管节点失败),您必须确保通过主动或被动复制机制进行存储数据。
5.1.1. HostPath Provisioner 功能概述 复制链接链接已复制到粘贴板!
您可以使用 HostPath Provisioner (HPP) 执行以下操作:
- 将主机文件系统路径映射到存储类以进行本地存储。
- 静态创建存储类,在节点上配置文件系统路径以进行存储消耗。
- 根据存储类静态置备持久性卷 (PV)。
- 在了解底层存储拓扑时,创建工作负载和 PersistentVolumeClaims (PVC)。
HPP 在上游 Kubernetes 中提供。但是,不建议使用来自上游 Kubernetes 的 HPP。
5.1.2. Local Storage Operator 功能概述 复制链接链接已复制到粘贴板!
您可以使用 Local Storage Operator (LSO) 执行以下操作:
- 在不修改设备配置的情况下,将存储设备(磁盘或分区)分配给存储类。
-
通过配置
LocalVolume
自定义资源 (CR) 以静态置备 PV 和存储类。 - 在了解底层存储拓扑时创建工作负载和 PVC。
LSO 由红帽开发和交付。
5.1.3. LVM 存储功能概述 复制链接链接已复制到粘贴板!
您可以使用逻辑卷管理器(LVM)存储执行以下操作:
- 将存储设备(磁盘或分区)配置为 lvm2 卷组,并将卷组公开为存储类。
- 在不考虑节点拓扑的情况下,使用 PVC 创建工作负载和请求存储。
LVM 存储使用 TopoLVM CSI 驱动程序,将存储空间动态分配给拓扑中的节点,并置备 PV。
LVM 存储由红帽开发和维护。LVM 存储提供的 CSI 驱动程序是上游项目 "topolvm"。
5.1.4. LVM 存储、LSO 和 HPP 的比较 复制链接链接已复制到粘贴板!
以下小节比较 LVM Storage、Local Storage Operator (LSO)和 HostPath Provisioner (HPP) 提供的功能,以置备本地存储。
5.1.4.1. 支持存储类型和文件系统的比较 复制链接链接已复制到粘贴板!
下表比较了对 LVM Storage、Local Storage Operator (LSO)和 HostPath Provisioner (HPP)提供的存储类型和文件系统的支持,以置备本地存储:
功能 | LVM 存储 | LSO | HPP |
---|---|---|---|
支持块存储 | 是 | 是 | 否 |
支持文件存储 | 是 | 是 | 是 |
支持对象存储 [1] | 否 | 否 | 否 |
可用文件系统 |
|
| 支持节点上任何挂载的系统。 |
-
任何解决方案(LVM 存储、LSO 和 HPP)都不支持对象存储。因此,如果要使用对象存储,则需要 S3 对象存储解决方案,如 Red Hat OpenShift Data Foundation 中的
MultiClusterGateway
。所有解决方案都可以充当 S3 对象存储解决方案的底层存储供应商。
5.1.4.2. 对核心功能的支持比较 复制链接链接已复制到粘贴板!
下表比较了 LVM Storage、Local Storage Operator (LSO)和 HostPath Provisioner (HPP)支持置备本地存储的核心功能:
功能 | LVM 存储 | LSO | HPP |
---|---|---|---|
支持自动文件系统格式 | 是 | 是 | N/A |
支持动态置备 | 是 | 否 | 否 |
支持使用软件独立磁盘阵列(RAID)阵列 | 是 支持 4.15 及更新的版本。 | 是 | 是 |
支持透明磁盘加密 | 是 在 4.16 及更新的版本中支持。 | 是 | 是 |
支持基于卷的磁盘加密 | 否 | 否 | 否 |
支持断开连接的安装 | 是 | 是 | 是 |
支持 PVC 扩展 | 是 | 否 | 否 |
支持卷快照和卷克隆 | 是 | 否 | 否 |
支持精简配置 | 是 默认情况下,设备是精简置备的。 | 是 您可以将设备配置为指向精简配置的卷 | 是 您可以配置指向精简配置的卷的路径。 |
支持自动磁盘发现和设置 | 是
在安装过程中和运行时提供自动磁盘发现。您还可以在 | 技术预览 在安装过程中提供自动磁盘发现。 | 否 |
5.1.4.3. 性能和隔离功能的比较 复制链接链接已复制到粘贴板!
下表比较了置备本地存储中的 LVM 存储、Local Storage Operator (LSO)和 HostPath Provisioner (HPP)的性能和隔离功能。
功能 | LVM 存储 | LSO | HPP |
---|---|---|---|
性能 | 对使用相同存储类的所有工作负载,I/O 速度都是共享的。 块存储允许直接 I/O 操作。 精简配置可能会影响性能。 | I/O 依赖于 LSO 配置。 块存储允许直接 I/O 操作。 | 对使用相同存储类的所有工作负载,I/O 速度都是共享的。 底层文件系统实施的限制可能会影响 I/O 速度。 |
隔离边界 [1] | LVM 逻辑卷(LV) 与 HPP 相比,它提供了更高级别的隔离。 | LVM 逻辑卷(LV) 与 HPP 相比,它提供了更高级别的隔离 | 文件系统路径 与 LSO 和 LVM 存储相比,它提供了较低级别的隔离。 |
- 隔离边界指的是使用本地存储资源的不同工作负载或应用程序之间的隔离程度。
5.1.4.4. 支持额外功能的比较 复制链接链接已复制到粘贴板!
下表比较了 LVM Storage、Local Storage Operator (LSO)和 HostPath Provisioner (HPP)提供的额外功能,以置备本地存储:
功能 | LVM 存储 | LSO | HPP |
---|---|---|---|
支持通用临时卷 | 是 | 否 | 否 |
支持 CSI 内联临时卷 | 否 | 否 | 否 |
支持存储拓扑 | 是 支持 CSI 节点拓扑 | 是 LSO 通过节点容限提供对存储拓扑的部分支持。 | 否 |
支持 | 否 | 否 | 否 |
-
所有解决方案 (LVM 存储、LSO 和 HPP) 都有
ReadWriteOnce
(RWO) 访问模式。RWO 访问模式允许从同一节点上的多个 pod 访问。