设为首页加入收藏
群晖首页图片
网站标志
新闻详情
 
当前位置
新闻搜索
 
 
软件定义存储 Ceph 后端 ObjectStore 架构分析和技术演进
作者:管理员    发布于:2018-08-16 09:27:36    文字:【】【】【
Ceph是分布式和强一致性的软件定义存储产品,随着越来越多的企业和组织不断加入,Ceph存储系统稳定性、可靠性和易管理性得到了很大的提升,在版本演进和迭代中,Ceph存储的企业特性也得到了完善。如CephFS、iSCSI协议、InfiniBand网络等特性,但今天笔者将带领大家深入分析下Ceph最新后端存储BlueStore的架构和ObjectStore历史技术演进,因为存储后端的架构在一定程度上决定Ceph存储系统的性能。SUSE也是在最新Enterprise Storage 5版本中率先支持最新的BlueStore后端存储技术。

      BlueStore是Ceph存储后端ObjectStore的最新实现。在Ceph系统中,数据首先通过Hash算法分布到每个节点OSD上,最终由ObjectStore写到磁盘上实现数据保存和持久化。那么,首先来看看ObjectStore架构。

ObjectStore架构介绍

      Ceph后端支持多种存储引擎,这些存储后端模块是以插件式的方式被管理,目前支持的实现方式包括Filestore(默认存储后端),KeyValue Store、Memstore、NewStore和最新的Bluestore。


 
      从架构上来看,ObjectStore封装了下层存储引擎的所有IO操作,并向上层提供对象(Object)、事务(Transaction)语义接口。在这里,MemStore是基于内存的实现存储接口功能;KeyValue Store主要基于KV数据库(如LevelDB,RocksDB等)实现接口功能。

      一直以来,FileStore是Ceph目前默认的ObjectStore后端存储引擎(仍然是其他Ceph存储的默认后端),FileStore基于Journal机制实现了事务处理能力,除了支持事务特性(consistency、atomic等)以外,Journal还可将多个小IO写合并为顺序写Journal来提升系统性能。
 
      ObjectStore接口主要包括三个部分,第一部分是Object的读写操作,类似于POSIX的部分接口;第二部分是Object的属性(xattr)读写操作,这类操作是KV操作,它与某一个Object关联;第三部分是关联Object的KV操作(在Ceph中称为omap)。
 
ObjectStore后端存储引擎之FileStore

      FileStore是利用文件系统的Posix接口实现ObjectStore API。每个Object在FileStore层会被看成是一个文件,Object的属性(xattr)会利用文件的xattr属性进行存取,由于有些文件系统(如ext4)对xattr的长度有限制,因此,在FileStore中,超出长度限制的Metadata会被存储在DBObjectMap里。而Object的KV关系则直接利用DBObjectMap功能实现。



      但是FileStore存在一些问题,例如Journal机制使一次写请求在OSD端往下写时,变为两次写操作(同步写Journal,异步写入Object);当然,可以通过SSD实现Journal可缓解Journal和object写操作的性能影响;写入的每个Object都对应OSD本地文件系统的一个物理文件,对于大量小Object存储场景来说,OSD端无法缓存本地所有文件的元数据,这使读写操作可能需要多次本地IO操作,系统性能差等。

ObjectStore后端存储引擎之NewStore

      为了解决上述FileStore的问题,Ceph引入了新的存储引擎NewStore(又被称为KeyFile Store),其关键结构如下图所示:



      NewStore解耦Object与本地物理文件间的一一对应关系,通过索引结构(上图中ONode)在Object和本地物理文件建立映射关系,并使用KV数据库存储索引数据;在保证事务特性的同时,对于Object的操作无需Journal支持;在KV数据库上层建立Onode数据cache以加速读取操作;单个Object可以有多个fragement文件,多个Object也可共存于一个fragement文件,更加灵活。
 
ObjectStore后端存储引擎之BlueStore

      NewStore使用RocksDB存储Ceph日志,同时Ceph的真正数据对象存储在文件系统中。如今有了BlueStore技术,数据对象可以无需任何文件系统的接口支持,而是直操作存储在物理磁盘设备上的数据。

      BlueStore初衷就是为了减少写放大,并针对SSD做优化,直接管理裸盘(物理磁盘设备),从理论上来讲,进一步规避了如ext4、xfs等文件系统部分的开销,BlueStore是一个全新的 OSD存储后端,通过块设备提升存储性能。Bluestore整体架构如下。



      BlueStore直接管理裸设备,抛弃了本地文件系统,BlockDevice实现在用户态下直接对裸设备进行I/O操作。既然是直接管理裸设备就必然需要进行裸设备的空间管理,对应的就是Allocator,目前支持Stupid Allocator和Bitmap Allocator两种分配器。

      相关的元数据以KV的形式保存到KV数据库里,默认使用的是RocksDB,RocksDB本身虽然是基于文件系统,不能直接操作裸设备,但是RocksDB可将系统相关的处理抽象成Env,用户可用实现相应的接口来操作。

      RocksDB默认的Env是PosixEnv,直接对接本地文件系统。为此Bluestore实现了一个BlueRocksEnv来为RocksDB提供底层系统的封装,实现了一个小的文件系统BlueFS对接BlueRocksEnv,在系统启动挂载这个文件系统的时候,将所有的元数据都加载到内存中,BluesFS的数据和日志文件都通过BlockDevice保存到裸设备上,BlueFS和BlueStore可以共享裸设备,也可以分别指定不同的设备。

      当BlueFS和BlueStore共享设备时,裸设备通常被分为两部分:

