【OpenStack】OpenStack系列6之Sheepdog环境搭建
- 准备
- repo配置


yum clean all
yum makecache
- yum install -y make automake autoconf gcc nss-devel wget git glib2
- 安装corosync
参考:https://github.com/sheepdog/sheepdog/wiki/Install%20From%20Sources
yum remove corosync corosynclib corosynclib-devel -y
git clone git://github.com/corosync/corosync.git
cd corosync
git checkout -b flatiron origin/flatiron
./autogen.sh
./configure --enable-nss
make install
- 安装sheepdog
- 准备liburcu/ yasm
参考:https://github.com/sheepdog/sheepdog/wiki/Install%20From%20Sources
http://lishenxiao.blog.hexun.com/85146991_d.html
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release*rpm
yum install userspace-rcu -y
yum install userspace-rcu-devel –y
安装yasm:
yum install yasm yasm-devel -y
- 安装sheepdog
git clone git://github.com/sheepdog/sheepdog.git
cd sheepdog
./autogen.sh
./configure
make install
- 配置corosync
参考:https://github.com/sheepdog/sheepdog/wiki/Corosync-config
- 启动corosync服务
/etc/init.d/corosync start
- 配置sheepdog
配置元数据、对象数据路径:
mount -o remount,user_xattr /var
mount -o remount,user_xattr /home/disk1
mount -o remount,user_xattr /home/disk2
mount -o remount,user_xattr /home/disk3
参考:https://github.com/sheepdog/sheepdog/wiki/Multi-disk-on-Single-Node-Support
- 使用缓存
mkdir -p /home/cache
- 启动sheepdog
sheep -w size=200G,dir=/home/cache,direction /var/lib/sheepdog,/home/disk1,/home/disk2,/home/disk3
- 查看集群节点列表
collie node list
或者,
dog node list
collie node info
或者,
dog node info
- 集群存储格式化
collie cluster format --copies=3
或者,
dog cluster format --copies=3
只需在其中一个节点执行
- 使用sheepdog——通过iscsi协议
- 参考资料
https://github.com/sheepdog/sheepdog/wiki/General-protocol-support-%28iSCSI-and-NBD%29
- 创建虚拟机镜像
dog vdi create ebs 500G
- 安装tgt
git clone git://github.com/fujita/tgt.git -b sheepdog
cd tgt
make
make install
- 启动tgtd
tgtd
- 创建target
tgtadm --op new --mode target --tid 1 --lld iscsi --targetname iqn.2013-10.org.sheepdog-project
tgtadm --op new --mode lu --tid 1 --lun 2 --bstype sheepdog --backing-store unix:/var/lib/sheepdog/sock:ebs
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
- 查看tgtd配置
tgtadm --lld iscsi --op show --mode target
- 安装open-iscsi启动器——操作系统内核需要有scsi、iscsi相关ko支持。
yum install iscsi-initiator-utils –y
启动客户端:
/etc/init.d/iscsi start
/etc/init.d/iscsid start
iscsiadm -m discovery -t st -p 127.0.0.1 自动启动iscsi
发现tgt:
iscsiadm -m node --targetname iqn.2013-10.org.sheepdog-project --portal 127.0.0.1:3260 --login
device新增如下:

- Sheepdog块设备性能测试
- 无SSD,使用本地磁盘做cache,3备份,随机写、顺序写、顺序读性能均较差,但是随机读性能非常好。
- 使用sheepdog——通过qeum
- 安装qeum编译依赖包
yum install zlib-devel glib2-devel -y
- 编译安装qeum
wget http://wiki.qemu-project.org/download/qemu-1.5.2.tar.bz2
tar jxvf qemu-1.5.2.tar.bz2
cd qemu-1.5.2
./configure
make;make install
- 创建磁盘
qemu-img create -f qcow2 sheepdog:127.0.0.1:7000:disktest 500G
collie vdi list
- 启动虚拟机
qemu-system-x86_64 --enable-kvm -m 4096 -smp 4 -drive file=sheepdog:disktest,cache=writeback -vnc :8901 -cdrom CentOS-6.3-x86_64-minimal.iso
- 通过虚拟机测试sheepdog性能
【OpenStack】OpenStack系列6之Sheepdog环境搭建的更多相关文章
- 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)
引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
[JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...
- .Net Core 系列:1、环境搭建
前言: 2016年6月28日微软宣布发布 .NET Core 1.0.ASP.NET Core 1.0 和 Entity Framework Core 1.0. .NET Core是微软在两年前发起的 ...
- Android总结篇系列:Android开发环境搭建
工欲善其事必先利其器. 1.安装并配置Java环境进入Java oracle官网,当前网址如下:http://www.oracle.com/technetwork/java/javase/downlo ...
- windows phone 8 开发系列(一)环境搭建
一:前奏说明 本人一名普通的neter,对新玩意有点小兴趣,之前wp7出来的时候,折腾学习过点wp7开发,后来也没怎么用到(主要对微软抛弃wp7的行为比较不爽),现在wp8已经出来一段时间了,市场上也 ...
- .net转php laraval框架学习系列(一) 环境搭建
之前也没写过什么博客,可能文章结构比较混乱,想到那写到哪. 主要是把自己学习中的经验写下来. 为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.n ...
- [Android系列—] 1. Android 开发环境搭建与Hello World
前言 開始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,相同对于And ...
- 【java系列】java开发环境搭建
描述 本篇文章主要讲解基于windows 10系统搭建java开发环境,主要内容包括如下: (1)安装资料准备 (2)安装过程讲解 (3)测试是否安装成功 (4)Hello Word测试 1 安装 ...
随机推荐
- Java-小数点控制
package 运算及类型转换类; import java.text.DecimalFormat; public class 控制小数点类 { public static double decimal ...
- [NOIP2011] 普及组
数字反转 小模拟 #include<cstdio> #include<iostream> #include<cstring> using namespace std ...
- 中间件、MetaQ入门学习
目录 . 中间件技术 . MetaQ中间件 . MetaQ编程实践 1. 中间件技术 0x1: 中间件简介 中间件(Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的 ...
- gotoTop返回顶部 JS
方法: 1.首先在body添加一个标签,在一个页面添加,其它页面也会生效. <body> <a name="top"> 2.然后在页脚添加一个链接 < ...
- jsp学习(四)
JavaBean是一个可重复使用的软件组件,是遵循一定标准.用java语言编写的一个类,该类的一个实例称为一个JavaBean,简称bean. 它必须符合如下规范:1.必须有一个零参数的默认构造函数2 ...
- 5个最好的Python Web开发框架
Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开始学习Python,也立即就能获得生产力上的提升 ...
- EasyUI queryParams属性 在请求远程数据同时给action方法传参
http://www.cnblogs.com/iack/p/3530500.html?utm_source=tuicool EasyUI queryParams属性 在请求远程数据同时给action方 ...
- 详细解读MySQL中的权限
一.前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪 些权限. 现在很多mysql用着root账户 ...
- 删除ecshop底部共执行个查询Gzip 已禁用,占用内存方法
删除ecshop底部共执行个查询Gzip 已禁用,占用内存方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2013-03-25 “共执行 41 个查询,用时 2 ...
- 初学Hibernate持久化
hibernate三种持久化对象状态:(持久化对象:Persistent Object=POJO + hbm映射) 1.瞬时状态(临时状态或自由态):PO对象刚创建(即new)开始进入瞬时状态,此时对 ...