Cstor
Download
1 / 38

cStor 超低功耗 云存储系统 - PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on

cStor 超低功耗 云存储系统. 任军远 Email: [email protected] http://www.cStor.cn. Google文件系统(GFS). 客户端. 客户端. 客户端. 客户端. 客户端. 客户端. 客户端. 客户端. GFS主节点. MSN 19%. 互为备份. 客户端. 管理节点. GFS主节点. Google 48%. C 1. C 1. C 0. C 0. C 5. Yahoo 33%. …. C 2. C 2. C 5. C 5. C 1. 数据结点 2. 数据结点 N.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' cStor 超低功耗 云存储系统' - jackson-stark


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cstor
cStor超低功耗云存储系统

任军远

Email: [email protected]

http://www.cStor.cn


Google gfs
Google文件系统(GFS)

客户端

客户端

客户端

客户端

客户端

客户端

客户端

客户端

GFS主节点

MSN19%

互为备份

客户端

管理节点

GFS主节点

Google48%

C1

C1

C0

C0

C5

Yahoo33%

C2

C2

C5

C5

C1

数据结点2

数据结点N

数据结点1


Google gfs1
Google设计GFS的动机

是否可以在一堆廉价且不可靠的硬件上构建可靠的分布式文件系统?

  • Google需要一个支持海量存储的文件系统

    • 购置昂贵的分布式文件系统与硬件?


GFS的假设与目标

  • 硬件出错是正常而非异常

    • 系统应当由大量廉价、易损的硬件组成

    • 必须保持文件系统整体的可靠性

  • 主要负载是流数据读写

    • 主要用于程序处理批量数据,而非与用户的交互或随机读写

    • 数据写主要是“追加写”,“插入写”非常少

  • 需要存储大尺寸的文件

    • 存储的文件尺寸可能是GB或TB量级,而且应当能支持存储成千上万的大尺寸文件


GFS的设计思路

  • 将文件划分为若干块(Chunk)存储

    • 每个块固定大小(64M)

  • 通过冗余来提高可靠性

    • 每个数据块至少在3个数据块服务器上冗余

    • 数据块损坏概率?

  • 通过单个master来协调数据访问、元数据存储

    • 结构简单,容易保持元数据一致性

  • 无缓存

    • Why?


GFS的架构

1、文件存储方式

2、数据读写流程

单一Master, 若干ChunkServer


Master
单一Master问题

采用多个(如3个)影子Master节点进行热备,一旦主节点损坏,立刻选举一个新的主节点服务

  • 分布式系统设计告诉我们:

    • 这是单点故障

    • 这是性能瓶颈

  • GFS的解决办法

    • 单点故障问题


Master1
单一Master问题

尽可能减少数据存取中Master的参与程度

不使用Master读取数据,仅用于保存元数据

Simple, and good enough!

客户端缓存元数据

采用大尺寸的数据块(64M)

数据修改顺序交由Primary Chunk Server完成

  • GFS的解决办法

    • 性能瓶颈问题


Master2
Master节点的任务

  • 存储元数据

  • 文件系统目录管理与加锁

  • 与ChunkServer进行周期性通信

    • 发送指令,搜集状态,跟踪数据块的完好性

  • 数据块创建、复制及负载均衡

    • 对ChunkServer的空间使用和访问速度进行负载均衡

    • 对数据块进行复制、分散到ChunkServer上

    • 一旦数据块冗余数小于最低数,就发起复制操作

    • 平滑数据存储和访问请求的负载


Master3
Master节点的任务

  • 垃圾回收

    • 在日志中记录删除操作,并将文件改名隐藏

    • 缓慢地回收隐藏文件

    • 与传统文件删除相比更简单、更安全

  • 陈旧数据块删除

    • 探测陈旧的数据块,并删除


GFS架构的特点

  • 采用中心服务器模式

    • 可以方便地增加Chunk Server

    • Master掌握系统内所有Chunk Server的情况,方便进行负载均衡

    • 不存在元数据的一致性问题


GFS架构的特点

  • 不缓存数据

    • GFS的文件操作大部分是流式读写,不存在大量的重复读写,使用Cache对性能提高不大

    • Chunk Server上的数据存取使用本地文件系统,如果某个Chunk读取频繁,文件系统具有Cache

    • 从可行性看,Cache与实际数据的一致性维护也极其复杂


GFS架构的特点

  • 在用户态下实现

    • 直接利用Chunk Server的文件系统存取Chunk,实现简单

    • 用户态应用调试较为简单,利于开发

    • 用户态的GFS不会影响Chunk Server的稳定性

  • 提供专用的访问接口

    • 未提供标准的POSIX访问接口

    • 降低GFS的实现复杂度


GFS的容错方法

  • GFS的容错机制

    • Chunk Server容错

      • 每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上

      • 每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)


GFS的容错方法

  • GFS的容错机制

    • Master容错

      • 三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息

      • 前两类通过日志提供容错,Chunk副本信息存储于Chunk Server,Master出现故障时可恢复


Gfs google
GFS在Google中的部署

巨型、廉价、稳定的数据中心

超过50个GFS集群

每个集群包含数千个存储节点

管理着PB(1015Byte)级的数据


Cstor1
cStor云存储硬件架构


Cstor2
cStor云存储软件架构



Cstor4
cStor云存储软件架构

Master Server (管理服务器 )

管理整个文件系统,存储各文件的元数据信息,调度各数据存储服务器

Data Server (数据存储服务器 )

存储文件数据,接受管理服务器的调度,为客户端提供数据传输

Client (客户端)

从管理服务器上获取修改元数据信息,并向数据服务器读写数据


核心技术

支持master节点双机镜像

控制流与数据流的分离

Cache机制

支持POSIX接口

支持加入节点动态扩展

支持节点损失实时自适应容错


Master4
支持master节点双机镜像

使用主备双节点方式解决单节点故障问题

主备切换时间短,且无数据丢失

数据访问不间断,而且性能不受影响


控制流与数据流的分离

解决了master节点的性能瓶颈问题


Cache
Cache机制

master节点在内存中保存metadata

Chunkserver节点利用本身的文件系统提供的 cache

Client 节点缓存metadata


Posix
支持POSIX接口

客户无需学习专门的API接口

可应用在Linux和Windows等各种平台下


支持加入节点动态扩展

可以任意加入节点(包括硬盘)以扩展容量

采用负载均衡策略重新分布数据


支持节点损失实时自适应容错

1:1 容错技术

1:2 容错技术

高顽存容错技术


Cstor5
cStor云存储界面


Cstor6
cStor的性能



Cstor8
cStor云存储的应用

在某数据中心已经成功应用2年,期间未出现系统故障,节点故障均自动屏蔽。

另外还用于数字地球、视频监控、视频点播等领域。


Cstor9
基于cStor的云分发系统


Cstor10
基于cStor的云处理系统

Hive/Pig

JobTracker

TaskTracker

Map-

Reduce

ZooKeeper

HBase

HMaster

RegionServer

HDFS

NameNode

DataNodes


Cstor11
下一代cStor云存储硬件说明

自研的超低功耗云存储硬件节点,功耗仅约为10W(不含硬盘),支持16块硬盘,容量达到32TB以上。

在1个标准的42U机架上集成总容量高达1024TB。




Cstor gfs
cStor与GFS的比较


谢谢


ad