写点什么

UCloud 彭晶鑫: UCloud 高性能存储背后的技术解析

  • 2019-11-12
  • 本文字数:3304 字

    阅读完需:约 11 分钟

UCloud彭晶鑫: UCloud高性能存储背后的技术解析

随着移动互联网的迅速发展,智能终端、可穿戴设备、智能家居正在快速普及,数据吞吐量呈现出指数级的增长趋势。大数据爆发的时代下,各行各业的互联网化与现实世界数据化的趋势,使市场对企业级云存储的需求更加迫切。


云存储,可以理解为云计算环境下的存储服务,将云计算数据中心的各种存储资源虚拟化,抽象化、池化,以存储服务的形式提供给应用。用户可以按自己的需求(容量,性能,时间)等使用云存储资源。一些可以通过用户购买的计算节点去使用,例如块存储,分布式文件存储,还有些可以通过网络访问标准的接口存取去使用,例如对象存储。


UCloud 作为国内领先的云计算服务平台,在云存储方面有着比较丰富的产品线。UCloud 块存储研发副总监彭晶鑫近日接受了 51 CTO 记者的采访,对云存储产品及技术进行了解析。

1 UCloud 丰富的存储产品线

彭晶鑫目前担任 UCloud 块存储研发副总监,主要从事分布式云盘,块设备数据保护产品,分布式文件存储的研发。彭晶鑫在采访中对 UCloud 已有的存储产品进行了以下总结。


  • 提供块设备存储能力的云硬盘 UDisk,包括 SATA 的普通云盘和 SSD 云盘,云盘能为云主机提供高速、高可靠的块存储能力;

  • 提供分布式文件系统能力的文件存储 UFS,UFS 提供了高可靠、无限扩展的文件存储服务,目前是容量型,后续还将推出性能型;

  • 对象存储 UFile 提供了海量、高可靠、低成本的非结构化文件存储服务,可以让用户在任何互联网可达的位置利用 API 去访问和存储;

  • 提供持续数据保护 CDP 系统的数据方舟 UDataArk,它是公有云中前几家支持块设备回滚至任一秒,并能有效防止用户由于误操作、黑客攻击等带来的数据误删除或者丢失。


当然除了这四种存储产品以外,UCloud 还有适用于海量数据的长期归档、备份的数据归档存储 UArchive,提供数据库服务的 RDS 以及分布式关系数据库等。

2 这些存储产品例如云硬盘和软件定义存储有什么关系

总的来说软件定义存储(SDS)就是将数据中心的各种存储资源抽象化、池化,以服务的形式提供给应用,满足应用按需自动化的使用存储。云硬盘其实就是 SDS 的一种,它将存储资源池子化,提供应用层需要的逻辑块设备存储能力,并让计算和存储在物理上分离。

3 UCloud 在存储产品研发之路上遇到了哪些问题并如何解决的

在存储产品的研发之路上,UCloud 确实也遇到过一些问题,在这里就列举三个点:


  • 数据可靠性


为了更早发现数据损坏,有些时候,用户 IO 的读写并没有散落到磁盘的任何位置上,磁盘的坏道坏块等也不能及时发现。甚至可能三个副本中有两个副本所在的磁盘都有损坏确没有被及时发现。这样就给数据的可靠性带来了较大的挑战。后续我们加入了磁盘不同偏移的读写探测以及定期读数据和校验码的比对,从而更好地保障了数据的可靠性。


  • 数据分片


数据分片和元数据的关系是分片小元数据就多,分片大却不能均匀的打散并发挥分布式集群的能力,因此分片要适当的小。那么问题又来了,当用户申请一块磁盘时,需要将很多元数据分配好进行持久化,这对于大容量磁盘的申请体验就很差,速度慢。如果不是申请时分配,那么就是写时分配,这对于用户第一次 IO 时的体验也会很差,性能有影响。后来经过综合考虑,我们选取了通过计算去获取路由的方式,避免了中心存储元数据带来的麻烦。


  • 连续数据保护


第一代 CDP 系统数据方舟 1.0 可以很好的支持块设备回滚到过去任一秒。但是对于大盘或者 IO 比较凶的磁盘来说,回滚速度会很慢,甚至需要几个小时。用户使用时都希望能快速回滚。后来我们就设计了数据方舟 2.0,从用户角度出发,回滚时选择回滚至一个全新的磁盘,不去破坏原有的磁盘数据。并通过流式计算、分层混合存储设计、分布式存储技术顺利地将回滚速度提升了 8 倍,1TB 大容量盘也可以在 30 分钟内完成回滚。

