sheepdog概述(安装及简单使用)

sheepdog是一个分布式存储系统,能够为QEMU提供块存储服务,也能够为支持ISCSI协议的客户端提供存储服务,同时支持restful接口的对象存储服务(兼容swift和S3)。

 

0.sheepdog使用集群管理软件进行集群管理,例如节点的进入/离开集群等。目前支持Corosync、zookeeper和local。local就是使用IPC通信模拟集群通信,这时所有sheepdog节点都运行在一个物理PC上。

zookeeper是比较成熟的集群管理软件,以后均使用zookeeper作为默认的集群管理软件。

在github上下载最新的源代码(https://github.com/sheepdog-ng/sheepdog-ng或者https://github.com/sheepdog/sheepdog这2个版本略有区别,以后再说)

 

1,安装

1.1 编译安装zookeeper并安装zookeeper C库

$ tar -zxvf zookeeper-3.4.6.tar.gz

$ cdzookeeper-3.4.6/src/c

$ ./configure--prefix=/usr

$ make

$ sudomake install

 

1.2 编译安装sheepdog

$ cd sheepdog/

$ ./configure--enable-zookeeper  --disable-corosync

$ make

$ sudo make install

 

第二步中,使sheepdog使用zookeeper而不使用corosync。

 

2、启动sheepdog集群

2.1 启动zookeeper

测试环境zookeeper使用单节点模式(standalone)即可,实际使用时一般使用3个或者5个节点作为集群,提高可靠性。

 

2.2 启动sheepdog:

$sudo sheep  /mnt/sheep -czookeeper:host:2181

上述命令使用/mnt/sheep这个目录为sheep提供物理存储,并使用zookeeper集群:host:2181.

此时可以使用dog命令检查集群状态,例如dog node list/dog clustet info/dog vdi list等

 

3、进行集群操作

主要是dog命令,例如集群格式化,卷的创建,删除,克隆/快照,读写等。


3.1、格式化
 
    
dog cluster format

3.2、创建卷
 
    
dog vdi create vol-name 2G

3.3、读写卷
 
    
dog vdi read v1 offset length
dog vdi write v1 offset len < content
dog vdi read v1 1024 55
echo test | dog vdi write v1 1024 5


4、sheepdog和QEMU

QEMU是一款虚拟化软件,支持sheepdog,sheepdog块存储可以直接提供给QEMU使用,但是也可以通过其他方式使用。这两款软件可以配合使用(虚机+存储),也可以完全独立,QEMU使用其他存储,sheepdog为物理机提供存储服务等。

 

目前我们的使用方式为:通过iscsi,将sheepdog集群的存储服务提供给物理机使用,

集群中分为2种节点:存储节点和计算节点,存储节点为sheep存储节点,每个节点挂在10块左右的普通STAT磁盘,每块盘容量为3T,每个节点30T,45个节点的容量就是1350TB;计算节点就是使用存储的节点,上面也跑sheep,但是使用gateway模式(sheep启动参数有-g或者--gateway),计算节点上同时安装iscsi的initiator和target(tgtd)。

iscsi的常规使用方式是,存储节点上安装target,需要使用存储的节点上安装initiator,IO通过ISCSI协议传输在以太网上。

但是我们的环境中,target也安装在计算节点上,同时计算节点作为gateway模式,加入到集群中。






你可能感兴趣的:(sheepdog)