设备的一部分为BlueFS的小分区,它实现了RocksDB所需的类似文件系统的功能。
设备的其余部分通常是占据设备其余部分的大分区。它由BlueStore直接管理,包含所有实际数据。

      在Filestore存储引擎里,对象的表现形式是对应到文件系统里的文件,默认4MB大小的文件,但是在目前最新的ObjectStore实现——Bluestore里,已经没有传统的文件系统,而是自己管理裸盘,要求管理对象Onode需要常驻内存的数据结构中,持久化的时候会以KV的形式存到RocksDB里。

      总结一下,从SUSE Enterprise storage 5存储版本开始,BlueStore成为Ceph的一个新的存储后端,它的性能优于FileStore,并提供完整的数据检验和和内置压缩能力。

     FileStore将数据保存到与Posix兼容的文件系统(例如Btrfs、XFS、Ext4)。在Ceph后端使用传统的Linux文件系统尽管提供了一些好处,但也有代价,如性能、对象属性与磁盘本地文件系统属性匹配存在限制等。

      然而,NewStore存储后端技术解耦Object与本地物理文件间的对应关系,通过KV数据库、索引技术优化日志操作。

      BlueStore可使数据对象无需任何文件系统的接口,就可以直接存储在物理块设备上,所以,BlueStore可以极大的提升Ceph存储系统性能。


IT解决方案:

   文件共享、私有云盘、企业网盘  解决方案

   存储雷电DAS 、SAN、IPSAN ISCSI 解决方案

    企业级存储解决方案

   备份 容灾解决方案

   防勒索病毒解决方案


  NAS 应用场景:完美解决文件共享/文件分享问题,替代传统文件服务器

                              NAS网络存储 文件NAS存储 。

 群晖备份一体机 适用于的企级备份软件有:

(acronis 安克诺斯 /veeam安盟/veritas华睿泰/commvault 慷孚沃德 /arcserver )

  PHD virtual , Nakivo, IBM spectrum protect , (TSM) HP data protector

  DELL  EMC Networker  RecoverPoint Quest  veritas system recovery 18

 国内备份软件:鼎甲,火星仓,UPM,浪擎,爱数

黑群晖无法升级,易丢失数据,建议用白群晖,黑群晖洗白

synology partner:深圳国亿国际(凯洛蜜) 上海世平伟业

服务区域:四川群晖 成都群晖 西藏群晖  重庆群晖贵州群晖 贵阳群晖 云南群晖  昆明群晖 

 群晖配件:群晖钥匙  群晖网卡  群晖内存 群晖电源 群晖主板

群晖维修:群晖保修保内保外维修 群晖硬盘数据恢复 群晖客服 群晖保修 群晖维修)

群晖数据恢复:  服务器数据恢复 raid数据恢复  nas数据恢复   希捷数据恢复  西数硬盘恢复  seagate 数据恢复  WD数据恢复 

 国行原装正品(国代,总代理,总分销商)方案适用机型:

19-系列

DS1219+ 

18-系列FS1018RS3618xsDS3018xsRS2818RP+RS2418(RP)+RS818(RP)+DS918+DS718+DS418DS418playDS218+、、DS218playDS418jDS218DS218jDS118

17-系列FS3017FS2017RS18017xs+RS4017xs+RS3617xs+RS3617RPxsRS3617xsDS1817+DS1517+DS1817DS1517RS217

16-系列RS18016xs+RS2416(RP)+DS916+DS716+IIDS716+RS816DS416DS416playDS216+IIDS216+DS216playDS416slimDS416jDS216DS216jDS216seDS116NVR216

15-系列RC18015xs+DS3615xsDS2015xsRS815(RP)+DS2415+DS1515+DS415+RS815DS1515DS715DS415playDS215+DS215jDS115DS115jDS1815+

14-系列RS3614xs+RS2414(RP)+RS814(RP)+RS814DS414DS214+DS214playRS214DS414jDS414slimDS214DS214seDS114EDS14

13-系列RS10613xs+RS3413xs+DS2413+DS1813+DS1513+DS713+DS413DS213+DS413jDS413jDS213DS213jDS213air

12-系列DS212j

早期系列:ds-101 


科汇科技 --- 专业数据备份服务商

无论您的IT架构是 本地化、云端、还是混和云 都能提供一站式数据备份方案。

京东群晖synology  天猫群晖 线下代理售后维修服务站

四川成都群晖官方授权核心代理商(企业级服务商)

四川成都群晖synology解决方案中心

四川成都群晖synology体验中心

四川成都群晖synology售后维修中心

四川成都群晖synology官方授权专卖店

成都科汇科技有限公司

地址:成都市人民南路四段1号时代数码大厦18F

群晖电话:400-028-1235(群晖400)

QQ:     2231749852

手机:138 8074 7621(微信同号)

微信公众号:群晖Synology技术中心

脚注备案信息
群晖技术群