LVM在Kubernetes下的最佳实践方案--TopoLVM

TopoLVM介绍及实践

LVM在Kubernetes下的最佳实践方案–TopoLVM。

1. 简介

TopoLVM 是一种基于 LVM(Logical Volume Manager)的 CSI(Container Storage Interface)插件,专为 Kubernetes 环境设计,旨在提供拓扑感知的逻辑卷管理。它允许用户在特定节点上创建逻辑卷,并利用 LVM 的灵活性和高效性来管理 Kubernetes 集群中的存储资源。

TopoLVM 的主要特点包括:

  1. 拓扑感知: 支持在特定节点上创建逻辑卷,可以避免跨节点的数据移动,提升性能。

  2. 动态卷管理: 支持动态卷创建、删除和调整大小。

  3. 存储资源优化: 使用 LVM 的特性,可以实现对物理存储资源的更细粒度的管理和优化。

  4. 按需申请:以 PVC+StorageClass 的模式来提供服务,做到 PV 动态创建。而要实现这点,容量感知是关键,因为若调度到空间不足的节点上很明显是不合理的。最好能结合 PVC 申请的容量+Node 上的剩余容量,综合选择最优的节点来做绑定。

符合的 CSI 版本:1.5.0 。支持的平台有:

  1. Kubernetes版本:1.28,1.29,1.30

  2. 节点系统:使用LVM2(*1)的linux系统,特别是在ubuntu上进行了测试。

  3. CPU架构: x86(*2), arm64(*3), ppc64le(*3), s390x(*4)

  4. 文件系统:ext4, xfs, btrfs测试版(*5)

  5. lvm版本:2.02.163 或更高(增加了 JSON 输出支持)

标记说明:
*1 如果你使用官方的 Docker 镜像并使用 xfs 文件系统,主机的 Linux 内核必须是 v4.9 或更高版本,支持 rmapbt 和 reflink。
*2 一级支持。官方提供 Docker 镜像,并通过 CI 测试了所有功能。
*3 二级支持。官方提供 Docker 镜像,但未通过 CI 测试。
*4 三级支持。没有提供 Docker 镜像,也没有通过 CI 测试,但构建了二进制文件。
*5 截至 v0.31.0,btrfs 仍处于测试阶段。可以在生产环境中使用,但我们的用户还没有广泛使用它。

Docker 镜像可以在 ghcr.io 上获取。

2. 架构

TopoLVM 基于 CSI,因此其架构遵循 Kubernetes CSI 开发者文档中描述的架构。

TopoLVM 组件包括:

  • topolvm-controller:CSI 控制器服务。
  • topolvm-scheduler:TopoLVM 的调度器扩展程序。
  • topolvm-node:CSI 节点服务。
  • lvmd:用于管理 LVM 卷的 gRPC 服务。

·

3. 前提条件

TopoLVM 运行的所有节点上都必须创建一个卷组。Helm Chart 中定义的默认卷组名称是 myvg1。在要使用TopoLVM的Kubernetes集群的所有节点中创建名为myvg1的VG

# 我这里以新添加的sdb创建一个名为myvg1的VG
root
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lldhsds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值