-
k8s--基础--28.1--ceph--介绍
k8s–基础–28.1–ceph–介绍
1、介绍
- 是一个PB,EB级别种的分布式的存储系统
- 是开源的
- 可以提供以下存储
- 块存储
- 对象存储
- 文件系统
- 可靠性高,易扩展,管理简便,其中对象存储和块存储可以和其他云平台集成。
- 一个Ceph集群中有Monitor节点、MDS节点(用于文件存储)、OSD守护进程。
1.1、分布式的存储系统
- 能够将多个物理节点整合在一起形成共享的存储池
- 节点可以线性扩充,可以通过扩充节点提升性能和扩大容量,这是传统存储阵列无法做到的
2、存储系统
2.1、块存储(rbd)
- 块设备可理解成一块硬盘
- 用户可以直接使用不含文件系统的块设备
- 用户可以将 块设备 格式化成特定的文件系统,由文件系统来组织管理存储空间,从而为用户提供丰富而友好的数据操作支持。
2.1.1、什么是块
- 块是一个字节序列(例如,512字节的数据块)。
- 基于块的存储接口是使用旋转介质(如硬盘,CD,软盘甚至传统的9轨磁带)存储数据的最常用方法。
2.1.2、Ceph块存储(rbd)
- rbd 是精简配置,可调整大小,存储在Ceph集群中多个OSD条带化的数据。
- rbd 利用RADOS功能,如快照,复制和一致性。
- rbd 使用内核模块或librbd库与OSD进行交互
- rbd 为以下计算系统提供高性能和无限可扩展性。
- 内核模块或QVM等KVM以及依赖libvirt和QEMU与Ceph块存储集成的OpenStack和CloudStack等基于云的计算系统.
- 可以使用同一个集群同时运行Ceph RADOS Gateway,cephfs 和 rbd
- rbd 是通过网络连接到了Ceph集群中的一块存储区域,往rbd设备文件写入数据,最终会被存储到Ceph集群的这块区域中。
2.2、文件系统(cephfs)存储
- 是一个符合POSIX标准的文件系统
- 使用Ceph存储集群来存储其数据。
- cephfs和rbd 使用相同的Ceph存储集群系统。
- 用户可以在块设备上创建文件系统,包含xfs,ext4等。Ceph集群实现了自己的文件系统来组织管理集群的存储空间,用户可以直接将Ceph集群的文件系统挂载到用户机上使用。
2.2.1、cephfs,rbd 区别
- rbd 具有优异的读写性能,但不能多处挂载同时读写,目前主要用在OpenStack上作为虚拟磁盘
- cephfs接口 读写性能较 rbd接口 差,但具有优异的共享性,能多处挂载同时读写
2.3、对象存储
- Ceph对象存储 使用Ceph对象网关守护进程(radosgw),它是一个用于与Ceph存储集群交互的HTTP服务器。
- Ceph对象网关具有自己的用户管理。
- Ceph对象网关可以将数据存储在用于存储来自Ceph文件系统客户端或Ceph块设备客户端的数据的相同Ceph存储集群中
- 使用方式:通过http协议上传下载删除对象(文件即对象)。
2.3.1、对象存储,cephfs,rbd 区别
- rbd 具有优异的存储性能但不具有共享性
- cephfs 具有共享性然而 存储性能 较 rbd 差
- 对象存储:是rbd和cephfs的综合
- 具有共享性
- 存储性能:cephfs<对象存储
3、分布式存储的优点
3.1、高可靠
- 满足存储读取不丢失
- 保证数据长期存储
- 保证部分硬件损坏后依然可以保证数据安全
3.2、高性能
读写速度快
3.3、可扩展
- 能够将多个物理节点整合在一起形成共享的存储池
- 节点可以线性扩充,可以通过扩充节点提升性能和扩大容量,这是传统存储阵列无法做到的
4、ceph的核心组件
- 在ceph集群中,不管你是想要提供对象存储,rbd,还是cephfs,所有Ceph存储集群部署都是从设置每个Ceph节点,网络和Ceph存储开始的。
- Ceph存储集群至少需要一个以下组件
- Ceph Monitor
- Ceph Manager
- Ceph OSD(对象存储守护进程)
- MDS
- 运行Ceph Filesystem客户端时也需要Ceph元数据服务器。
4.1、Monitors
- Monitors:监视器(ceph-mon)
- 维护集群状态的映射信息,包括如下
- 监视器映射
- 管理器映射
- OSD映射
- CRUSH映射
- 上面映射是Ceph守护进程相互协调所需的关键集群状态。
- 负责管理守护进程和客户端之间的身份验证。
- 至少需要三个monitor来实现高可用。
4.2、Managers
- Managers:Ceph Manager守护程序(ceph-mgr)
- 负责跟踪运行时指标和Ceph集群的当前状态,包括
- 存储利用率
- 当前性能指标
- 系统负载。
- ceph-mgr 还托管基于python的模块来管理和公开Ceph集群信息,包括
- 基于Web的 Ceph Dashboard
- 基于Web的 REST API
- 高可用性通常至少需要2名Managers
4.3、Ceph OSD
- Ceph OSD:对象存储守护进程(ceph-osd)
- 全称:Object Storage Device
- 主要功能
- 存储数据
- 复制数据
- 平衡数据
- 恢复数据
- 通过检查其他Ceph OSD守护进程来获取心跳
- 通过心跳程序向Monitor和Managers 提供一些监视信息
- 一般情况
- 1块硬盘对应1个OSD,1个分区也可以对应1个OSD。
- 冗余和高可用性通常至少需要3个Ceph OSD。
- 一个Ceph集群中至少需要两个OSD守护进程,这两个osd需要在两个物理服务器上,而不是在一台服务器上启动两个osd。
4.4、MDS
- MDS:Ceph元数据服务器(MDS,ceph-mds)
- 代表cephfs 存储元数据
- rbd 和 对象存储不使用MDS
- cephfs使用MDS
- 允许POSIX文件系统用户执行基本命令(如ls,find等),而不会给Ceph存储集群带来巨大负担。
-
相关阅读:
【学习笔记】用线段树维护区间计数问题
深入解析 Azure 机器学习平台:架构与组成部分
微服务框架 SpringCloud微服务架构 8 Gateway 网关 8.1 网关作用介绍
win10-wsl安装卸载以及软件安装
IDR 学习笔记
C/C++内存管理
项目管理之合同管理
用户的权限
爬虫玩得好,牢饭吃到饱?这3条底线千万不能碰!
FPGA与ASIC有什么差异?二者该如何选用?
-
原文地址:https://blog.csdn.net/zhou920786312/article/details/126244790