Ceph OSD是Ceph存储集群最重要的组件,Ceph OSD将数据以对象的形式存储到集群中每个节点的物理磁盘上,完成存储工作由OSD Daemon进程完成。集群中一般包括OSD节点,对于对象数据的读写,client首先是从Monitor节点获取Cluster Map信息,后续client直接同OSD进行I/O操作的交互,加速读写过程。相较于其他分布式存储系统,效率更高。

Ceph的核心功能包括高可靠、自动平衡、自动恢复和一致性。因此对于OSD而言,基于配置的副本数,Ceph通过分布在多个节点上的副本来实现,使Ceph满足高可用以及容错能力。在OSD中的每个对象都有一个源数据以及多个副本,副本默认分布在不同的节点上,这就是Ceph作为分布式存储系统的体现。每个OSD节点都能作为数据对象的源存储节点,同时也能作为其他数据对象的副本节点。副本OSD节点受到源OSD节点的控制。在磁盘故障时,Ceph OSD Daemon的智能机制将协同其他OSD执行恢复操作。此时,副本OSD节点被提升为源节点,同时新的副本将重新生成,保证了Ceph的可靠和一致。

OSD架构实现由物理磁盘驱动器、在其上的Linux文件系统以及Ceph OSD服务组成,Linux文件系统显性支持其可扩展属性;文件系统的可扩展属性提供了关于对象状态、快照、元数据内部信息,访问Ceph OSD Daemon的ACL则有助于数据管理。操作必须在一个有效的Linux分区的物理磁盘驱动器上,Linux分区可以是BTRFS、EXT4和XFS分区,文件系统是针对性能测试的主要标准之一。下面简略介绍一下上面操作系统。


BTRFS

在BTRFS文件系统的OSD相比与XFS和EXT4提供了最好的性能,BTRFS的主要优点有下面4个节点:

  • 扩展性:BTRFS的设计目标是应对大型机器对文件系统的扩展性要求。Extent、B-Tree和动态inode创建等特性保证了BTRFS在大型机器上表现卓越,整体性能不会随系统的容量增加而降低;
  • 数据一致性:BTRFS采用COW事务技术来保证文件系统的一致性,同时支持校验和,避免未知错误的出现,传统文件系统无法做到这点
  • 多设备管理相关的特性:BTRFS支持创建快照和克隆,方便地管理多个物理设备,使传统的卷管理软件变得多余
  • 结合Ceph, BTRFS中的诸多优点的快照、并行日志等优势在Ceph表现中尤为突出,但是BTRFS还未达到生产环境要求的健壮性。

XFS


是一种高性能的日志文件系统,擅长处理大文件,同时提供平滑的数据传输。目前Centos将XFS+LVM作为默认的文件系统。它的优点如下:

  • 分配组:XFS文件系统内部被分为多个分配组,它们是文件系统中的等长线性存储区。每个分配组各自管理自己的inode和剩余空间。文件和文件夹可以跨越分组。
  • 条带化分配:在条带化RAID阵列上创建XFS文件系统,可以指定一个“条带化数据单元”,带来最大化吞吐量。
  • 基于Extent的分配方式:文件用到的块由变长Extent管理,每个Extent描述一个或多个连续的块。对那些将文件所有块都单独列出的文件系统来说,Extent缩短了列表。XFS使用一对B+树、面向Extent的结构替代了位图进行空间管理,一个B+用于索引未被使用的Extent的长度,另一个索引这些Extent的起始块。
  • 扩展属性:通过实现扩展属性给文件提供了多个数据流,是文件可以被附加多个名/值对。
  • XFS不能很好的处理Ceph写入过程的日志问题

EXT4


是Linux下的日志文件系统,是Ext3的后续版本,由如下优势:

  • 大型文件系统:支持最高1EB的分区和最大16TB的文件
  • Extents:引入Extent文件存储方式,Extent指一连串的连续实体块,增加大型文件的效率减少分裂文件
  • 日志校验和:提高系统的可靠性。
  • 快速文件系统检查:Ext4将未使用的区块标记在inode当中,帮助e2fsck等检查工具在磁盘检查时跳过这些区块,节约文件系统检查时间。

Ceph OSD把底层文件系统的扩展属性用来表示各种形式的内部对象状态和元数据。XATTR以xattr_name/xattr_value形式存储键值对,因此提供更多的标记对象元数据信息的方法。Ext4系统不满足XATTR,限制了受欢迎程度,BTRFS和XFS有一个比较大的限制XATTR。Ceph使用日志文件系统,在提交数据到后备存储器之前,首先将数据写入到一个单独的存储区,存储区名为journal,然后是后备存储。

与传统的分布式存储不同,RADOS提供的最大特点包括:

  1. 将文件映射到Object后,利用Cluster Map通过CRUSH计算方式定位文件存储在设备中位置,优化传统的文件到块的映射和BlockMap管理
  2. 充分利用OSD的只能特定,将部分任务受权给OSD,最大程度实现可扩展性。

