2020-12-30 13:39:48 阅读(258)
1.Ursa云硬盘在IaaS云计算平台中起着至关重要的作用,几乎已经成为亚马逊EBS等必备组件(ElasticBlockStore)、盘古、OpenStack中的Cinder等阿里云。云硬盘可以为云计算平台带来更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等诸多优秀特性。随着万兆以太网的逐渐普及,云硬盘的优势得到了加强和突出,其必要性变得非常强。云硬盘的底层通常是分布式块存储系统。目前,CephRBD等开源领域也有一些这样的项目、Sheepdog。此外,虽然MooseFS和GlusterFS被称为文件系统,但它们也可以用来支持云硬盘,因为它们的特性接近块存储系统。在评估中,我们发现这些开源项目存在一些问题,使其难以直接应用于大规模生产系统。比如CephRBD效率低(CPU使用过高);Sheepdog在压力测试中丢失数据;Mosefs的POSIX语义支持、基于FUSE的架构、不完全开源的2.0版本等问题给其自身带来了诸多局限性;GlusterFS和Ceph属于红帽收购的开源存储系统,主要用于scale-out文件存储场景,在云计算领域使用不多。此外,这些存储系统在未来很难充分发挥万兆网卡和SSD的性能潜力。此外,这些存储系统很难充分发挥万兆网卡和SSD的性能潜力,也很难在未来承担沉重的责任。由于上述原因,美团云开发了一种新的分布式块存储系统Ursa,通过简单稳定的系统架构、高效的代码实现和仔细考虑各种非典型场景,实现了高可靠性、高可用性、高性能、低成本、可扩展性、易操作维护、易维护等目标。Ursa的名字起源于Dota中的熊战士,他具有很高的攻击速度、攻击力和生命值,分别隐喻存储系统中的IOPS、吞吐量和稳定性。2.1分布式块存储相关项目及技术Ceph(主要参考:https://www.ustack.com/blog/ceph_infra/)Ceph项目起源于其创始人Sageweil在加州大学SantaCruz分校攻读博士学位期间的研究课题。该项目于2004年开始。Sage在2006年的OSDI学术会议上发表了关于Ceph的论文,并提供了项目的下载链接,因此开始广为人知。2010年,Ceph客户端部分代码正式进入Linuxkernel2.6.34。Ceph还提供三个层次的分布式存储服务:对象、块和文件,其中只有块层存储与我们有关。由于块存储在IaaS云计算系统中占有重要地位,近年来Ceph的关注度显著提高。许多基于Ceph的云计算系统实例提供块存储服务,如UnitedStack、MirantisopenStack等。ceph性能测试测试版:0.81操作系统:centos6.x测试工具:fio服务器配置:CPU:IntelXeone5-2650v2@2.6GHzRAM:96GBNIC:10GbeHDD:6NLSAS,7200RPMRAIDController:DellH710p(LSI2208with1GBNVRAM)服务器数量:4。其中一个是兼职客户端。注意:由于客户端位于存储服务器上,四分之一的吞吐率不通过网卡。测试结果如下:读IOPS:16407(此时客户端CPU占用率超过500%,5台服务器CPU的总利用率接近500%。写IOPS:941顺序读吞吐率:21859KB/s顺序写吞吐率:67242KB/s顺序读延迟:1.6ms(664IOPS)顺序写延迟:4.4ms(225IOPS)网络ping值:0.1324ms本地硬盘顺序读写延迟:0.03332ms(29126IOPS)从测试角度看。Ceph阅读吞吐率正常,但吞吐率低于阅读的1/3,性能低;读写延迟率明显大于网络延迟和磁盘I/O延迟之和;CPU占用率太高。2.2Sheepdog(主要参考:http://peterylh.blog.163.com/blog/static/12033201221594937257/)Sheepdog是日本NTT实验室Moritakazutaka为虚拟化平台创建的分布式块存储开源项目,2009年开源[1]。自2011年9月以来,一些淘宝工程师加入了Sheepdog项目和Corosyncc等相关开源项目、开发Acccord。自2011年9月以来,一些淘宝工程师加入了Sheepdog项目和Corosyncc等相关开源项目、Accord的开发。Sheepdog主要由集群管理和存储服务两部分组成,其中集群管理目前由Corosync或Zookper完成,存储服务是新实现的。Sheepdog采用无中心节点的全对称架构,基于一致性,实现从ObjectID到存储节点的定位:每个节点分为多个虚拟节点,像ObjectID一样,采用64位整数唯一标识,每个虚拟节点负责一段ObjectID范围,包括节点ID。ObjectID对应的虚拟节点存在于Dataobject副本中,以及后续的节点。Sheepdog没有单点故障问题,存储容量和性能可以线性扩展。新节点可以通过简单的配置添加到集群中,Shepdog可以自动平衡负载。节点故障可以自动发现并修复副本。它还直接支持QEMU/KVM。Sheepdog的服务流程不仅是数据服务的责任,也是客户端的责任(QEMU)gateway访问数据。QEMUShepdogdriver将对volume的请求转换为对object的请求,然后通过unixdomainsocket或TCPsocket连接shepdog服务流程,并将访问请求发送到该流程以完成后续步骤。Sheepdog的服务流程也可以打开数据缓存功能,以减少网络I/O。SheepdogI/O路径是“clientSheepdog数据可靠性问题我们对Sheepdog开展了可靠性、可用性测试。测试中共有3台服务器,每台配备6个机械硬盘。配备Sheepdog后,每台服务器启动10个VM,每台VM内无限循环运行Fio分别进行小随机读写和大顺序读写测试。在进行压力测试一周后,对集群中的所有数据进行一致性测试(collieclustercheck),发现一些数据块副本与另外两个不一致(”fixedreplica..”),有些数据块的三个不同(”nomajorityof..”):复制代码代码如下:[root@node3-10gtest~#collieclusterchecheckfixditest1-399.9%[=================================================================>]50GB/50GBfixedreplica3e56000000fca99.9%[=================================================================>]50GB/50GB fixedreplica3e560000000fec1000.0%[================================================================>]50GB/50GB fixedreplica3e560000026f51000.00[================================================================>]50GB/50GB fixedreplica3e56000002da61000.0%[================================================================>]50GB/50GB fixedreplica3e5300001e8c100.000[================================================================>]50GB/50GB fixedreplica3e5630000...fixvditest2-950.9%[=================================> ]25GB/50GB nomajoritofd7813000012351.0%[===================================> ]26GB/50GB nomajoritofd7813000015951.2%[===================================> ]26GB/50GB nomajoritofd7813000018a53.2%[====================================> ]27GB/50GB …2.3MooseFS(主要参考:http://peterylh.blog.163.com/blog/staticMoosefs是一个容错的分布式文件系统,/120320125179139592/标准POSIX文件系统接口由FUSE支持。Moosefs的架构与GFS相似,由管理服务器Master四部分组成:与GFS类似,Master主要有两个功能:(1)存储文件和目录元数据。文件元数据包括文件大小、属性、相应的Chunk等;(2)管理集群成员关系和Chunk元数据信息,包括Chunk存储、版本、Lease等。元数据备份服务器Metalogerserver:Master元数据根据元数据文件和log实时备份。元数据备份服务器Metalogerserver:Master元数据根据元数据文件和log实时备份。存储服务器chunkserverr。:负责存储Chunk,提供Chunk读写能力。默认情况下,Chunk文件为64MB大小。客户端Client:将FUSE挂入本地文件系统,实现标准文件系统接口。Mosefs本地不会缓存Chunk信息,每次读写操作都会访问Master,Master压力很大。另外,MooseFS写作流程长,成本高。MooseFS支持快照,但CoW是以整个Chunk为单位进行的(Copy-on-Write),以牺牲系统规模为代价,减少Chunk的大小,可能会导致响应时间恶化。Mosefs基于FUSE提供POSIX语义支持,现有应用程序可以直接迁移到Mosefs,不需要修改,这给应用程序带来了极大的便利。然而,FUSE也带来了一些负面影响,如POSIX语义不需要块存储,FUSE会带来额外的费用等。2.4GFS/HDFS(主要参考:http://www.nosqlnotes.net/archives/119)HDFS基本上可以算是GFS的简化开源实现,所以两者有很多相似之处。首先,GFS和HDFS都使用单一主控机 多台工作机的模式由一台主控机组成(Master)存储系统的所有元数据,实现数据的分布、复制和备份决策。主控机还实现了元数据的记录和回放功能。工作机存储数据,并根据主控机的指令存储数据、数据迁移和数据
以上就是关于分析美团的Ursa分布式存储系统的相关介绍,更多分析美团的Ursa分布式存储系统相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对分析美团的Ursa分布式存储系统有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一