对块存储的支持
您可以使用以下任何解决方案来配置本地存储
HostPath Provisioner (HPP)
本地存储操作符 (LSO)
逻辑卷管理器 (LVM) 存储
这些解决方案仅支持配置节点本地存储。工作负载绑定到提供存储的节点。如果节点不可用,工作负载也将不可用。为了在节点发生故障时保持工作负载可用性,您必须确保通过主动或被动复制机制进行存储数据复制。 |
您可以使用 HostPath Provisioner (HPP) 执行以下操作:
将主机文件系统路径映射到存储类以配置本地存储。
静态创建存储类以配置节点上的文件系统路径以供存储使用。
根据存储类静态配置持久卷 (PV)。
创建工作负载和持久卷声明 (PVC),同时了解底层存储拓扑。
HPP 在上游 Kubernetes 中可用。但是,不建议使用来自上游 Kubernetes 的 HPP。 |
您可以使用本地存储操作符 (LSO) 执行以下操作:
将存储设备(磁盘或分区)分配给存储类,无需修改设备配置。
通过配置LocalVolume
自定义资源 (CR) 静态配置 PV 和存储类。
创建工作负载和 PVC,同时了解底层存储拓扑。
LSO 由 Red Hat 开发和交付。 |
您可以使用逻辑卷管理器 (LVM) 存储执行以下操作:
将存储设备(磁盘或分区)配置为 lvm2 卷组,并将卷组公开为存储类。
创建工作负载并使用 PVC 请求存储,无需考虑节点拓扑。
LVM 存储使用 TopoLVM CSI 驱动程序动态地将存储空间分配给拓扑中的节点并配置 PV。
LVM 存储由 Red Hat 开发和维护。LVM 存储提供的 CSI 驱动程序是上游项目“topolvm”。 |
以下部分比较了 LVM 存储、本地存储操作符 (LSO) 和 HostPath Provisioner (HPP) 提供的配置本地存储的功能。
下表比较了 LVM 存储、本地存储操作符 (LSO) 和 HostPath Provisioner (HPP) 提供的对存储类型和文件系统的支持,用于配置本地存储。
功能 | LVM 存储 | LSO | HPP |
---|---|---|---|
对块存储的支持 |
是 |
是 |
否 |
对文件存储的支持 |
是 |
是 |
是 |
对对象存储的支持[1] |
否 |
否 |
否 |
可用的文件系统 |
|
|
支持节点上任何已挂载的系统。 |
没有任何解决方案(LVM 存储、LSO 和 HPP)提供对对象存储的支持。因此,如果您想使用对象存储,则需要一个 S3 对象存储解决方案,例如来自 Red Hat OpenShift Data Foundation 的MultiClusterGateway
。所有解决方案都可以作为 S3 对象存储解决方案的基础存储提供程序。
下表比较了 LVM 存储、本地存储操作符 (LSO) 和 HostPath Provisioner (HPP) 如何支持配置本地存储的核心功能。
功能 | LVM 存储 | LSO | HPP |
---|---|---|---|
对自动文件系统格式化的支持 |
是 |
是 |
N/A |
对动态配置的支持 |
是 |
否 |
否 |
支持使用软件冗余独立磁盘阵列 (RAID) 阵列 |
是 4.15 及更高版本支持。 |
是 |
是 |
支持透明磁盘加密 |
是 4.16 及更高版本支持。 |
是 |
是 |
支持基于卷的磁盘加密 |
否 |
否 |
否 |
支持离线安装 |
是 |
是 |
是 |
支持 PVC 扩展 |
是 |
否 |
否 |
支持卷快照和卷克隆 |
是 |
否 |
否 |
支持精简配置 |
是 默认情况下,设备为精简配置。 |
是 您可以将设备配置为指向精简配置卷。 |
是 您可以配置路径指向精简配置卷。 |
支持自动磁盘发现和设置 |
是 安装和运行时均提供自动磁盘发现功能。您还可以将磁盘动态添加到 |
技术预览 安装过程中提供自动磁盘发现功能。 |
否 |
下表比较了 LVM 存储、本地存储操作员 (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 存储相比,它提供的隔离级别较低。 |
隔离边界是指使用本地存储资源的不同工作负载或应用程序之间的隔离级别。
下表比较了 LVM 存储、本地存储操作员 (LSO) 和 HostPath Provisioner (HPP) 提供的用于配置本地存储的附加功能。
功能 | LVM 存储 | LSO | HPP |
---|---|---|---|
支持通用临时卷 |
是 |
否 |
否 |
支持 CSI 内联临时卷 |
否 |
否 |
否 |
支持存储拓扑 |
是 支持 CSI 节点拓扑 |
是 LSO 通过节点容忍度部分支持存储拓扑。 |
否 |
支持 |
否 |
否 |
否 |
所有解决方案(LVM 存储、LSO 和 HPP)都具有ReadWriteOnce
(RWO) 访问模式。RWO 访问模式允许同一节点上的多个 Pod 访问。