新闻 动态 ·
News Center
关注我们 关注前沿

行业精选|通过英特尔PCIe* 固态盘构建高性能私有云和基于 Ceph 的横向扩展存储解决方案

发表日期:2016-07-29        文章编辑:管理员         阅读次数:

要点综述

本文将以中国某个领先的网络游戏开发商和运营商为例,每月平均活跃登录约1,000 万人次。传统的商业存储解决方案在维护成本和时间方面都不尽如人意。为了提供价格经济的高性能存储解决方案,以满足虚拟游戏主机以及测试、开发和备份等各种内部需求,该企业部署了基于Ceph 和英特尔® 平台的横向扩展存储解决方案。借助新一代英特尔® 至强™ 处理器E5-2600 产品家族和英特尔® 固态盘DC P3700/P3600 系列,基于Ceph 的软件定义存储解决方案可为从KVM 虚拟化、游戏网站托管、数据库恢复到日志分析等多种服务提供高性能、高扩展性和高可靠性的存储平台。 

 

背景简介

根据IDC的预测,“从2013 年到2020 年,全球数据总量将增加10 倍,从4.4ZB 增加到44ZB” 。增加的大多数新数据来自非结构化数据。传统的企业存储侧重于结构化数据,通常通过添加更多的服务器和存储来应对数据爆炸式增长。这些传统的企业存储解决方案通常为基于传统NAS 的专有硬件,与横向扩展存储解决方案所使用的商用硬件相比,不仅价格昂贵,而且也难以实现硬件再利用。除了一次性支出资本,为了满足潜在的未来业务增长需求,传统的NAS 系统在最初会对系统进行预留配置,这需要大量的前期投资,进而造成系统存储空间在未达到容量目标是浪费的。相反,软件定义横向扩展存储解决方案可通过添加新节点实现轻松扩展。横向扩展存储正在作为传统企业存储的替代方案而出现在很多应用场景中。

 

面对挑战

• 资本支出:传统企业存储使用价格昂贵的专有硬件。这些硬件资源到期停止使用后,难以实现再利用。

• 运营支出:传统企业存储系统中的每个装置需要单独进行管理,一旦存储容量增加,运营成本将急剧增加。从维护角度来看,如果出现任何软硬件故障,通常需要执行规定的作业流程予以处理,运营支出较大。

• 可扩展性:各个部门往往倾向于保留自己的存储系统,这会造成总存储容量出现过度配置,而无法实现“按增长付费” 的理想模式。此外,传统存储系统扩展难度较大,难以满足业务需求。 

 

解决方案

Ceph 是一个可大规模扩展的开源软件定义横向扩展存储系统, 它可在单一平台上提供对象、块和文件系统存储。它在标准的大容量服务器上运行,这有助于节省成本,同时提供出色的灵活性,支持按需扩展容量。Ceph 日益受到公共云和私有云服务提供商的欢迎,在基于Openstack 的云服务中是最流行的块存储驱动程序。下图显示的是Ceph 架构。

为了应对资本和运营支出挑战,该企业自2013年开始调研Ceph,并在年底建立了研究和测试集群。基于新一代英特尔 至强处理器E5-2600 产品家族和英特尔®固态盘DC P3600 系列,他们构建了约200 个OSD 节点和400 TB 容量的Ceph 集群,为其研发部门以及包括KVM 虚拟化与游戏托管在内的生产环境提供高性能、高扩展性和高可靠性的存储平台。

案例研究

高可用性和可靠性

作为国内领先的网络游戏开发商和运营商,致力于为游戏玩家提供基于其专有游戏引擎和游戏开发平台的各种网络游戏,这不仅必须做到更新频率快,同时要求推出速度及时。这就需要使用具备较高可用性和可靠性的存储基础设施,以便存储这些虚拟游戏主机和数据库并归档关键日志。

Ceph 通过在整个集群存储多份副本来确保数据的可用性,并且在出现数据损坏、硬盘故障或节点故障时,可自动恢复或迁移数据。例如,如果存储了主副本的硬盘出现故障,Ceph 将自动检测出故障并标记即将出现故障的OSD,然后根据一致性哈希算法计算出新的主要OSD,并暂时利用原有的辅助OSD 作为主要OSD 来回填这一新的OSD。恢复过程对系统性能的影响可通过各种可配置参数进行调节。

为了更好地服务于其数百万用户,网络游戏通常分为不同的区域,并通过不同的游戏服务器提供卓越的服务。在传统企业存储中,这些游戏服务器上的数据库需要备份到其他服务器上。一旦游戏服务器发生故障,无论是软件问题还是硬件问题, 都需要迁移游戏、重新加载备份服务器上的备份数据库,并进行手动恢复。总体迁移时间通常为5 到10 个小时。现在,采用Ceph 来存储这些虚拟服务器,恢复备份数据时间可缩短到5 至10 分钟。

 

Ceph 性能测试

性能测试的目的是测试Ceph 可否应用在一种重要的场景中:数据库备份和恢复。

• 测试系统

测试系统由41 台存储服务器组成,每台都配备了双路英特尔 至强处理器E5-2600 产品家族、96GB 内存和12 块4T 硬盘。高性能集群配置了双路英特尔至强处理器E5-2600 产品家族和96GB 内存,并分别配备一块1.2TB 英特尔固态盘DC P3600 系列,用于KVM 虚拟服务器托管。

• 数据库备份和恢复性能调优

