Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在。本文试着整理作者了解到的一些使用案例。

1. 携程(Ctrip)

携程所使用的各种存储的现状:

  • 商业存储:

    • SAN(HP/ HPS) , 1+ PB, 数据库
    • NAS (HW) , 800+ TB, 文件共享
  • 开源存储
    • GlusterFS, 1+ PB, 数据库备份
    • FastDFS,   1+ PB, 海量照片
    • HDFS,      10+ PB, 大数据

而在不久的将来,随着公司业务的发展,携程需要的存储容量需要扩大到10倍以上。

携程选择Ceph的理由:低成本 + SDS + Scale-out + 统一存储 + 企业特性

 

携程目前的Ceph集群的配置:

  • CephVersion: 0.94.2,H release
  • Object Storage: RGW + Swift API
  • SDK: Python/ Java/ C#/ Ruby
  • OS: Centos 6.4
  • 硬件:CPU(2 channels & 32 Core)、Mem128GB、disk(12*3TB/SATA disk +2*256GB raid1 SSD)、NIC(4*Gigabit LAN, bond 2 in 1 pair)

RGW 使用架构:

携程有在数据中心之间的同步数据的需求。在研究了 CRUSHmap、Radosgw-agent、Federate gateway (不稳定、不灵活(只支持Zone 之间同步)、不易扩展)后,其自研了COS方案,它具有稳定、灵活、扩展性等特点:

 

下一步的计划:

  • Database on Ceph (Dev & QA Farm)
  • Openstack/ DockerIntegrate with Ceph
  • IT “Dropbox”

资料来源:携程在 2015/10/18 SH Ceph Day 上的分享。

楼主点评:

  • 与互联网公司的通常做法一致:慎重选择、细致测试、分布使用(往往从开发测试环境中使用开始)、开源的不够用就自研
  • 希望携程能有更多的分享和回馈社区

2. 联通研究院

中国联通研究院在使用Ceph对象和文件存储:

该集群还比较小,更多的是处于做大规模使用前的准备阶段。其测试环境:

测试结果:

他们认为SSD对性能提升的效果一般:

资料来源:联通研究院在 2015/10/18 SH Ceph Day 上的分享。

楼主点评:

  • 尚处于小规模测试和试用阶段
  • 使用的测试方法或者调优手段可能没到位,不然性能提高不会那么少

3. 宝德云(PLCloud)

宝德云使用Ceph的理由:

  • Pure Software
  • Open Source, Commercial Support
  • Unified Storage: RBD, RGW, CephFS
  • Scale Out
  • Self Healing
  • Replication and Erasure Coding
  • Integrate well with OpenStack

宝德云的用法:OpenStack + Ceph (RDB,CephFS)+ Docker

  • 所有 OpenStack 存储都放在 Ceph 上
  • 18*(5 OSD+1SSD) / CephRBD / CephFS
  • 785VM / 4vCPU32GB per VM
  • Ubuntu14.04 / Docker1.6.1 / 150+ Containers per VM
  • All VM Mount CephFS
  • Mount VM Directory as Container’s Data Volume
  • Boot 1 VM < 5s
  • Boot 1 Container < 1s
  • Boot 150+Containers < 120s
  • Ceph Rados Gateway driver for Docker Registry

  • Map RBD device inside DockerContainer
  • CephFS as Data Volume

  • CephFS as NAS Storage
  • Run Ceph in Containers

使用案例:宝德云上的爱慕流媒体服务

  • Run media web/app/dbvmover OpenStackand CephRBD
  • Use CephRGW as media resource storage
  • Put video TransportStream/jpg file via c-language programme
  • Manage resource via python-swiftclient
  • 400+KB per video tsfile
  • Reserved video ts/jpg file 7 days or 30 days
  • Allow media server temporary access to objects
  • Provide media service for Internet and Intranet User

资料来源:宝德云在 2015/10/18 SH Ceph Day 上的分享。

楼主点评:

  • 够大胆(到目前为止 CephFS 还不稳定呐)、够与时俱进(什么东西新就用什么)
  • 没说清楚怎么支持爱慕的超大流数据

