网站大量收购闲置独家精品文档,联系QQ:2885784924

分布式存储基础、Ceph、cinder及华为软件定义的存储方案探讨.docx

分布式存储基础、Ceph、cinder及华为软件定义的存储方案探讨.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
块存储与分布式存储 块存储,简单来说就是提供了块设备存储的接口。通过向内核注册块设备信息,在Linux中通过lsblk可以得到当前主机上块设备信息列表。 本文包括了单机块存储介绍、分布式存储技术Ceph介绍,云中的块存储Cinder,以及华为软件定义的存储解决方案。 单机块存储 一个硬盘是一个块设备,内核检测到硬盘然后在/dev/下会看到/dev/sda/。因为需要利用一个硬盘来得到不同的分区来做不同的事,通过fdisk工具得到/dev/sda1, /dev/sda2等,这种方式通过直接写入分区表来规定和切分硬盘,是最死板的分区方式。 分布式块存储 在面对极具弹性的存储需求和性能要求下,单机或者独立的SAN越来越不能满足企业的需要。如同数据库系统一样,块存储在scale up的瓶颈下也面临着scale out的需要。 分布式块存储系统具有以下特性: 分布式块存储可以为任何物理机或者虚拟机提供持久化的块存储设备; 分布式块存储系统管理块设备的创建、删除和attach/detach; 分布式块存储支持强大的快照功能,快照可以用来恢复或者创建新的块设备; 分布式存储系统能够提供不同IO性能要求的块设备。 现下主流的分布式块存储有Ceph、AMS ESB、阿里云磁盘与sheepdog等。 1 Ceph 1.1 Ceph概述 Ceph目前是OpenStack支持的开源块存储实现系统(即Cinder项目backend driver之一) 。Ceph是一种统一的、分布式的存储系统。“统一的”意味着Ceph可以一套存储系统同时提供对象存储、块存储和文件系统存储三种功能,以便在满足不同应用需求的前提下简化部署和运维。“分布式”在Ceph系统中则意味着真正的无中心结构和没有理论上限的系统规模可扩展性。 Ceph具有很好的性能、可靠性和可扩展性。其核心设计思想,概括为八个字—“无需查表,算算就好”。 1.2 Ceph系统的层次结构 自下向上,可以将Ceph系统分为四个层次: 基础存储系统RADOS(Reliable, Autonomic, Distributed Object Store,即可靠的、自动化的、分布式的对象存储); 基础库LIBRADOS; 高层应用接口:包括了三个部分:RADOS GW(RADOS Gateway)、 RBD(Reliable Block Device)和Ceph FS(Ceph File System)。 RADOS由两个组件组成:一种是数量很多、负责完成数据存储和维护功能的OSD( Object Storage Device)。另一种则是若干个负责完成系统状态检测和维护的Monitor。OSD和monitor之间相互传输节点状态信息,共同得出系统的总体工作状态,并形成一个全局系统状态记录数据结构,即所谓的cluster map。这个数据结构与RADOS提供的特定算法相配合,便实现Ceph“无需查表,算算就好”的核心机制以及若干优秀特性。 OSD可以被抽象为两个组成部分,即系统部分和守护进程(OSD deamon)部分。OSD的系统部分本质上就是一台安装了操作系统和文件系统的计算机,其硬件部分至少包括一个单核的处理器、一定数量的内存、一块硬盘以及一张网卡。在上述系统平台上,每个OSD拥有一个自己的OSD deamon。这个deamon负责完成OSD的所有逻辑功能,包括与monitor和其他OSD(事实上是其他OSD的deamon)通信以维护更新系统状态,与其他OSD共同完成数据的存储和维护,与client通信完成各种数据对象操作等等。 1.3 Ceph中的数据寻址 用户存储数据时的数据路由过程如下图所示: 首先明确几个概念: File ——用户需要存储或者访问的文件。对于一个基于Ceph开发的对象存储应用而言,这个file也就对应于应用中的“对象”,也就是用户直接操作的“对象”。 Ojbect——RADOS所看到的“对象”。Object与上面提到的file的区别是,object的最大size由RADOS限定(通常为2MB或4MB),以便实现底层存储的组织管理。因此,当上层应用向RADOS存入size很大的file时,需要将file切分成统一大小的一系列object(最后一个的大小可以不同)进行存储。 PG(Placement Group)—— 顾名思义,PG的用途是对object的存储进行组织和位置映射。具体而言,一个PG负责组织若干个object(可以为数千个甚至更多),但一个object只能被映射到一个PG中,即,PG和object之间是“一对多”映射关系。同时,一个PG会被映射到n个OSD上,而每个OSD上都会承载大量的PG,即,PG和OSD之间是“多对多”映射关系。在实践当中,n至少为2,如果用

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档