优秀的编程知识分享平台

网站首页 > 技术文章 正文

Ceph性能测试:纠删码 vs. 三副本?

nanyue 2024-07-23 13:28:47 技术文章 15 ℃

本文内容非商业用途可无需授权转载,请务必注明作者、微博ID:唐僧_huangliang,以便更好地与读者互动。

Ceph在今天有多火我想就不用多说了吧。正如许多分布式存储那样,三副本的容量利用率始终是个问题,特别是对于海量非结构化数据和冷存储这些在意性价比的应用来说。

相比之下,纠删码(Erasure Code)能够提供接近于本地RAID 5/6的有效磁盘空间,代价是牺牲了性能。纠删码在随机写入,特别是改写和重构(Rebuild)时产生的I/O惩罚较大,对应的集群网络流量比副本保护模式要大。

那么Ceph使用纠删码在各种情况下的性能都比三副本要低吗?答案是否定的。如果您还心存疑问,请看本文分解。

引用自《Dell EMC DSS 7000 Performance & Sizing Guide for Red Hat CephStorage 2》,以下同

Ceph的架构图大家应该都不陌生了,我就不在这里班门弄斧,还是先来看看测试环境吧。

测试平台:4U 90盘服务器+40GbE网络

左边是机柜的前视图。下方3个Dell DSS7000(4U 90个3.5英寸硬盘)机箱相当于6个Ceph OSD存储节点,3台PowerEdge R630用于Ceph MON/RGW节点,6套C6320(2U 4节点)中有24个客户端,再加上2台S6000交换机。

右边则是机柜后视图。Ceph集群的前端和后端(内部互连)网络都是40Gb以太网,客户端到交换机的连接是10GbE。

测试的软件环境为RHEL 7.2操作系统,Red Hat Ceph Storage 2版本,测试工具为Ceph BenchmarkingTool(CBT)。

服务器配置分为两种,实际上它们的DSS7000硬件配置是一样的。“45+2”代表45块6TB硬盘加上2个Intel P3700 NVMe SSD,后者上面划分8GB做为Ceph写日志设备。

与PowerEdge服务器不同的是,Dell DSS家族官方支持Braodcom(也就是LSI)MegaRAID系列RAID卡。该测试中每块HDD都是配置为单盘RAID 0,后面我们还会讨论这样做对性能的影响。整个集群的Ceph OSD裸容量为1440TB。

那么左右两边配置的不同就在于三副本还是纠删码(EC4+2,4个数据位加2个校验位)。结合上下文与节点数量,上表中的“EC3+2”估计是笔误。

关于DSS7000/7500服务器的详情,参见《DEF2015:4U 90盘位双节点Xeon E5服务器解析》一文

系统调优与测试方法

首先是Mellanox建议的网络相关性能调优设置。

磁盘驱动器性能调优,主要是在内核参数中打开了旋转驱动器(机械硬盘)的预读,每块盘应该是分配了4096KB缓存。这一点对HDD的顺序读应该有帮助。

Ceph Benchmarking Tool (CBT)自动化测试方法图,更多信息参见https://github.com/ceph/cbt

测试任务样例

如上图,op_size(IO操作)大小为4MB,每项测试运行时间300秒,并发IO数128。文档中还交待了写测试在顺序读测试之后进行,每客户端运行一个rados bench实例等。

测试结果:纠删码顺序写带宽更高

首先是4MB顺序读带宽,我们看到当客户端数量增加到8个以上之后,三副本模式与4:2纠删码逐渐拉开差距。最终整个集群三副本可以超过18GB/s,纠删码达到14GB/s。

这个结果不难解释。由于Ceph的多副本只在主副本读,在并发数据请求足够离散的情况下,就接近于所有盘同时读。

写带宽测试的结果比较有意思,还是4MB顺序IO。在达到8个客户端之后Ceph集群性能接近峰值。最终三副本接近7GB/s,而4:2纠删码则超过8GB/s。

这里的N+M是4个数据块加上2个校验块,尽管纠删码有计算开销,但上述测试负载对应的1.5x写惩罚还是比3副本小。借用传统RAID的理解方式,RAID 6 4+2的顺序写带宽理论上比RAID 10(或者DM双重镜像)也要好一些吧。

结论

1、三副本配置提供了较高的读吞吐带宽,因为纠删码在读取时必须由数据分块重组数据对象。然而,纠删码配置以一个较低的成本表现出更高的(顺序)写吞吐带宽,这是由于较少的写放大。

2、当使用Ceph存储时,Dell和Red Hat推荐在DSS 7000上使用单盘RAID 0模式。

注:第二条是有前提条件的,因为DSS 7000服务器上装的都是3.5英寸机械硬盘,SSD的情况不同。

不知大家是否对本文中的测试数据意犹未尽,Ceph硬盘配置RAID 0与JBOD模式之间的性能差距具体是多大?我这里还有更多的性能参考可以分享给大家,敬请继续关注!

参考资料

《Dell EMC DSS 7000 Performance & Sizing Guide for Red Hat CephStorage 2》

http://en.community.dell.com/techcenter/cloud/m/dell_cloud_resources/20443454

注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流技术,可以加我的QQ/微信:490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)

尊重知识,转载时请保留全文。感谢您的阅读和支持!《企业存储技术》微信公众号:huangliang_storage

原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODExNjI3NA==&mid=2649775247&idx=1&sn=656fc7b9bb49bd01f25ecd2ff99f8448&chksm=83773dd2b400b4c4575f3ba470eae61e8c891bbb8b03332893282ad97fea526cc6baaef1dc6c#rd

最近发表
标签列表