4. CERN (欧洲核子研究委员会)实验室(来源

4.1 测试环境

CERN 的一些实习生搭了一套环境,使用 NetApp Cinder driver 和 Ceph,进行性能比较。

NetApp 环境(适应iSCSI驱动):                               Ceph 集群:

       

FAS2040 Storage Systems

  • Data ONTAP 8
  • 52 Disks

Benchmark 环境:

做法:在两个存储上分别创建100G,200G,400G的卷,分别挂载到三个虚机上,使用 hdparm、Flexible I/O Tester 和 dd命令作为测试工具。

4.2 测试结果

(FIO使用的是 writeback 缓存机制)

结论:

(1)读上,Ceph 比 NetApp 更快;写上,两者差不多。

(2)Ceph 使用缓存的话,对 I/O 性能影响很大。writeback 能较大地提交性能,而writethrough 只能轻微地提交性能。

(3)对单个卷使用不同的条带化参数,能提交其性能。该功能会在 Cinder 中实现。

5. 乐视云(来源

乐视采用了 Ceph RBD 作为 统一存储,OpenStack使用的Cinder,后端接的是Ceph,Glance也是共享Ceph存储。同时还提供了 S3 对象存储,用作于 CND 源站,存储乐视网的视频以及客户需要分发的资源。S3 也是全国分布式部署,用户可以就近上传,再推送到北京。目前乐视云 OpenStack 规模已达 900 个物理节点,对象存储的数据达到数PB。乐视认为,“ceph 数据分布,性能方面都很不错,crush算法是它的亮点“。

6. UnitedStack (来源

国内的 UnitedStack 应该说对 Ceph 做出了很大的贡献,包括很多的 bug fix 和新的功能,同时,也使用 Ceph 搭建了很大规模的云。他们 Ceph 团队的 blog 非常值得关注。下面是他们的测试报告:

IOPS:                                                                                  吞吐率

 

写惩罚:

结论:

我所了解的各公司使用的 Ceph 存储集群 (携程、乐视、有云、宝德云、联通等)的更多相关文章

  1. 公司jar包提交到集群的方法

    yarn -jar xx.jar 此时包会提交到集群上运行 也可以把jar包放到hbase 的lib下面用hbase jar 方式调用

  2. elasticsearch 了解多少,说说你们公司 es 的集群架构,索 引数据大小,分片有多少,以及一些调优手段 ?

    面试官:想了解应聘者之前公司接触的 ES 使用场景.规模,有没有做过比较大 规模的索引设计.规划.调优. 解答: 如实结合自己的实践场景回答即可. 比如:ES 集群架构 13 个节点,索引根据通道不同 ...

  3. elasticsearch 了解多少,说说你们公司 es 的集群架构,索 引数据大小,分片有多少,以及一些调优手段 。

    面试官:想了解应聘者之前公司接触的 ES 使用场景.规模,有没有做过比较大 规模的索引设计.规划.调优. 解答: 如实结合自己的实践场景回答即可. 比如:ES 集群架构 13 个节点,索引根据通道不同 ...

  4. vivo 公司 Kubernetes 集群 Ingress 网关实践

    文章转载自:https://mp.weixin.qq.com/s/qPqrJ3un1peeWgG9xO2m-Q 背景 vivo 人工智能计算平台小组从 2018 年底开始建设 AI 计算平台至今,已经 ...

  5. 大公司的Java面试题集

    找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...

  6. 知名IT公司的年度大会合集

    很多知名的IT公司都有年度大会,比如说谷歌,微软,Adobe,甲骨文,苹果等等.在这些公司的年度大会上,都会展示一些公司比较前沿的产品.看看这些大会的视频(也可以参会,但是门票可是非常贵的),对我们了 ...

  7. hbase 集群搭建(公司内部测试集群)

    我用的是cdh4.5版本:配置文件:$HBASE_HOME/conf/hbase-env.shexport JAVA_HOME=$JAVA_HOMEexport JAVA_HOME=/home/had ...

  8. Ceph 存储集群

    Ceph 存储集群 Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解 ...

  9. 玩转 Ceph 的正确姿势

    玩转 Ceph 的正确姿势 本文先介绍 Ceph, 然后会聊到一些正确使用 Ceph 的姿势:在集群规模小的时候,Ceph 怎么玩都没问题:但集群大了(到PB级别),这些准则可是保证集群健康运行的不二 ...

随机推荐

  1. 定时任务服务 CronService使用说明

    CronServiceInstaller.exe  部署安装程序 1.在打开该程序前务必设置为管理员运行 2.点击注册服务 3.检查服务是否开启,点击 services.msc, 打开系统服务列表 4 ...

  2. 在 Windows 上遇到非常多 TIME_WAIT 連線時應如何處理

        我們公司所代管的網站裡,有幾個流量是非常大的,在尖峰的時刻同時上線人數可能高達數千到數萬人,而在這個時候如果使用 netstat 或 TCPView 查看所有 TCP 連線時就會看到非常多處於 ...

  3. Popline:帅气的浮动 HTML5 文本编辑器工具栏

    Popline 是一个基于 HTML5 实现的富文本编辑器工具栏,设计灵感来自 PopClip ,相比传统的文本编辑器工具,Popline 能够浮动在编辑的文本周围,操作起来十分方便. 您可能感兴趣的 ...

  4. 详细讲解nodejs中使用socket的私聊的方式

    详细讲解nodejs中使用socket的私聊的方式 在上一次我使用nodejs+express+socketio+mysql搭建聊天室,这基本上就是从socket.io的官网上的一份教程式复制学习,然 ...

  5. 简单PHP会话(session)说明

    现在程序员愈发的不容易了,想要精通,必然要寻本溯源,这其实与目前泛滥的愈发高级的语言以及众多的框架刚好相反,因为它们在尽可能的掩盖本源使其简单,个人称之为程序员学习悖论. 注:作者接触web开发和ph ...

  6. 关于sharepoint2013的SPUtility.GetGenericSetupPath()方法过期解决办法

    有个时候需要读取layouts下的xml文件,因此需要知道路径,以前在SP2010用的SPUtility.GetGenericSetupPath()方法获取.现在SP2013提示过期否决 看2个结构分 ...

  7. Office 365 - SharePoint 2013 Online之添加App开发工具Napa

    1.新建一个网站集,模板选择开发人员模板,如下图: 2.确定以后,需要稍等一会儿; 3.点击网站内容,添加app,如下图: 4.进入SharePoint Store,选择Napa,如下图: 5.选择A ...

  8. Android Studio常用快捷键

    Ctrl+U :如果你的光标在重写父类的一个方法内(如:Activity#onCreate()),这个将会跳到父类的实现上. 如果你的光标在类名上,它将会跳到父类. Ctrl+Alt+Home:它可以 ...

  9. iOS 滑动隐藏导航栏-三种方式

    /** 1隐藏导航栏-简单- */    self.navigationController.hidesBarsOnSwipe = YES; /** 2隐藏导航栏-不随tableView滑动消失效果 ...

  10. NSArray与NSMutableArray 数组与可变数组

    1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWith ...