不久前Red Hat公司发布了下一代开放软件定义存储平台Red Hat CephStorage 2。最新版本的 Red Hat Ceph Storage 基于 Ceph Jewel 发行版,在存储功能和OpenStack集成能力上做了增强。下面我们来讨论下本次Ceph版本更新功能和Ceph在OpenStack中的地位。
之前我们知道,Ceph基于C++开发且数据同步、仲裁机制要求数据时延敏感,所以跨地域部署能力较弱。从Ceph Storage 2的更新来看,增加了多站点功能,并支持部署一个具有所有用户可访问的通用命名空间的全局集群。
之前版本Ceph就支持和OpenStack Keystone认证,但在Ceph Storage 2中进行了增强,包括Active Directory,LDAP 和 OpenStack Identity (Keystone) v3,通过与认证系统的集成增强来提高安全性。
在OpenStack集成方面,提高了 Amazon S3 和 OpenStack Object Storage ( Swift ) 的兼容性,包括支持 AWS v4 Client Signatures,对象版本控制,Bulk Delete等能力。
最新版本的 Red Hat Ceph Storage为企业存储对象客户带来了增强的性能、增强的安全性和兼容性的开放标准API。并提供了名为Red Hat Storage Console 2 的存储管理和监控系统,通过图形接口来监控管理集群的健康状态,性能和容量使用率等信息。
CephStorage在性能上也有改进,闪迪InfiniFlash基于Ubunt操作系统,可以通过运行开源Ceph软件,提供块、对象存储和文件系统服务或者闪迪的ION Accelerator软件堆栈(收购自Fusion-io)来进行块存储服务。据悉,Sandisk已经与Red Hat Ceph Storage 2部署环境开展了全面的IOPS性能测试。Ceph Storage对接InfiniFlash System IF150的最新测试表明性能超过100万次随机读取IOPS。这个性能已经完全满足云平台和企业应用工作负载要求。
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基础库Librados和高层应用都提供了API,但是二者面向的用户对象不同。librados API更底层,没有账户、容器等等高级概念,它更适合对存储系统理解深刻并进行功能定制和性能深度优化的存储高级用户;而RADOS Gateway等的高级应用API则更加适合应用的开发者。下面我们对Ceph和9000存储系统进行简单对比。
扩展性:Ceph针对的场景主要是大规模和分布式存储,数据量级一般希望PB级别以上,存储节点成千上万。9000目前最大支持288节点、60PB容量,据悉未来规划切平台到RH系列X86服务器之后,在节点上应该无限制。
系统架构:9000和Ceph在架构上很相似,分布式、全对称、X86商业硬件的SDS架构,存储层数据基于对象保存在磁盘上。区别在于9000集成CA数据访问客户端,对外提供标准的CIFS和NFS,可以兼容Windows、Linux、Unix和Mac OS等系统,支持NAS和Object存储服务;Ceph需要单独的服务器客户端,目前主要兼容Linux主流系统。
Ceph |
OceanStor 9000 |
|||
服务类型 |
分布式块、文件、对象融合存储 |
分布式文件、对象融合存储 |
||
数据冗余 |
副本为主,支持EC |
只支持EC |
||
网络 |
GE、10GE |
GE、10GE、IB |
||
块服务 |
COW快照 |
支持,占用空间少 |
不支持 |
|
Cache和分级 |
支持SSD Cache和分级 |
不支持 |
||
克隆 |
支持 |
不支持 |
||
复制 |
支持 |
不支持 |
||
Glance镜像管理 |
支持,与OpenStcak集成提供镜像管理服务。 |
不支持 |
||
文件系统 |
架构 |
非对称,有独立的MDS集群,使用动态子树,当前只有单MDS的版本是稳定的 |
全对称架构,节点同时提供MDS服务和数据存储服务,使用动态子树 |
|
私有客户端 |
主要方式,仅支持linux客户端,支持用户态和内核态 |
少量场景使用,支持Linux和MAC私有客户端,内核态 |
||
协议 |
POSIX、HDFS、NFS、CIFS,NFS和CIFS通过外置网关实现 |
POSIX、NFS、CIFS、HDFS、FTP |
||
配额 |
支持,依赖于客户端,有较多限制 |
支持,与客户端无关,更完善 |
||
增值 |
快照(未达生产环境要求)、负载均衡、动态扩容缩容、自动容量均衡 |
快照、负载均衡、动态扩容缩容、自动容量均衡、分级、远程复制、WORM、NDMP |
||
对象 |
协议 |
S3、Swift、RADOS Lib |
S3、Swift |
|
多租户 |
Pool级别的租户隔离,支持并不完善 |
支持 |
||
多Region |
支持 |
不支持 |
||
重删 |
不支持 |
支持,对象级重删 |
||
应用场景:Ceph支持NAS、SAN和Object服务,服务接口更丰富,但主要提供SAN和Object存储,一般用于和OpenStack云对接,聚焦备份和归档;9000支持NAS和Object服务,针对大数据、媒资和HPC场景设计,所以主要用于高带宽媒资编辑、基因测序、视频监控和容量资源池等场景,两者应用场景有些不同。
可靠性和容量利用率:Ceph采用Crush算法(类似EC)和双副本方法存储数据,但是Ceph数据存储和检索处理都在Clinet端处理,在数据读写过程中可能对Clinet服务器端的性能有些影响。9000也是采用EC(Erasure Code)和多副本技术,所以在可靠性和容量使用率上与Ceph基本一致;但9000数据的切片和聚合都在存储上实现,对主机没有什么影响。
软件特性:Ceph和9000都实现了文件快照、HDFS等特性,但是文件分级、文件复制、NDMP等在Ceph中暂时还没看到。Ceph实现了块存储快照、Thin和复制等功能。虽然说Ceph在NAS功能上比较欠缺,但目前Ceph发展的策略是从Block、Object到FilesyStem。
统一管理:目前Ceph采用CLI和配置文件方式完成系统配置和管理,这基本上是开源项目的典型一个特点,对运维管理人员要求比较高。9000支持统一GUI管理、配置和监控,比较方便运维。但是Ceph在云集成方面的能力值得9000学习和借鉴。
温馨提示:
请搜索“ICT_Architect”或“扫一扫”下面二维码关注公众号,获取更多精彩内容。