• k8s--基础--28.1--ceph--介绍


    k8s–基础–28.1–ceph–介绍


    1、介绍

    1. 是一个PB,EB级别种的分布式的存储系统
    2. 是开源的
    3. 可以提供以下存储
      1. 块存储
      2. 对象存储
      3. 文件系统
    4. 可靠性高,易扩展,管理简便,其中对象存储和块存储可以和其他云平台集成。
    5. 一个Ceph集群中有Monitor节点、MDS节点(用于文件存储)、OSD守护进程。

    1.1、分布式的存储系统

    1. 能够将多个物理节点整合在一起形成共享的存储池
    2. 节点可以线性扩充,可以通过扩充节点提升性能和扩大容量,这是传统存储阵列无法做到的

    2、存储系统

    2.1、块存储(rbd)

    1. 块设备可理解成一块硬盘
    2. 用户可以直接使用不含文件系统的块设备
    3. 用户可以将 块设备 格式化成特定的文件系统,由文件系统来组织管理存储空间,从而为用户提供丰富而友好的数据操作支持。

    2.1.1、什么是块

    1. 块是一个字节序列(例如,512字节的数据块)。
    2. 基于块的存储接口是使用旋转介质(如硬盘,CD,软盘甚至传统的9轨磁带)存储数据的最常用方法。

    2.1.2、Ceph块存储(rbd)

    1. rbd 是精简配置,可调整大小,存储在Ceph集群中多个OSD条带化的数据。
    2. rbd 利用RADOS功能,如快照,复制和一致性。
    3. rbd 使用内核模块或librbd库与OSD进行交互
    4. rbd 为以下计算系统提供高性能和无限可扩展性。
      1. 内核模块或QVM等KVM以及依赖libvirt和QEMU与Ceph块存储集成的OpenStack和CloudStack等基于云的计算系统.
    5. 可以使用同一个集群同时运行Ceph RADOS Gateway,cephfs 和 rbd
    6. rbd 是通过网络连接到了Ceph集群中的一块存储区域,往rbd设备文件写入数据,最终会被存储到Ceph集群的这块区域中。

    2.2、文件系统(cephfs)存储

    1. 是一个符合POSIX标准的文件系统
    2. 使用Ceph存储集群来存储其数据。
    3. cephfs和rbd 使用相同的Ceph存储集群系统。
    4. 用户可以在块设备上创建文件系统,包含xfs,ext4等。Ceph集群实现了自己的文件系统来组织管理集群的存储空间,用户可以直接将Ceph集群的文件系统挂载到用户机上使用。

    2.2.1、cephfs,rbd 区别

    1. rbd 具有优异的读写性能,但不能多处挂载同时读写,目前主要用在OpenStack上作为虚拟磁盘
    2. cephfs接口 读写性能较 rbd接口 差,但具有优异的共享性,能多处挂载同时读写

    2.3、对象存储

    1. Ceph对象存储 使用Ceph对象网关守护进程(radosgw),它是一个用于与Ceph存储集群交互的HTTP服务器。
    2. Ceph对象网关具有自己的用户管理。
    3. Ceph对象网关可以将数据存储在用于存储来自Ceph文件系统客户端或Ceph块设备客户端的数据的相同Ceph存储集群中
    4. 使用方式:通过http协议上传下载删除对象(文件即对象)。

    2.3.1、对象存储,cephfs,rbd 区别

    1. rbd 具有优异的存储性能但不具有共享性
    2. cephfs 具有共享性然而 存储性能 较 rbd 差
    3. 对象存储:是rbd和cephfs的综合
      1. 具有共享性
      2. 存储性能:cephfs<对象存储

    3、分布式存储的优点

    3.1、高可靠

    1. 满足存储读取不丢失
    2. 保证数据长期存储
    3. 保证部分硬件损坏后依然可以保证数据安全

    3.2、高性能

    读写速度快

    3.3、可扩展

    1. 能够将多个物理节点整合在一起形成共享的存储池
    2. 节点可以线性扩充,可以通过扩充节点提升性能和扩大容量,这是传统存储阵列无法做到的

    4、ceph的核心组件

    1. 在ceph集群中,不管你是想要提供对象存储,rbd,还是cephfs,所有Ceph存储集群部署都是从设置每个Ceph节点,网络和Ceph存储开始的。
    2. Ceph存储集群至少需要一个以下组件
      1. Ceph Monitor
      2. Ceph Manager
      3. Ceph OSD(对象存储守护进程)
      4. MDS
    3. 运行Ceph Filesystem客户端时也需要Ceph元数据服务器。

    4.1、Monitors

    1. Monitors:监视器(ceph-mon)
    2. 维护集群状态的映射信息,包括如下
      1. 监视器映射
      2. 管理器映射
      3. OSD映射
      4. CRUSH映射
    3. 上面映射是Ceph守护进程相互协调所需的关键集群状态。
    4. 负责管理守护进程和客户端之间的身份验证。
    5. 至少需要三个monitor来实现高可用。

    4.2、Managers

    1. Managers:Ceph Manager守护程序(ceph-mgr)
    2. 负责跟踪运行时指标和Ceph集群的当前状态,包括
      1. 存储利用率
      2. 当前性能指标
      3. 系统负载。
    3. ceph-mgr 还托管基于python的模块来管理和公开Ceph集群信息,包括
      1. 基于Web的 Ceph Dashboard
      2. 基于Web的 REST API
    4. 高可用性通常至少需要2名Managers

    4.3、Ceph OSD

    1. Ceph OSD:对象存储守护进程(ceph-osd)
    2. 全称:Object Storage Device
    3. 主要功能
      1. 存储数据
      2. 复制数据
      3. 平衡数据
      4. 恢复数据
      5. 通过检查其他Ceph OSD守护进程来获取心跳
    4. 通过心跳程序向Monitor和Managers 提供一些监视信息
    5. 一般情况
      1. 1块硬盘对应1个OSD,1个分区也可以对应1个OSD。
    6. 冗余和高可用性通常至少需要3个Ceph OSD。
    7. 一个Ceph集群中至少需要两个OSD守护进程,这两个osd需要在两个物理服务器上,而不是在一台服务器上启动两个osd。

    4.4、MDS

    1. MDS:Ceph元数据服务器(MDS,ceph-mds)
    2. 代表cephfs 存储元数据
      1. rbd 和 对象存储不使用MDS
      2. cephfs使用MDS
    3. 允许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