Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备。

其架构例如以下:

以下,我们将从架构、模块等几个方面来介绍下:

一、架构图

如上图:

採用无中心节点的全对称架构,无单点故障,存储容量和性能可线性扩展;

新增节点通过简单配置可自己主动增加(IP:PORT),数据自己主动实现负载均衡;

节点故障时,数据可自己主动恢复;

直接支持QEMU/KVM应用;

二、模块

如上图:

由corosync,完毕集群成员管理和消息传递;

由Qemu作为Sheepdog的client,提供NBD/iSCSI协议支持;

由gateway实现数据的DHT路由,由storage server数据数据本地存储;

三、数据详细存储方式

如上图:

以VDI Object存储VM数据,向用户暴露的是一个块设备;

包括4种数据对象:VDI、Data Object、属性对象和用于快照的VM实时状态数据对象;

以4M的小文件方式实现OBS,但非常easy基于此扩展,如使用使用库替代4M的小文件;

四、集群管理

1. 採用corosync,tot是em协议的一个开源实现。totem协议主要用来实现集群成员管理和可靠顺序传输。

2. corosync通过提供一个CPG API来提供服务。

首先,绑定一个fd到cpg_handle,并注冊回调函数cpg_dispatch;

然后将fd注冊到epoll;

corosync上消息会触发fd改变,通用epoll触发回调函数cpg_dispatch;

这里主要有两个函数,cpg_deliver_fn和cpg_confchg_fn,分别相应sd_deliver和sd_confchg.

当中,sd_deliver负责集群从corosync给本地发消息,主要是针对VDI进行操作;而sd_confchg主要是对node进行操作,用来监控集群成员变化。

五、存储对象管理

集群对象版本号epoch;

obj文件夹下,每一个新的epoch要相应创建一个新的文件夹;

可从epoch恢复数据;

六、一致性模型

通过epoll机制保证;

通过数据操作实现强一致性(多副本的写同一时候成功时,才向client返回);

七、DHT路由

代理路由方式;

由ip:port生成节点编号,做一致性哈希;

八、副本放置

一致性哈希;

虚拟节点;

如需了解更具体信息,可參考其官网:http://www.osrg.net/sheepdog/

【分布式存储系统sheepdog 】的更多相关文章

  1. 分布式存储系统sheepdog

    Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...

  2. [转载] 360分布式存储系统Bada的设计和应用

    原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=208931479&idx=1&sn=1dc6ea4fa28a ...

  3. 高性能、高容错、基于内存的开源分布式存储系统Tachyon的简单介绍

    Tachyon是什么? Tachyon是一个高性能.高容错.基于内存的开源分布式存储系统,并具有类Java的文件API.插件式的底层文件系统.兼容Hadoop MapReduce和Apache Spa ...

  4. 分布式存储系统-HBASE

    简介 HBase –Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBse技术可在廉价PC Server上搭建起大规模结构化存储集群.HBase利用Had ...

  5. (第6篇)大数据发展背后的强力推手——HBase分布式存储系统

    摘要: 今天我们介绍可在廉价PC Server上搭建起大规模结构化存储集群的分布式存储系统——HBase. 博主福利 给大家赠送一套hadoop视频课程 授课老师是百度 hadoop 核心架构师 内容 ...

  6. 关于分布式存储系统中-CAP原则(CAP定理)与BASE理论比较

    CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. CA ...

  7. 《SPARK/TACHYON:基于内存的分布式存储系统》-史鸣飞(英特尔亚太研发有限公司大数据软件部工程师)

    史鸣飞:大家好,我是叫史鸣飞,来自英特尔公司,接下来我向大家介绍一下Tachyon.我事先想了解一下大家有没有听说过Tachyon,或者是对Tachyon有没有一些了解?对Spark呢? 首先做一个介 ...

  8. 分布式存储系统 Ceph

    你了解Ceph吗? Ceph是一种分布式存储系统,它可以将多台服务器组成一个超大集群,把这些机器中的磁盘资源整合到一块儿,形成一个大的资源池(PB级别),然后按需分配给应用使用. 那么你知道Ceph的 ...

  9. 分布式存储系统Kudu与HBase的简要分析与对比

    本文来自网易云社区 作者:闽涛 背景 Cloudera在2016年发布了新型的分布式存储系统——kudu,kudu目前也是apache下面的开源项目.Hadoop生态圈中的技术繁多,HDFS作为底层数 ...

随机推荐

  1. 准确率和召回率(precision&recall)

    在机器学习.推荐系统.信息检索.自然语言处理.多媒体视觉等领域,常常会用到准确率(precision).召回率(recall).F-measure.F1-score 来评价算法的准确性. 一.准确率和 ...

  2. navicat如何导入sql文件

    工具--数据的传输--文件 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  3. HDU1069_Monkey and Banana【LCS】

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  4. Android与服务器端数据交互(转)

    上一节中我们通过http协议,采用HttpClient向服务器端action请求数据.当然调用服务器端方法获取数据并不止这一种.WebService也可以为我们提供所需数据,那么什么是webServi ...

  5. ContentProvider总结(Android)

    ContentProvider 1.适用场景 1) ContentProvider为存储和读取数据提供了统一的接口 2) 使用ContentProvider,应用程序能够实现数据共享 3) andro ...

  6. ASPxComboBox控件联动效果bug改进

    原文:ASPxComboBox控件联动效果bug改进 在应用第三方控件DevExpress控件的时候,大家应该对ASPxComboBox控件应该不是很陌生吧,尤其在做多级联动效果的时候,有着它独特的地 ...

  7. 原因好消息: PSP游戏自己主动算法设计(两)

    这是我们讲的传说中的一项措施A×算法.事实上,类上传之前似小件,下面我们分析一下它去 毕竟,在游戏程序,我们从移动一个点到另一个点.和得到的轨迹的最短距离,类别似这样的算法以及几个.运营效率几乎是相同 ...

  8. phpmyadmin常见错误

    phpmyadmin用root无法登录(username和password都正确) 解决: 看mysqlclient能否够登录(我遇到的是不能登录),若无法登录就更改rootpassword,改好后就 ...

  9. SpringMVC访问静态资源[转]

    1.如果只配置拦截类似于*.do格式的url,则对静态资源的访问是没有问题的,如下: <!-- SpringMVC核心分发器 --> <servlet> <servlet ...

  10. js isArray小结

    原文:[转载]js isArray小结 在日常开发中,我们经常需要判断某个对象是否是数组类型的,在js中检测对象类型的常见的方法有几种: 1.typeof操作符.对于Function.String.N ...