Ceph OSD简介相关推荐

  1. ceph osd 相关命令

    混合osd的部署 先部署所有的ssd 在/etc/ceph.conf中最后添加ssd做osd的block大小如下: 比如部署中有两个ssd,则添加 [osd.0] bluestore_block_si ...

  2. ceph osd 由于“No space left on device” 异常down,通过扩容文件系统或者显式运行osd进程解决

    文章目录 ceph版本: 环境配置: 异常问题: 问题解决: 总结 ceph版本: ceph 12.2.1 环境配置: tier_pool 16个分区大小800G 的osd容量 3副本 data_po ...

  3. ceph osd混合部署和普通部署

    文章目录 混合osd的部署 先部署所有的ssd 部署hdd 普通OSD的部署 当OSD被踢出集群但是挂载点还在,为osd添加id验证 测试OSD压力 Mark osd 为down 混合osd的部署 混 ...

  4. Ceph OSD Down

    CEPH集群跑了一段时间后有几个OSD变成down的状态了,但是我用这个命令去activate也不行 ceph-deploy osd activate osd1:/dev/sdb2:/dev/sdb1 ...

  5. ceph osd为down的情况

    ceph修复osd为down的情况 尝试一.直接重新激活所有osd 1.查看osd树 root@ceph01:~# ceph osd tree ID WEIGHT TYPE NAME UP/DOWN ...

  6. 【ceph】ceph osd blacklist cep黑名单|MDS问题分析

    目录 blacklist 是什么 blacklist相关操作 Ceph MDS问题分析 CephFS client evict子命令使用 概述 命令格式 1. 查看所有client/session 2 ...

  7. 解决ceph osd写满导致osd无法启动的问题

    背景 最近一个无人看管的ceph集群出现了osd被写满的情况,osd磁盘使用量99.99%,然后osd自己down了,重启也启动不起来. 可能是因为之前有人调过full的限制值,所以才完全写满了,由于 ...

  8. ceph osd down修复

    一.查看osd状态找到down状态的osd ceph osd tree 二.删除对应osd 1.调整osd 的crush weight ceph osd crush reweight osd.18 0 ...

  9. 【ceph】ceph OSD状态及常用命令

    OSD进程的启动停止:https://blog.csdn.net/bandaoyu/article/details/119894927 1. OSD概念 OSD:Object Storage Devi ...

  10. 处理ceph osd incomplete

    ceph health detail,可以看到如下pg处于incomplete状态: pg 7.c is incomplete, acting [2,3] (reducing pool ceph-kv ...

最新文章

  1. [模拟]纺车的轮子 Spinning Wheels
  2. linux ip_conntrack 连接满导致网络丢包
  3. jsp 连接access数据库
  4. 分析citibike数据eda
  5. php如何操作mysql数据库代码_php如何操作mysql数据库的类(附代码)
  6. python keyerror_盘点Python 初学者最容易犯的10大错误!你中招了吗?
  7. 8g ubuntu 树莓派4b_树莓派4B安装 Ubuntu 20.04 LTS
  8. 创建虚拟目录http://localhost:1780/失败,错误:无法访问iis元数据库。您没用足够的特权访问计算机上的IIS网站...
  9. 【ASP.NET 问题】IIS发布网站后出现 “处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误“的解决办法
  10. 战神引擎传奇开服教程开服版本 开服服务器推荐战神引擎开服
  11. 论文笔记32 -- Conformer: Local Features Coupling Global Representations for Visual Recognition
  12. 门控时钟:Clock fating
  13. C++实战案例之通讯录管理系统
  14. draw.io和plantuml替代visio画图工具
  15. Centos7 KVM 虚拟机加载NVIDIA驱动
  16. 优盘里面的文件夹变0字节也打不开文件的解决方法
  17. Carson带你学Android:最全面的Webview使用详解
  18. Android 4.4 Kitkat Phone工作流程浅析(三)__MO(去电)流程分析
  19. 深入理解 font-size
  20. Ubuntu 虚拟机重新分配磁盘空间 爬坑指南

热门文章

  1. 贪心科技NLP训练营成果展示(附视频回放)
  2. Table is marked as crashed and should be repaire (
  3. 一步一步理解欧拉公式
  4. chrome离线小恐龙改造版
  5. 成功解决Collecting package metadata (current_repodata.json): failedCondaHTTPError: HTTP 000 CONNECTION
  6. PR VV 同行评审验证确认 用实例学CMMI V2.0
  7. ps怎么抠地图线路_怎样在PS里画地图的边界线?
  8. 编写程序,求柱体的体积:
  9. 传言阿里P10赵海平,被P11多隆打3.25后离职,如何评价赵海平对王垠的面试?
  10. Volatile能不能保证线程安全?