【大话存储II】学习笔记(15章),对象存储

在谈对象存储是什么之前,我们先回顾一下块存储和文件存储是什么

块存储与文件存储

块存储:

常见的块存储设备是磁盘阵列,它会向主机提供裸磁盘空间。也就是说操作系统看到的只是一块磁盘而已,虽然它底层可能是多块硬盘组合起来的逻辑盘。

这种方式下,操作系统还可以对挂载的裸硬盘进行分区、格式化,与主机内置的硬盘使用没有区别。

一般块存储会采用SAN架构组网,而且会使用FC 协议,这样传输速度和吞吐量都会很大。但是也正因为需要使用FC协议,自然也需要FC HBA卡以及FC交换机,成本将比较高。

另外,磁盘阵列一般会把某一块LUN映射给某个主机,也就是说这块主机独享这块LUN,就相当于它的本地盘,自然无法与其他的主机共享数据。


image.png

文件存储

块存储很难解决文件共享的问题,因为主机的操作系统可能不一样,所以文件管理系统也不一样,那么能不能把文件系统单拿出来,放到某一专用的设备上呢?当然可以,这就形成了文件存储系统,最经典的当属NAS设备。

简单的说,NAS设备就是把文件管理功能移植到专用的设备上,而且只需要以太网就可以,成本大大降低。

缺点也很明显,传输速率远远赶不上SAN网络。

image.png

对象存储系统

对象存储怎么来的

我们知道块存储、文件存储各有其优缺点,简单的说,块存储读写块,但是不利于共享,文件存储读写慢,但是利于共享。

有没有一种方式,可以克服他们的优缺点呢?也就是读写快,同时利于共享。要想读写快,最好的方法是并行取,要想共享,最好能结合文件系统的特点。既然如此,我们先再看看文件存储有没有什么可以借鉴的地方吧。

在文件系统里面,一个文件包含了元数据以及内容,比如FAT32这种文件系统,文件数据与元数据一起存放的。当你要存放一个文件的时候,首先会划分为4k大小的块,然后写到硬盘里面,注意切分的时候会不区分数据和元数据。

每个块都会指向下一个块的地址,所以读取的时候只能一个一个顺序的查找,速率自然上不去。具体实现方式可见http://www.cnblogs.com/dy2903/p/8367217.html

后来我们把主机的文件系统移植到专门的NAS设备上,主机要访问某个文件只需要传递路径和文件名即可。也就是说NAS设备其实就是把“文件——块”的映射关系移植到了专门的设备里面。如下图所示。

image.png

传统的NFS架构,一个目录只能载入一次,所有的请求只能发与它,哪怕是这个目录下的文件实际上是存在另一个节点上,也需要通过此节点进行转发,无法并行。

那我们能不能故技重施,把磁盘也挪出去,组成集群,然后文件系统可以并行的访问这些磁盘呢。

但是主机客户端怎么知道要访问的文件在哪个磁盘上呢?再不能在客户端本地维护一份映射关系吧。解决的方法是维护元数据的功能也剥离出来,形成一个独立的元数据服务器,由它来维护“文件——磁盘——块”之间的映射关系。

那么如果客户端要访问文件,首先需要向元数据服务器发起请求,由它来告知需要文件存放的具体位置。之后,客户端可以直接向磁盘发出IO请求。

image.png

总结一下就是将文件系统逻辑从主机端移出来放到元数据服务器上,所有的硬盘也放到网络中

不过这个架构需要硬盘非常的智能,因为要把很多逻辑放到硬盘上来处理,到目前来说也没有实现。没有关系,我们把硬盘换成Server就可以了,取名为对象存储设备(Object Storage Device, OSD)

那么对象存储就是把元数据独立出来,成为元数据服务器,主要作用是存储对象数据的元数据。而其他实际存放文件数据部分的节点就叫OSD。文件我们改称为Object,目录称为Partition,OSD中每个Object用一个128b的Object ID(OID)表示,其实就类似NAS中的File Handle(文件句柄)

那么用户访问对象的时候,首先需要向元数据服务器请求对象存储在哪些OSD里面,然后用户才会向这些OSD服务器再次请求。可以看出,这样可以实现多台节点并行传输数据,速度自然加快。

同时因为对象存储是有专门的文件系统的,OSD节点又相当于文件服务器,所以可以解决文件共享的问题。

总的来说,对象存储结合了块存储和文件存储的优点。

访问的流程

下图为对象存储的整体架构,其中元数据服务器、OSD服务器之前已经讲过了,我们还需要在主机上安装一个代理OSD Initiator

如果用户想读取或者写入文件的时候,首先由这个代理向元数据服务器中查询文件存储的OSD设备,然后也是由它与操作系统的虚拟目录层对接,翻译成对应的OSD 请求,发给OSD。而且代理只需要给出OID即可,不需要给出绝对路径。

image.png

与集群分布式文件系统的区别

我们可以再对比一下对象存储与集群分布式文件系统的区别。

集群文件系统架构中,客户端只能从某台节点上挂载某个目录,如果请求的数据不在这个节点上,会由它来进行重定向,那么这个节点的性能将成为瓶颈。

而OSD则不然,在开始访问之前,需要从元数据服务器上查询目标文件分布在哪些OSD节点上,然后才会并行的向相关节点发起IO请求,并行的存储数据,简单的讲对象存储既有块存储的高效率,又有文件存储的灵活性。

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容