您的位置:首页 > 其它

有哪些IT巨头,在打造Ceph这朵开源存储金花?

2016-08-28 17:41 381 查看


ICT架构师技术交流(微信号ICT_Architect)

分析和交流ICT行业最前沿技术,分享更多存储、服务器、数据中心、网络、软件定义和虚拟化等相关知识,旨在知识交流、开放共享和共同进步。





关于Ceph架构和RedHat企业版Ceph Storage 2特性升级,我之前已经有过介绍,今天再来做个深入分析和总结,在文章最后讨论下Ceph成功的主要因素。Ceph同时支持块、文件、对象接口,支持PB级别扩展,规格上可部署到上千台通用服务器。对象S3和Swift写入的数据是相互可读取的。

Ceph前期内容回顾

Ceph已经成为OpenStack后端存储标配,OpenStack作为IaaS系统,涉及到存储的部分主要是块存储服务模块、对象存储服务模块、镜像管理模块和计算服务模块,对应为其中的Cinder、Swift、Glance和Nova四个项目。这部分详细介绍可以参看我的另一篇文章Ceph特性更新或再让OpenStack爱不释手。



Ceph RBD块存储是以独立卷的方式挂接到OpenStcak Cinder模块,主要用作数据盘,这种方式主要通过Cinder Driver实现,删除虚拟机时卷依然存在。Nova对接Ceph时,Ceph RBD块存储卷需要与虚拟机绑定,所以删除虚拟机时卷也删除,一般用作启动盘。Ceph也可以和Glance对接用于镜像卷。Keystone作为OpenStack对象Swift的认证模块,支持Ceph通过RADOSGW网关认证,给OpenStcak提供Swift存储服务。

前几天看到,Ceph社区已经把Ceph 的RBD块存储镜像支持功能扩展到Docker中。在Docker中Ceph的RBD镜像功能主要是负责把RBD镜像通过异步通信的方式从一个Ceph集群复制到另一个Ceph集群,用于对Docker镜像容灾保护和恢复。

Ceph内部数据存储视图

在Ceph存储系统中,Cehp的基础服务架构主要包括了Object Storage Device(OSD),Monitor和MDS。提供了Librados原生对象基础库、Librbd块存储库、基于S3 和Swift兼容的Librgw对象库和Libceph文件系统库。搭建一台Ceph系统至少需要1个Ceph Monitor和2个Ceph OSD,一个Cluster可逻辑上划分为多个Pool,一个 Pool由若干个逻辑 PG( Placement Group)组成,Pool内的副本数量也是可以设置的。



Ceph底层是对象系统,所以一个文件会被切分为多个Object,每个Object会被映射到一个PG,每个 PG 会映射到一组 OSD(Object Storage Device),其中第一个OSD 是主,其余的是备,OSD间通过心跳来相互监控存活状态。引入PG概念后,OSD只和PG相关,不但简化了OSD的数据存储,而且实现了Object到OSD的动态映射,OSD的添加和故障不影响Object的映射。

Ceph数据如何存储

在Ceph存储系统中,数据存储分三个映射过程,首先要将用户要操作的file,映射为RADOS能够处理的object。就是简单的按照object的size对file进行切分,相当于RAID中的条带化过程。接着把Object映射到PG,在file被映射为一个或多个object之后,就需要将每个object独立地映射到一个PG中去。第三次映射就是将作为object的逻辑组织单元的PG映射到数据的实际存储单元OSD。



文件存入时,首先把File切分为RADOS层面的Object,每个Object一般为2MB或4MB(大小可设置)。每个Object通过哈希算法映射到唯一的PG。每个PG通过Crush算法映射到实际存储单元OSD,PG和OSD间是多对多的映射关系。OSD在物理上可划分到多个故障域中,故障域可以跨机柜和服务器,通过策略配置使PG的不同副本位于不同的故障域中

Ceph数据分布算法

Ceph以私有Client方式对外提供服务,支持Linux用户态(Fuse)和内核态(VFS)方式,Clinet还实现数据切片,通过Crush算法定位对象位置,并进行数据的读写。但在测试中,通常在Ceph服务器端将Ceph配置成NFS服务的ExportFS,通过标准NFS接口导出目录。 CephFS 支持POSIX、HDFS、NFS、CIFS服务接口,其中NFS和CIFS通过外置网关实现(通过Clinet导出)。

在PG通过Crush算法映射到数据的实际存储单元OSD时,需求通过Crush Map、Crush Rules和Crush算法配合才能完成。



Cluster Map用来记录全局系统状态记数据结构,由Crush Map和OSD Map两部分组成。 Crush Map包含当前磁盘、服务器、机架的层级结构,OSD Map包含当前所有Pool的状态和所有OSD的状态。

Crush Rules就是数据映射的策略,决定了每个数据对象有多少个副本,这些副本如何存储。

Crush算法是一种伪随机算法,通过权重决定数据存放(如跨机房、机架感知等),通常采用基于容量的权重。Crush算法支持副本和EC两种数据冗余方式,还提供了四种不同类型的Bucket(Uniform、List、Tree、Straw),大多数情况下的都采用Straw。

Ceph生态和应用现状

