第 6 章 使用 LVMS 插件进行动态存储
红帽构建的 MicroShift 启用动态存储置备,可立即与逻辑卷管理器存储(LVMS) 容器存储 (CSI) 供应商一起使用。LVMS 插件是 TopoLVM 的 Red Hat downstream 版本,它是一个 CSI 插件,用于管理 Kubernetes 的 LVM 卷。
LVMS 为带有适当配置的持久性卷声明 (PVC) 的容器工作负载置备新的逻辑卷管理 (LVM) 逻辑卷 (LV)。每个 PVC 都引用一个存储类,它代表主机节点上的 LVM 卷组(VG)。LV 仅针对调度的 pod 置备。
6.1. LVMS 系统要求
在红帽构建的 MicroShift 中使用 LVMS 需要以下系统规格:
6.1.1. 卷组名称
LVMS 的默认集成会动态选择默认卷组 (VG)。如果红帽构建的 MicroShift 主机上没有卷组,则 LVMS 会被禁用。
如果红帽构建的 MicroShift 主机中只有一个 VG,则会使用该 VG。如果有多个卷组,则使用组 microshift
。如果没有找到 microshift
组,则 LVMS 将被禁用。
如果要使用特定的 VG,则必须将 LVMS 配置为选择该 VG。您可以在配置文件中更改 VG 的默认名称。详情请查看本文档的"配置 LVMS"部分。
您可以在配置文件中更改 VG 的默认名称。详情请查看本文档的"配置 LVMS"部分。
在启动前,lvmd.yaml
配置文件必须在节点上指定一个现有 VG,且有足够的容量用于工作负载存储。如果 VG 不存在,节点控制器会启动并进入 CrashLoopBackoff
状态。
6.1.2. 卷大小递增
LVMS 以 1GB (GB) 为单位递增的形式置备存储。存储请求将向上舍入到最接近的 GB。当 VG 的容量小于 1 GB 时,PersistentVolumeClaim
会注册一个 ProvisioningFailed
事件,例如:
输出示例
Warning ProvisioningFailed 3s (x2 over 5s) topolvm.cybozu.com_topolvm-controller-858c78d96c-xttzp_0fa83aef-2070-4ae2-bcb9-163f818dcd9f failed to provision volume with StorageClass "topolvm-provisioner": rpc error: code = ResourceExhausted desc = no enough space left on VG: free=(BYTES_INT), requested=(BYTES_INT)