当前位置: 首页 > news >正文

【云原生】openebs-device+cstor存储方案部署

        要配置使用 OpenEBS 的 device+cStor 存储方案,需要完成 cStor 池的创建、存储类定义等步骤。cStor 是 OpenEBS 提供的高性能块存储解决方案,基于存储设备构建,支持快照、克隆等高级功能。以下是详细配置步骤:

一、前提条件

1. 节点准备
  • Kubernetes 集群(1.21+ 版本,本文k8s版本为1.28.2)

  • 每个节点上有至少一块空闲的块设备(未格式化且未挂载

  • 安装 OpenEBS(参考官方文档):

kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml
2. 验证 OpenEBS 组件
kubectl get pods -n openebs

        确保 cstor-operatoropenebs-ndm 等组件正常运行(STATUS=Running)。

二、配置步骤

1. 发现并标记存储设备

        OpenEBS 的 NDM(Node Disk Manager)会自动发现节点上(openebs-ndm运行的节点)的块设备,需标记可用设备供 cStor 使用。

(1)查看发现的设备(存在污点的master节点除外)

kubectl get blockdevices -n openebs

输出示例:

NAME                NODENAME    SIZE          CLAIMSTATE   STATUS
blockdevice-123...   slave01       107374182400  Unclaimed    Active
blockdevice-876...   slave02       107374182400  Unclaimed    Active

(2)标记设备为 "cstor" 可用

kubectl label blockdevices -n openebs blockdevice-12345678... openebs.io/block-device-type=cstor
kubectl label blockdevices -n openebs blockdevice-87654321... openebs.io/block-device-type=cstor
2. 安装cstor-operator
kubectl apply -f https://openebs.github.io/charts/cstor-operator.yaml
​
# 若registry.k8s.io镜像仓库无法访问# 方案一:
可以 wget https://openebs.github.io/charts/cstor-operator.yaml 到本地
# 将镜像中registry.k8s.io替换为k8s.mirror.nju.edu.cn
# 然后 kubectl apply -f cstor-operator.yaml​# 方案二:
# 或者在各节点containered仓库配置
sudo vi /etc/containerd/config.toml
# 添加如下配置[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] # registry.k8s.ioendpoint = ["https://k8s.mirror.nju.edu.cn"]# 再reload、restart containered
sudo systemctl daemon-reload
sudo systemctl restart containerd

3. 验证是否安装成功
kubectl get crd | grep cstor

4. 创建 cStor 池(CStorPoolCluster)
apiVersion: cstor.openebs.io/v1
kind: CStorPoolCluster
metadata:name: cstor-poolnamespace: openebs
spec:pools:# 02节点的池配置- nodeSelector:kubernetes.io/hostname: hy02  # 目标节点dataRaidGroups:- blockDevices:# 02节点的块设备名称- blockDeviceName: blockdevice-6710671d199cc923f5d05d72a16f8e51poolConfig:# 单盘必须用 stripe;mirror 需至少 2 块盘;raidz 需至少 3 块盘dataRaidGroupType: stripe# 可选:开启厚置备(默认 false,即 thin provision)thickProvision: false# 可选:压缩(默认 off,可选 lz)compression: "off"# 03节点的池配置- nodeSelector:kubernetes.io/hostname: hy03  # 目标节点dataRaidGroups:- blockDevices:# 03节点的块设备名称- blockDeviceName: blockdevice-1e62f0264d7ceb5c4b6232d67e0d1915poolConfig:# 单盘必须用 stripedataRaidGroupType: stripethickProvision: falsecompression: "off"

(1)应用配置

kubectl apply -f cstor-pool.yaml

(2)验证 cStor 池状态

# 查看池集群
kubectl get cspc -n openebs
# 查看单个池状态
kubectl get cspi -n openebs

三、创建存储类(StorageClass)

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: openebs-cstor
provisioner: cstor.csi.openebs.io
parameters:cas-type: cstorcstorPoolCluster: cstor-pool   # 对应你的 CSPC 名称replicaCount: "2"              # 数据副本数(建议与节点数一致)
allowVolumeExpansion: true

应用配置

kubectl apply -f cstor-sc.yaml

四、使用:创建PVC、PV即可

        自动创建pv和pvc绑定

亲测有效哦,如果文章中有什么问题,欢迎大家批评指正!!!

http://www.dtcms.com/a/410254.html

相关文章:

  • 破译古籍密码,HisDoc-DETR论文解读
  • Kafka 面试题及详细答案100道(66-80)-- 运维与部署
  • 衡阳网站优化公司个人网站可以做音乐吗
  • 怎么iis设置网站太原网站建设外包
  • UVa1008/LA2240 A Vexing Problem
  • 如何利用Yarn定位数据倾斜问题?
  • 开源 C# 快速开发(四)自定义控件--波形图
  • javaweb3【ServletContext知识】
  • Java 复制 PowerPoint 幻灯片:高效实现演示文稿内容复用
  • ⸢ 陆 ⸥ ⤳ 可信纵深防御:整体架构
  • 医疗数据ETL开发流程总结
  • 网站制作多久能完成泰州做网站需要多少钱
  • 【汽车篇】AI深度学习在汽车零部件外观检测——铝铸件中的应用
  • Unity 虚拟仿真实验中设计模式的使用 ——工厂模式(Factory Pattern)
  • 网站备案初审过了企业信息门户网站建设方案
  • 【力扣LeetCode】231_2的幂(法1:循环迭代,法2:位运算)
  • 【便宜整数正分解】2022-11-23
  • hive连不上,报错9000拒绝连接
  • 力扣hot100 | 多维动态规划 | 62. 不同路径、64. 最小路径和、5. 最长回文子串、1143. 最长公共子序列、72. 编辑距离
  • 构建生产级多模态数据集:视觉与视频模型(参照LLaVA-OneVision-Data和VideoChat2)
  • 《策略模式在电商系统中的优雅应用:重构你的折扣计算逻辑》
  • 网站界面设计内容做外贸网站哪里好
  • ValueError: Expecting value: line 1 column 1 (char 0)
  • Agent的九种设计模式
  • 系统性学习C++-第二讲-类和对象(上)
  • LSM-Tree数据结构和数据库
  • 理解Modbus地址:设备手册地址 (40001) vs. 协议地址 (0)
  • 自己做电商网站网站建设 万网
  • Linux系统编程:线程概念
  • 【pycharm---pytorch】pycharm配置以及pytorch学习