4 近年来块存储在底层硬件方面有哪些发展

总的来说,就是底层硬件越来越强。主要体现在两个方面:一是磁盘速度越来越快,另一个就是网络接口也有了快速的发展。


SSD 这类固态硬盘的发展,目前主要以 NAND 为主,单盘可以提供几十万甚至百万的 IOPS,高达几个 GB 的读写带宽,这是机械盘时代无法想象的。与此同时,固态硬盘的容量已普遍可以做到 4TB 到 6TB,也充分解决了存储对于容量的需求。除了 NAND 以外,还有 3D Xpoint 的发展,相对于 NAND,3D Xpoint 例如 Intel 的 optane, 延迟上有了 10 倍左右的提升,并且更耐用。


另外,网卡也经历了从千兆、万兆、25G 卡到 50G 卡的高速发展。此外,还有网卡对 RDMA 特性的支持,可以让网络收发零拷贝,无需操作系统/协议栈等的介入,就可以实现机器间的超低延迟、超高吞吐。

5 随着底层硬件的发展,块存储该如何突破软件技术层的瓶颈

随着底层硬件的发展,例如 NVME/PCIESSD 相对于 SATA SSD 的跨越式发展,网络接口的处理能力也从 10G 到 25G 再到 100G。与此同时,CPU 的主频确几乎没有大的发展,主流的平均在 2-3GHZ 以下。另外,按照传统模式 SSD 的 IO、网卡的收发包经过用户态内核态的多层拷贝,都还需要靠 kernel 的中断来唤醒。以前,这些外设的能力远低于 CPU,所以没有任何瓶颈。而现在外设硬件的跨越式发展,中断模式来唤醒系统处理也开始受到了技术挑战。


云计算环境下的分布式块存储从软件栈上可以分为两层:一个是宿主机集群,一个是后端集群,两者之间通过网络互联。块存储要突破的技术也主要在整个软件栈上的 IO 路径、整个 IO 路径的性能及可靠性。宿主机侧,为了实现数据交互的高性能,数据面需要从 qemu 卸载到宿主机上,从而有了用户态 VHOST 方案。例如 SPDK VHOST 技术,不仅将数据面从 qemu 卸载到用户态,而且可以通过 pmd 模式加速性能。


第二个就是宿主机到后端集群的路径。传统的 TCP/IP 协议栈+网络服务框架 epoll 模式很难做到超高性能的要求。而 RDMA 技术,通信不需要经过复杂的 TCP 协议栈,通过旁路和零拷贝极大的提供低延迟的特性。同时不需要两端的 CPU 参与。所以 RDMA 技术,不管是 ROCE 还是 IB,都可以在网络通信上极大的提高性能。


第三个在后端侧,RDMA 的应用可以极大的提高网络通信的性能,减少 CPU 的负载。另外,还需要关注磁盘 IO 的性能。发挥 NVME 的高 IOPS,同时降低 IO 的延迟,就成为了最关键的方面。利用 SPDK 通过 NVME 驱动访问磁盘,缩短 IO 栈以及 PMD 模式,可以极大的降低 IO 延迟。

6 UCloud 在存储技术上是如何做到更好地服务于用户的

为了给用户提供更好的存储服务,还是需要从用户的需求去看待:


1、用户追求高性能低延迟,例如刚才说的块存储,就可以从 IO 路径上整体兼顾,不断追求更低的时延和更高的 IOPS。总之就是做到 IO 路径上的极致;


2、用户追求大容量,那么怎么设计出可以让用户无限扩容的系统就是关键;


3、用户追求低价格,那么降低 TCO,不损失数据可靠性的基础上降低冗余度,提高磁盘利用率就是关键;


4、用户追求回档的速度和粒度上,那就需要在持续数据保护上追求 RTO 和 RPO。


在这方面,UCloud 一直秉承“用户需求就是下一个产品”的理念。

7 在块存储方面,UCloud 后续会做什么样优化和新产品等

我们确实在紧跟存储行业的发展不断推出或者优化存储产品,比如我们 5 月发布的高性能块存储新品 SSD 云硬盘,软件架构设计更简洁。另外,为了满足客户对高性能的需求,后端存储也全部使用了 NVME SSD,并提供了 QOS 保证。接下来我们也会推出基于 NVME SSD 的分布式文件存储,提供更高性能的文件存储需求。


