分布式存储为云平台(OpenStack)提供服务时,该如何设计?

参与21

5同行回答

GaryyGaryy系统工程师某保险
Openstack是继Linux之后又一个非常成熟和受欢迎的开源云计算解决方案,Openstack和Ceph的集成更让开源项目锦上添花。对OpenStack而言,最重要的四个子项目分别为Cinder、Swift、Glance和Nova。Ceph作为优秀的分布式存储系统,实现对OpenStack相关子项目进行集成或替代,目前在Op...显示全部

Openstack是继Linux之后又一个非常成熟和受欢迎的开源云计算解决方案,Openstack和Ceph的集成更让开源项目锦上添花。对OpenStack而言,最重要的四个子项目分别为Cinder、Swift、Glance和Nova。Ceph作为优秀的分布式存储系统,实现对OpenStack相关子项目进行集成或替代,目前在OpenStack中扮演者非常重要的角色。
Ceph已经成为OpenStack后端存储标配,OpenStack作为IaaS系统,涉及到存储的部分主要是块存储服务模块、对象存储服务模块、镜像管理模块和计算服务模块,对应为其中的Cinder、Swift、Glance和Nova四个项目。
CephRBD块存储是以独立卷的方式挂接到OpenStcak Cinder模块,主要用作数据盘,这种方式主要通过CinderDriver实现,删除虚拟机时卷依然存在。Nova对接Ceph时,Ceph RBD块存储卷需要与虚拟机绑定,所以删除虚拟机时卷也删除,一般用作启动盘。Ceph也可以和Glance对接用于镜像卷。Keystone作为OpenStack对象Swift的认证模块,支持Ceph通过RADOSGW网关认证,给OpenStcak提供Swift存储服务。

在OpenStcak块存储服务方面,Ceph目前是Cinder项目的默认存储后端。目前已经实现跟CloudStack、Zstack、Eucalyptus和KVM对接。Ceph将RBD块驱动直接集成在QEMU中,这样,虚拟机访问基于RBD实现的块设备的性能优化。

在OpenStcak镜像管理部分,Red Hat大力推动,也已经利用自己在KVM/QEMU社区中的影响力,将Ceph RBD块驱动直接集成在QEMU中,支持Openstack通过LibVirt和QEMU之间配置,实现对KVM、Xen、LXC和VirtualBox等虚拟机镜像管理。目前Glance已经支持将Ceph作为自己的本地镜像文件缓存。

在OpenStcak对象存储部分,Swift作为最早由Rackspace贡献的子项目与AWS S3并驾齐驱,也是OpenStack自带的对象存储实现方案。但由于Ceph的出现,使得Swift有了强有力的竞争对手,就连Swift也在考虑采用Ceph作为自己的存储后端。
在OpenStcak计算服务部分,UnitedStack(基于OpenStack)目前正在推动将Ceph FS作为Nova计算节点的本地文件系统,提供数据存储服务。
Ceph和OpenStcak的集成能力,使得Ceph是OpenStack生态系统中呼声最高的开源存储解决方案。包括HP、Dell、Intel等为代表的企业IT领导厂商和Mirantis、eNovance、UnitedStack为代表的OpenStack社区新兴厂商都将Ceph作为重要的开源存储解决方案。
但是,如何对Ceph和Openstack原生存储方案进行取舍,将是用户和社区所必须面对的问题。Ceph的优势就是同时提供对象存储、块存储和文件系统存储三种存储服务能力,便于在满足不同应用需求的前提下简化部署和运维,这是Ceph被OpenStack热衷的主要原因。所以针对存储、块存储和文件系统存储混合场景或块存储场景,采用Ceph存储方案是比较合适。然而针对对象、文件场景,虽然Ceph也提供了对应方案,但但考虑到成熟度选用OpenStack方案比较适合。另外,Ceph采用分布式、无中心结构和没有理论上限的系统规模可扩展性也将是Ceph在云计算大数据时代取得成功的关键。
前几天看到,Ceph社区已经把Ceph 的RBD块存储镜像支持功能扩展到Docker中。在Docker中Ceph的RBD镜像功能主要是负责把RBD镜像通过异步通信的方式从一个Ceph集群复制到另一个Ceph集群,用于对Docker镜像容灾保护和恢复。

收起
保险 · 2018-04-12
浏览2730

提问者

byethen
系统工程师CMBC
擅长领域: 存储灾备服务器

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-04-10
  • 关注会员:6 人
  • 问题浏览:4816
  • 最近回答:2018-04-12
  • X社区推广