IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    sheepdog源码学习笔记一

    admin发表于 2011-03-04 14:05:00
    love 0

    最近这两天一直在看sheepdog的源码,有关sheepdog的用法,请参考我的另一篇博客:KVM分布式共享存储解决方案-sheepdog 总的来说,sheepdog的代码量不是很大,在一万行左右,比起其他的分布式文件系统如kfs,ceph等还是比较轻量级的,而且定位也是针对qemu/kvm等volume的解决方案.

    sheepdog原理介绍

    1. sheepdog是作为虚拟机kvm的volume使用的,是非普通的文件系统,这点和Amazon的EBS(Elastic Block Store)比较类似

    2. sheepdog是一种对称(symmetric)的结构,各个节点的地位相同,没有中心节点,没有meta-server,使用Corosync 对物理节点进行管理

    3. sheepdog中的对象存储分为两类,其一是One reader One Writer 其二是No writer multiple reader 而且对象是4M大小分片的,使用“一致性哈希”算法来确定对象存储位置,多副本存储

    sheepdog的代码结构

    ./collie/treeview.c
    ./collie/collie.c
    ./sheep/vdi.c
    ./sheep/store.c
    ./sheep/sdnet.c
    ./sheep/work.c
    ./sheep/sheep.c
    ./sheep/group.c
    ./lib/logger.c
    ./lib/event.c
    ./lib/net.c
    

    sheep目录下是有关sheepdog的大部分逻辑的处理,部署在各个节点上
    collie目录是作为管理管理sheep的代码
    lib目录下是关于网络、日志和事件等处理模型
    …..
    今天暂时写到这里……待续

    您可能对下面文章也感兴趣:

    • sheepdog源码分析之关键模块介绍(一)
    • sheepdog源码分析之关键数据结构介绍
    • sheepdog源码学习二之代码目录结构介绍
    • KVM分布式共享存储解决方案-sheepdog
    • 探索 Linux 内核虚拟机[转载]


沪ICP备19023445号-2号
友情链接