同时,我们会引入 RDMA SPDK 等数据面的 kernel bypass 技术,充分优化 IO 栈,并压榨硬件性能,打造高性能低延迟的存储引擎,服务于各种对高性能有需求的存储服务。后续也会采用混合存储技术,例如 optane 和 nvme 磁盘的混合存储,提供更低的写延迟,让客户获得更好的体验。


作者介绍:


彭晶鑫,UCloud 块存储研发副总监,上海交通大学研究生毕业,2011 年加入百度,2011 年-2014 年负责移动云应用服务后端多项研发工作。目前就职于 UCloud,任块存储研发部副总监,负责块存储研发部,文件存储研发部的研发以及运营工作,主要包括云硬盘,数据方舟,分布式文件系统。对服务后端技术,存储技术,工程实践有相当丰富的研发经验。


本文转载自公众号 UCloud 技术(ID:ucloud_tech)。


原文链接:


https://mp.weixin.qq.com/s/7ffs86PpeEL9Ha0UJRNxyQ


2019-11-12 11:391538

评论

发布
暂无评论
发现更多内容

软件工程3.0时代,AI落地研效成熟时

思码逸研发效能

研发效能 AIGC 研发效能度量 研发效能管理

Topaz Video AI:一键提升视频画质,让回忆更清晰!

Rose

数字先锋 | “点击就成片”,中国电商人是懂做生意的!

天翼云开发者社区

云计算 存储 智能算力

Babylon.js 开发框架的优缺点分析

北京木奇移动技术有限公司

软件外包公司 webgl开发 babylon.js

如何通过物化视图加速数据湖查询?

镜舟科技

sql 数据湖 数据分析 StarRocks 物化视图

《HAP信创生态白皮书》正式发布

明道云

Babylon.js 开发框架的主要特点

北京木奇移动技术有限公司

软件外包公司 webgl开发 babylon.js

敏捷不是拖延借口,如何把控准时交付?

禅道项目管理

敏捷开发 项目管理软件 优先级 准时交付 sprint计划

Mac文件同步对比工具Beyond Compare 5最新密钥及安装教程

Rose

腾讯一面:那些数据库的高频问题

王中阳Go

数据库 腾讯 MySQL 高可用 面试问题

车联网服务平台的数据安全监测、共享、流通

芯盾时代

车联网 物联网 智能汽车

一文教你如何本地部署玩转DeepSeek-V3,免费体验100度算力包跑通!

九章云极DataCanvas

开发 #编程 DeepSeek v3

Byteman 使用指南(一)

FunTester

Commander One Mac:双窗口管理,文件操作新纪元!

Rose

爆肝整理!一文带你吃透软件测试

测试人

软件测试

新能源电池行业MES系统解决方案

万界星空科技

mes 锂电池 万界星空科技 电池mes 新能源电池

鸿蒙原生游戏上新!《王者荣耀》鸿蒙版上线华为游戏中心

最新动态

Downie 4 for Mac v4.8.13最新中文版 苹果电脑专业youtube视频下载器

Rose

FlowJo 10:流式细胞数据分析的巅峰之作,解锁生命科学的无限可能!

Rose

Royal TSX for Mac:一站式远程管理利器,效率与安全并存的终极选择!

Rose

【极致观影】Movist Pro:重新定义你的家庭影院体验!

Rose

Bigasoft Video Downloader Pro:支持全球视频平台,下载无障碍!

Rose

理工人的假期带娃搭子,和孩子一起动手建水塔,筑大坝……

博文视点Broadview

信息安全小课堂开讲啦!大伙看这里!

行云管家

网络安全 信息安全 数据安全

首批!云高性能计算平台CHPC通过云超算资质测评,百度智能云引领算力服务新高度!

Baidu AICLOUD

高性能 高性能计算

Three.js 的优缺点分析

北京木奇移动技术有限公司

three.js 软件外包公司 webgl开发

AIP智能体平台:解锁未来软件开发的新篇章

大东(AIP智能体运营专员)

人工智能

Rhinoceros 8 for Mac(犀牛8mac中文版)专业三维建模工具

Rose

AIP智能体平台:开启教育与科技的新篇章

大东(AIP智能体运营专员)

通过数据驱动的方式实现自动化测试框架封装

测试人

软件测试

Vector Magic for Mac:一键将图片转为矢量图,设计更高效!

Rose

UCloud彭晶鑫: UCloud高性能存储背后的技术解析_文化 & 方法_彭晶鑫_InfoQ精选文章