在该企业生产环境中部署的首个Ceph 集群主要用于数据库备份,游戏的美术素材和源代码存储上。它需要较高的备份和恢复性能,以缩短潜在的服务影响时间。首先,集群采用一块RAID6 磁盘进行构建,用作单一的高可用性Ceph OSD 实例。这种配置展示了较好的备份速度(高达240MB/秒),但在执行恢复时,单线程读取应用程序的速度被限制在30MB/秒。这证明了不应在Ceph 集群中使用RAID。然后,我们重新部署了Ceph 集群,并将每块硬盘作为一个OSD 实例。备份速度提升到400MB/秒,而恢复速度仍然很慢(40MB/秒)。进一步分析表明,作为分布式存储系统,所有顺序I/O 将在OSD 端呈现随机状态,所以我们需要提升OSD 端的I/O 请求大小,以提升恢复性能。所以我们增加了OSD 硬盘和KVM 虚拟磁盘的read_ahead_kb 大小,这样,恢复速度提升到600MB/秒,性能提升20 倍。备份和恢复性能测试证明,经过具体优化,Ceph 可以在一些关键业务领域使用。

 

借助英特尔PCIe* 固态盘提升Ceph 的性能

• 借助英特尔PCIe* 固态盘启动虚拟服务器,将性能提升3 倍

该企业存储集群的一个重要应用场景是托管KVM 虚拟机,同时作为Web 服务器和游戏服务器。不幸的是,如果不使用固态盘作为日志,在运行40 多台虚拟机的时候,测试发现删除这些虚拟机中的大文件时,集群性能将显著下降,响应时间大于5 秒。作为优化,我们部署了一块1.2TB 的英特尔固态盘DC P3600 系列,并在其上创建三个独立的目录,用于存放三个OSD 实例。凭借英特尔固态盘DC P3600 系列,现在即使删除大文件,也可以支持120 台虚拟服务器,延迟只有几毫秒。使用这种配置,Ceph 集群性能和一个固态盘一个OSD 实例部署场景下由CRUSH 算法引起的空间不平衡问题都能够得到解决。

• 在Ceph 中采用PCIe* 固态盘:日志和缓存

Ceph OSD 使用日志实现高速度和一致性。这些数据将首先通过直接IO 写入日志,然后同样的数据将写入后端存储— 文件存储(FileStore),最后OSD 再确认完成写入操作。这将确保向客户端发送确认信息时,所有数据都将写入到永久性存储。这种特性导致了一种常见的Ceph 集群部署模式:将日志存入快速驱动器— 固态盘,将文件存储放入慢速驱动器— 传统硬盘。Ceph 日志针对所有日志写入执行同步写入操作(O_ DSYNC),因此除了固态盘的IOPS,其持久性是另一个重要的考虑因素。基于PCIe* 的英特尔® 固态盘作为Ceph 日志磁盘展示了良好的性能和持久性。我们在5 节点Ceph 集群上测试了4K 随机写入性能,每个节点配置了14 块4TB 硬盘。在没有将固态盘用于日志的情况下,我们在每块硬盘上创建分区作为日志,4K 随机写入吞吐量为1818 IOPS。然后,我们安装了一块英特尔固态盘DC P3600 系列作为这14 块硬盘的日志,吞吐量提升到6063 IOPS,性能提升高达233%。在固态盘上使用缓存加速软件来提升存储性能是一种颇为流行的做法。英特尔固态盘DC P3700 系列可提供高达75,000 4K 随机写入IOPS,同时,英特尔固态盘DC P3700 系列在其生命周期内支持每天高达17 次的写入耐用性,这几乎是英特尔固态盘DC P3600 系列的6 倍,因此我们选择了英特尔固态盘DC P3700 系列作为缓存和日志。我们采用fio,并用1.2 theta 的zipf 分布来模拟特定缓存命中率的工作负载,并在4 节点Ceph 集群上测试的flashcache 性能。每个节点配置了双路英特尔至强处理器E5-2600 产品家族、32GB 内存、10 块1TB 硬盘以及一块作为flashcache 的2TB 英特尔固态盘DC P3700 系列。在不使用flashcache 的情况下,4K 随机读写获取的吞吐量为5875/6840 IOPS。采用英特尔固态盘DC P3700 系列作为flashcache,吞吐量将分别提升到17775 和21020 IOPS,性能均提高3.02 倍。

 

总结概述

经验表明,基于Ceph 的开源存储系统能够凭借英特尔产品提升性能并降低成本,同时也证明了Ceph 是一款面向云服务的可行的存储后端,案例研究证明采用基于PCIe* 的英特尔® 固态盘作为日志和缓存可以显著地提升Ceph 集群的整体性能。


文章摘自英特尔固态盘

 

欢迎联系永信贵宾会集团咨询英特尔固态盘产品信息

永信贵宾会集团联系方式
咨询热线:400-830-0107

永信贵宾会官网:www.yyhsjs.com

客户垂询邮箱:Customer@yyhsjs.com

客户垂询QQ:1305742380

地址:深圳市福田区深南大道1006号国际创新中心C座11楼

邮编:518026

电话:0755-82964380
邮件:xinyuan.guo@yyhsjs.com
地址:深圳市福田区深南大道1006号国际创新中心C座11楼

  • 官方微信

  • 官方微博
  • 服务热线

    0755-83647532

    微信服务号

    [!--page.stats—]