Ceph仅仅是OpenStack后端存储标配,目前很多存储厂商、大企业都基于Ceph技术开发或搭建存储系统,我们首先看看几家存储厂商的产品,如Hope Bay和SanDisk。

Hope Bay科技是一家专注于云平台的科技公司,拥有ArkEase Pro存储服务平台、ArkFlex数据存储平台、Ark Express存储网关和ArkVoice企业云端语音录制平台。在ArkFlex数据存储平台中,Hope Bay对Ceph文件系统进行改良,将CIFS、NFS、iSCSI建构在Ceph RBD之上。

SanDisk收购Fusion-io之后相继推出ioControl混合式存储阵列和InfiniFlash系列闪存。剥离相关业务到新成立新NextGen公司,SanDisk通过InfiniFlash系列闪存主攻闪存市场,其中就有一款机型InfiniFlash System IF500采用Ceph技术(IF100硬件和InfiniFlash OS Ceph横向扩展软件),同时提供对象存储与块存储服务。SanDisk的存储策略是比较开放,低端存储IF100(纯硬件形态)整合了Nexenta的基于ZFS文件系统开源NexentaStor软件(支持NAS和iSCSI),而高端的IF700则使用了Fusion-io时期的
ION Accelerator数据库加速软件。

此外,很多大型企业也采用Ceph构建构建云平台和分布式存储解决方案,也正是因为Ceph和OpenStack的深度集成,使得Ceph和OpenStack配合被互联网公司用来搭建云平台。

乐视基于OpenStack 和Ceph(RBD块存储和RADOSGW对象)搭建乐视云平台;宝德云也基于OpenStack、Ceph(RBD块存储和CephFS) 和Docker构建。电商eBay也采用Ceph和 OpenStack 建设私有云,每个Ceph集群容量都高达数 PB 级别,这些集群主要为 OpenStack 服务。同时,eBay 团队在NAS云化投入逐渐加大,CephFS有可能作为NAS 云化的不二之选。

携程基于Ceph搭建PB级云对象存储,浪潮AS13000系列存储也是基于Ceph开发,思科UCS流媒体服务存储也是基于Ceph对象存储,雅虎基于Ceph搭建云对象存储。联通研究院、CERN实验室、United Stack等也基于Ceph搭建了开发环境。

Ceph的高级功能

Ceph支持丰富的存储功能,从分布式系统最基本的横向扩展、动态伸缩、冗余容灾、负载平衡等,到生产环境滚动升级、多存储池、延迟删除等,再到高大上的Ceph集群、快照、EC纠删码、跨存储池缓存等,下面我们简单介绍几个关键特性。



存储SSD Cache和SSD分级是企业存储必备的特性,Ceph提供了不同Cache缓存技术和分级存储功能。如基于Ceph客户端RBD块数据Cache缓存(提供读写性能,但在异常情况下,可能存在数据丢失和一致性问题),SSD分区(将同一服务器的一块SSD通过分区方式划给多个OSD共用)提供Journal日志访问性能,SSD分级用作高性能分级,提升系统整体读写性能。

Ceph基于统一存储系统设计,支持三种接口。File文件系统支持POSIX、HDFS、NFS、CIFS服务接口,Block块服务支持精简配置、COW快照、克隆,对象服务支持原生的Object API、也兼容Swift和S3的API。

在Ceph storage 2中,提供全球对象存储集群,支持单个命名空间,并支持在多Region地区运行的集群之间提供了数据同步,包含Region内主Zone到从Zone数据同步(可同步数据和元数据)和不同Region间数据同步(只能同步元数据,包含网关用户和桶信息、但不包含桶内的对象)。

Ceph成功的关键因素

Ceph已经支持云Ready: 随着云计算的发展,首先Ceph搭上了OpenStack这只大船,预示着Ceph已经完全云Ready。接着Ceph受到Intel、SanDisk、思科、Yahoo等公司支持,尤其是RedHat以重金收购Inktank公司,将其作为发展的主方向。通过多年发展,RadHat也明确了Ceph和Gluster侧重点和发展方向,Gluster更专注于文件,Ceph更专注于块和对象。

Ceph社区力量支持:Ceph社区现在已经有很多厂商参入进来,从Intel、思科、SanDisk等这样的巨头,到United Stack这样的Startup公司,再到电信、大学、研究所这类非存储领域的公司或单位,Ceph的参与队伍越来越庞大。

Ceph功能的不断完善: Ceph的性能不断得到提升,存储特性也不断丰富,甚至可以与传统专业存储媲美,完备的存储服务和低廉的投资成本,使得越来越多的企业和单位选用Ceph提供存储服务。

SDS和分布式架构: Ceph软件与硬件平台之间完全解耦,对企业来说搭建Ceph存储系统的门槛是逐渐变低,部署简单基于Linux Ubuntu和标准X86平台。Ceph与存储Sandisk、宝德,云计算United Stack、携程和乐视等公司的成功实践,也为Ceph的广泛应用打下参考基础。

文章已经同步至微信“ICT架构师技术交流”公众号,关注公众号获取更多精彩技术内容。

温馨提示:

请搜索“ICT_Architect”“扫一扫”下面二维码关注公众号,获取更多精彩内容。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: