K8s使用Ceph作为后端存储

  1. Ceph概述
  2. 部署Ceph集群
  3. Ceph存储使用
  4. Pod使用Ceph持久化数据
  5. Ceph监控
  6. Rook部署Ceph

Ceph概述

  • Ceph介绍
  • Ceph架构
  • Ceph核心概念

Ceph介绍

Ceph是一个开源的分布式存储系统,具有高扩展性、高性能、高可靠性等特点,提
供良好的性能、可靠性和可扩展性。支持对象存储、块存储和文件系统。
是目前为云平台提供存储的理想方案。

Ceph架构

  • RBD(RADOS Block Device):块存储接口
  • RGW(RADOS Gateway)):对象存储网关,接口与S3和Swift兼容
  • CephFS(Ceph File System):文件级存储接口
  • RADOS(Reliable Autonomic Distributed Object Store):抽象的对象存储集群,Ceph核心,实现用户数据分配、故障转移等集群操作
  • MON:集群状态维护,例如OSD是否健康、PG状态等
  • MDS (Metadata Server) :CephFS服务依赖的元数据服务
  • OSD(Object Storage Daemon):对象存储设备,主要存储数据

Ceph核心概念

  • **Pool:存储池,**是存储对象的逻辑分区,它规定了数据冗余的类型和对应的副本分布策略;支持两种类型:副本(replicated)和 纠删码(Erasure Code)
  • **PG( placement group):放置策略组,**对象的集合,该集合里的所有对象都具有相同的放置策略;简单点说就是相同PG内的对象都会放到相同的硬盘上; PG是ceph的核心概念, 服务端数据均衡和恢复的最小粒度;引入PG这一层其实是为了更好的分配数据和定位数据。

右边这张图描述了它们之间的关系:

  • 一个Pool里有很多PG;
  • 一个PG里包含一堆对象;一个对象只能属于一个PG;
  • PG属于多个OSD,分布在不同的OSD上;

部署Ceph集群

  • Ceph版本选择
  • 服务器配置建议
  • Ceph集群部署规划
  • 操作系统初始化配置
  • Ceph集群部署
  • Ceph集群服务管理
  • Ceph集群常用管理命令

Ceph版本选择

Ceph目前最新版本16(P版),市面上应用最广泛的是12(L版)
参考:https://docs.ceph.com/en/latest/releases/

服务器配置建议

Ceph集群部署规划

  • ceph-deploy:ceph集群部署节点,负责集群整体部署,这里复用node1节点,也可以单独找一台服务器作为部署节点。
  • monitor:Ceph监视管理节点,承担Ceph集群重要的管理任务,负责集群状态维护,例如存储池副本数、PG状态、OSD数量等,至少部署1个,一般需要3或5个节点组建高可用。
  • osd:Ceph存储节点,实际负责数据存储的节点,集群中至少有3个OSD,不少于默认副本数,每个OSD对应一块硬盘。

操作系统初始化配置

Ceph集群部署

Ceph集群服务管理

Ceph集群常用管理命令

**❖**Ceph存储使用

**❖**Pod使用Ceph持久化数据

**❖**Ceph监控

**❖**Rook部署Ceph

相关推荐
有个傻瓜5 小时前
PHP语言核心技术全景解析
开发语言·kubernetes·php
幻灭行度6 小时前
CKA考试知识点分享(2)---ingress
kubernetes
MickeyCV15 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
藥瓿亭16 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_8097983216 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
嵌入式大圣16 小时前
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
运维·docker·容器
孔令飞17 小时前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes
极简网络科技18 小时前
Docker、Wsl 打包迁移环境
运维·docker·容器
江湖有缘19 小时前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
猫咪老师199520 小时前
多系统一键打包docker compose下所有镜像并且使用
java·docker·容器