首页 > 其他 > 详细

sheepdog调研学习

时间:2019-04-02 14:57:19      阅读:196      评论:0      收藏:0      [点我收藏+]

1. 基本介绍

sheepdog是近几年开源社区新兴的分布式块存储文件系统,采用完全对称的结构,没 有类似元数据服务的中心节点。这种架构带来了线性可扩展性,没有单点故障和容易管理的特性。对于磁盘和物理节点,SheepDog实现了动态管理容量以及 隐藏硬件错误的特性。对于数据管理,SheepDog利用冗余来实现高可用性,并提供自动恢复数据数据,平衡数据存储的特性。除此之外,sheepdog 还有具有零配置、高可靠、智能节点管理、容量线性扩展、虚拟机感知(底层支持冷热迁移和快照、克隆等)、支持计算与存储混合架构的特点等。目前,开源软件 如QEMU、Libvirt以及Openstack都很好的集成了对Sheepdog的支持。在 openstack中,可以作为cinder和glance的后端存储。

sheepdog总体包括集群管理和存储管理两大部分。集群管理使用已有的集群管理工具来管理,存储管理基于本地文件系统来实现。目前支持的本地文件系统包括ext4和xfs

编译后的sheepdog由两个程序组成,一个是守护程序sheep,一个是集群管理工具dog,守护程序sheep同时兼备了节点路由和和对象存储的功能。

Sheep进程之间通过节点路由(gateway)的逻辑转发请求,而具体的对象通过对象存储的逻辑保存在各个节点上,这就把所有节点上的存储空间聚合起来,形成一个共享的存储空间。

Sheepdog由两个程序组成,一个是后台进程sheep,一个是前台管理工具dog。Dog主要负责管理整个sheep集群,包括集群管理,VDI管理等。集群管理主要包括集群的状态获取,集群快照,集群恢复,节点信息,节点日志,节点恢复等。VDI管理包括VDI的创建,删除,快照,检 查,属性等等。

Dog是一个命令行工具,启动时,会向后台sheep进程发起TCP连接,通过连接传输控制指令。当sheep收到控制指令时,如果有需要,会将相应指令扩散到集群中,加上对称式的设计,从而使得dog能够管理整个集群

 

2. 基本架构

  • 由corosync完成集群成员管理和有关集群消息传递,比如对于节点加入删除等情况检测;
  • 由Qemu VM作为Sheepdog的客户端,进行快照克隆、创建虚拟卷等操作命令的执行,提供NBD/iSCSI协议支持;
  • 由gateway实现数据的DHT路由,接收QEMU块驱动的I/O请求,通过散列算法获得目标节点,然后转发I/O请求至该节点;
  • 由Sheep store数据本地存储.

技术分享图片

技术分享图片

 

 

  • Corosync发送有关集群处理的消息给Sheep,Sheep再进行集群节点的加入删除等操作
  • Qemu和Dog(提供了一系列系统命令)发送命令解析后的请求给Sheep,Sheep再根据具体的请求类型进行相关处理

 

技术分享图片

 

参考资料:

1. 分布式存储系统sheepdog https://blog.csdn.net/kidd_3/article/details/8154964

2.  

sheepdog调研学习

原文:https://www.cnblogs.com/yunlion/p/10642196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!