美团云硬盘是什么?
美团云硬盘是一种块存储方式。日常生活中,我们是用到的块存储设备非常多。比如电脑硬盘、U盘、移动硬盘、光盘等都是块存储设备。云硬盘挂载到美团云主机上之后,对用户呈现出来的就和普通的硬盘一样。但是实际上,其后台对接的是一个分布式块存储的系统,而不是本地硬盘。
云硬盘和对象存储不同,它需要挂载到美团云主机上之后,和计算资源一起才能使用。通常,云硬盘存储的是相对热的数据。比如对于一个电商网站,动态处理用户游览、购买等行为的数据库服务就会使用云硬盘。而静态的用户的日志数据则可以存储在对象存储上。
美团云硬盘的特点
我们都知道,云平台是资源和任务的管理平台,有几个支撑性的业务。第一个是计算虚拟化,美团云使用了开源的KVM和自研结合的方式;第二个是网络虚拟化OVS;第三个是存储虚拟化。云硬盘就是通过分布式的块存储系统,实现了存储虚拟化。
与分布式块存储相对的存储方式还有本地存储和集中共享存储。为什么选择分布式块存储作为云硬盘的实现方式呢?
原因就在于,本地存储的实现技术简单,存储性能高。但是本地存储的image下载很慢,阻碍了云主机迁移,而且一旦节点故障则数据损坏或不可用,可用性就变得很低。集中式共享存储,云主机可以很容易地迁移,但是成本较高,可用性低,扩展性也比较低。相比之下,分布式块存储的方式通过多副本或纠删码的存储方式,可靠性高。同时有易迁移、可用性高、扩展性好等优势。因此,云硬盘可为云计算平台带来许多优良特性,如更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。首先存储虚拟化意味着虚拟硬盘可以跨物理机访问,云硬盘使得云主机上挂载的硬盘容量不受限于物理硬件,同时大力支持弹性伸缩,这也是云服务的精髓之一。其次,存储虚拟化可以将负载比较重的物理服务器上的任务迁移到负载比较轻的物理服务器上,达到分散负载,提高性能的目的。同时便于云主机的迁移。第三,云硬盘有树形快照、简配等诸多高级功能。第四,云硬盘降低了存储对于硬件的依赖,并提高了实时分配存储空间的效率,从而能够降低用户的使用成本。
● 美团云分布式块存储系统Ursa的出现
云硬盘背后用到了美团云自研的分布式块存储系统Ursa。之所以选择自研Ursa,是因为我们在测评中发现,分布式块存储领域的开源项目均存在一些问题,使得它们都难以直接应用在大规模的生产系统当中。
例如Ceph RBD的效率较低(CPU使用过高);Sheepdog在压力测试中出现了数据丢失的现象;MooseFS的POSIX语义支持、基于FUSE的架构、不完全开源的2.0版本等问题给它自身带来了许多的局限性;GlusterFS与Ceph同属红帽收购的开源存储系统,主要用于scale-out文件存储场景,在云计算领域使用不多。此外,这些存储系统都难以充发挥用万兆网卡和SSD的性能潜力,难以在未来承担重任。
由于以上原因,美团云研发了全新的分布式块存储系统Ursa,通过简单稳固的系统架构、高效的代码实现以及对各种非典型场景的仔细考虑,实现了高可靠、高可用、高性能、低开销、可扩展、易运维、易维护等等目标。
Ursa的名字源于DotA中的熊战士,他具有极高的攻击速度、攻击力和生命值,分别隐喻存储系统中的IOPS、吞吐率和稳定性。