专栏名称: InfoQ
有内容的技术社区媒体。
目录
相关文章推荐
51好读  ›  专栏  ›  InfoQ

百度云磁盘CDS、对象存储BOS技术深度解析

InfoQ  · 公众号  · 科技媒体  · 2017-06-27 08:00

正文

在 BAT 中,百度在公有云也有很多技术创新。比如 2013 年引起广泛关注的 ARM 存储服务器就是一个很好的例子。最近两年,百度云开始发力,其云存储体系有诸多创新之处。目前百度云存储形成了以块存储、对象存储、文件存储为核心,VPN/ 专线、数据导入、存储网关为支撑的产品体系。其中百度对象存储 BOS 支撑了百度网盘上千 PB 的海量数据,在国内首推分级存储和智能存储概念,前者以标准、低频、冷存储三种存储类型组成,后者包括了图片处理、图片审核、Android 批量打包等诸多处理能力。

在 6 月 24 日百度开发者中心主办、极客邦科技承办的 72 期百度技术沙龙活动中,百度云计算事业部高级产品经理姜骥川、百度云计算事业部资深工程师杨勇强、百度云计算事业部资深工程师牛献会,分享了当前云存储技术面临的挑战,针对这些挑战,百度云存储技术推出的块存储、对象存储等解决方案,以及方案背后的系统架构演进和关键技术实践。

百度云存储产品与解决方案

百度云计算事业部高级产品经理姜骥川做了开场演讲,他讲解了在人工智能(AI)、大数据(Big Data)、云计算(Cloud)三位一体的新时代下,云存储面临了两大重要挑战:

  • 数据爆发式增长 。ABC 时代最重要的一个特点就是不同应用场景的数据存储需求的爆发式增长,包括语音数据、LBS 数据、行业数据等。据分析,到 2020 年数据量将达到 40ZB。

  • 数据分析与识别 。数据是有价值的,如何通过分析和识别数据发现业务规律,从而产生商业价值,这是现今所有开发者和企业需要去实现重要命题,而这个命题实现的前提就是数据的高效、可靠性存储。

姜骥川表示,云存储的使命一方面是助力传统业务应对变化,满足客户对更高性能、更短响应时间的要求,降低成本赢得竞争力;另一方面,还需要适应新业务的需要,例如海量非结构化数据存储、大数据分析、富媒体处理。在此情景下,百度云提供了块存储、文件存储和对象存储等多种存储类型以适应不同的应用场景需求。

百度云存储 – 云磁盘 CDS

百度云块存储主要用于满足云主机的持久化存储需求,它有三大特点, 一、计算和存储解耦 ,比如用户的云主机失效,云磁盘可以很简单的挂载到到另外一个主机上,防止数据丢失及业务中断。 二、弹性、支持随时扩容 ,用户可对云磁盘进行随时扩容,最大可达 5T。 三、提供快照 ,便于数据备份、恢复,对于存储产品来说,数据的安全、不丢失,是客户最在意的一点,云磁盘提供的快照功能是对存储数据很好的保护。

百度云存储 – 对象存储 BOS

百度云的对象存储是面向 Internet 的存储服务,为了便于互联网上的访问,对象存储提供了一种扁平的目录结构,通过 Bucket 来组织和管理 Object 资源。百度云 BOS 是国内最大的对象存储服务,支撑了百度网盘上千 PB 的存储。BOS 主要用于服务四类应用场景:UGC 内容存储和分享,数据分析,备份归档和网站 / 应用内容分发等多种应用场景。通过 EC 编码多副本技术,数据可靠性达到 99.999999999%。

百度云块存储架构解析

随后,百度云计算事业部资深工程师杨勇强从技术的角度,对百度云的块存储架构做了详细的解析。

如何实现这个架构?

杨勇强首先从系统设计的角度,讲述块存储的三类 API:第一类、控制,即云磁盘的创建删除操作;第二个、特殊产品堆砌,包括快照、克隆、回滚功能;第三类是最核心的,就是磁盘要读写。接着,杨勇强从虚拟设备方案、系统架构、数据分布、读写流程、单机存储引擎、混合存储多个方面,介绍了整个系统的实践方式。

虚拟设备方案 。百度从性能、可运维性两个角度出发做了自己的虚拟设备方案。具体实现过程为在 qemu 实现 cds 的虚拟设备方案,这个虚拟设备的请求会通过管道或者共享内存交给另外一个进程,另外一个进程 cds-agent 运行后端分布式存储的 lib。







请到「今天看啥」查看全文