• [转]ceph三种存储接口--块设备-文件系统-对象存储


    [具体见 https://www.jianshu.com/p/2246464306b2]

     

     其他:

    问题0,数据的存储设备?

    数据的存储有3种形式,一种是直接以二进制数据的形式存储在裸设备(包括块设备)上,另外一种是以文件的形式经过文件系统管理进行存储。第三种就是以对象的形式进行对象存储。本篇讨论围绕着块设备形式的存储。

    问题1,什么是块设备?

    块设备将信息存储在固定大小的块中,每个块都能进行编址。块设备的基本特征是每个块都能区别于其它块而读写。块设备也是底层设备的抽象,块设备上未建立文件系统时,也称之为裸设备

    问题2,块设备与ceph的联系?

     client想要把数据存储到ceph的集群中时,他必须要有一个读写的目标,能够在本地知道这个目标。这里讲的是块存储,当然这个读写的目标要是一个块设备才行,需要将这个块设备与ceph关联起来,这个块设备通常成为rbd设备。

    问题3,rbd 是什么?

    rbd的全称应该是Rados Block Device。rbd是由ceph进行整理物理资源并且向外提供的RAODS形式的块设备,这样的块设备在客户端同其他类型的块设备使用方法相同。

    问题4,ceph是如何向外提供块设备存储的能力呢?

    ceph的组成部分为MON、MDS,OSD,其中OSD就是提供存储能力的节点。前端的存储请求通过crush规则进行映射OSD,最终分解到具体的OSD,然后发给对应的OSD上,最后的请求交给了OSD处理。

    问题5,OSD是如何存储数据的呢?

    OSD其实是建立在文件系统之上的,当你使用一个块设备进行部署OSD节点时,部署工具会默认格式化osd为xfs当然你也可以预先格式为想要的文件系统(ext4等)。数据到了OSD层次时,这时可以把这个请求变成一个文件的操作,最后交给了xfs文件系统,最终组织到了磁盘上。

    From <https://my.oschina.net/u/2460844/blog/531646>

  • 相关阅读:
    关于Certificate、Provisioning Profile
    苹果开发者账号类型
    在 iTunes Connect 中,无法找到“My Apps”选项
    iOS 开发,相关网址
    dart 使用
    initState 必须调用 super.initState(); 否则报错
    TabBar 设置可滚动:isScrollable: true
    flutter 从创建到渲染的大体流程
    获取对象State的方法
    beforeRouteEnter 与 beforeRouteUpdate(watch $route 对象) 的区别
  • 原文地址:https://www.cnblogs.com/yi-mu-xi/p/10365256.html
Copyright © 2020-2023  润新知