1. 准备
    1. repo配置

      yum clean all

      yum makecache

    2. yum install -y make automake autoconf gcc nss-devel wget git glib2
    3. 安装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

  2. 安装sheepdog
    1. 准备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

    2. 安装sheepdog

      git clone git://github.com/sheepdog/sheepdog.git

      cd sheepdog

      ./autogen.sh

      ./configure

      make install

    3. 配置corosync

      参考:https://github.com/sheepdog/sheepdog/wiki/Corosync-config

      http://my.oschina.net/kisops/blog/153576

    4. 启动corosync服务

      /etc/init.d/corosync start

    5. 配置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

    6. 使用缓存

      mkdir -p /home/cache

    7. 启动sheepdog

      sheep -w size=200G,dir=/home/cache,direction /var/lib/sheepdog,/home/disk1,/home/disk2,/home/disk3

    8. 查看集群节点列表

      collie node list

      或者,

      dog node list

      collie node info

      或者,

      dog node info

    9. 集群存储格式化

      collie cluster format --copies=3

      或者,

      dog cluster format --copies=3

      只需在其中一个节点执行

  3. 使用sheepdog——通过iscsi协议
    1. 参考资料

      https://github.com/sheepdog/sheepdog/wiki/General-protocol-support-%28iSCSI-and-NBD%29

      http://blog.csdn.net/bobpen/article/details/10172163

    2. 创建虚拟机镜像

      dog vdi create ebs 500G

    3. 安装tgt

    git clone git://github.com/fujita/tgt.git -b sheepdog

    cd tgt

    make

    make install

    1. 启动tgtd

      tgtd

    2. 创建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

    3. 查看tgtd配置

      tgtadm --lld iscsi --op show --mode target

    4. 安装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新增如下:

  4. Sheepdog块设备性能测试
    1. 无SSD,使用本地磁盘做cache,3备份,随机写、顺序写、顺序读性能均较差,但是随机读性能非常好。
  5. 使用sheepdog——通过qeum
    1. 安装qeum编译依赖包

      yum install zlib-devel glib2-devel -y

    2. 编译安装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

    3. 创建磁盘

      qemu-img create -f qcow2 sheepdog:127.0.0.1:7000:disktest 500G

      collie vdi list

    4. 启动虚拟机

      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

    5. 通过虚拟机测试sheepdog性能

【OpenStack】OpenStack系列6之Sheepdog环境搭建相关推荐

  1. 【先楫HPM6750系列】RT-Thread开发环境搭建和Hello World

    [先楫HPM6750系列]RT-Thread开发环境搭建和Hello World 本篇介绍HPM6750开发板的RT-Thread Studio开发环境搭建,以及在RT-Thread Studio环境 ...

  2. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  3. 台式机Ubuntu系统安装Tesla系列显卡+深度学习环境搭建

    1.前言 Tesla系列的显卡主要是作为计算显卡来使用的,常用在服务器.工作站等设备上,并不适用于普通台式机主板上.与常用的Nvidia显卡系列相比,其内部的电源供电结构.散热功能都是不一样的.因此要 ...

  4. ipv6系列--本机ipv6环境搭建

    系统环境:centos7.5  kernel:3.10.0-862.el7.x86_64 Note:centos的最小化安装没有ipv6的内核模块,需要自己加载模块,所以我重新装了系统,选择的开发系统 ...

  5. 涂鸦智能模组SDK开发系列课程——SoC开发环境搭建(一)

    SoC开发环境搭建 本章节主要介绍如何搭建涂鸦 Wi-Fi 和 Wi-Fi&Bluetooth LE 系列模组二次开发的编译环境.在 Windows 上使用 VirtualBox 虚拟机软件安 ...

  6. .Net Core 系列:1、环境搭建

    前言: 2016年6月28日微软宣布发布 .NET Core 1.0.ASP.NET Core 1.0 和 Entity Framework Core 1.0. .NET Core是微软在两年前发起的 ...

  7. [Android系列—] 1. Android 开发环境搭建与Hello World

    前言 开始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,同样对于And ...

  8. Python爬虫系列(一)环境搭建,以及简单使用,体验他的强大

    python初体验 python环境搭建 搭建过程中问题解决 工具安装 简单使用 强大的工具是开发的利器! 1.学习Python爬虫需要的python环境,Mac一般都自带了. 但是为了简单,上手更快 ...

  9. 手把手教你搭建一个【文件共享平台】系列教程第二话——环境搭建

    文章目录 本话概要 前端 前端整体需求 前端组件树 前端环境搭建 后端 后端整体需求 后端技术路线 后端环境搭建 下期预告 本话概要 这一篇博文主要从整体的角度,概述整个文件共享平台前.后端的需求.技 ...

最新文章

  1. html自动获取用户位置,HTML5 - 使用Geolocation(地理定位)获取用户的位置
  2. 机器人锤石下路组合_下周二,极智嘉研发总监讲解物流机器人视觉感知与定位关键技术...
  3. 分布式内存数据库---Redis数据库之(键)key
  4. Netty实战 IM即时通讯系统(五)客户端启动流程
  5. CentOS7手动修改系统时间
  6. 从Spring到SpringBoot构建WEB MVC核心配置详解
  7. Linux挂载windos共享提示error
  8. 基于SPringBoot的药品管理系统
  9. php算法-输出100以内能被3整除的整数
  10. MAC PS更换登记照背景颜色
  11. gavin中文是什么意思_Gavin[加文,盖温]英文名的中文翻译意思、发音、来源及流行趋势-千代英文名...
  12. 商业智能BI的价值,可视化报表等于商业智能BI吗?
  13. 无法加载文件C:\Users\TANG\AppData\Roaming\npm\nrm.ps1,因为在此系统上禁止运行脚本
  14. 学习记录--香水数据挖掘与分析
  15. Lua学习之【3】:表达式
  16. 10种常见的HTML标签错误写法
  17. 基于人脸的常见表情识别 Task03笔记
  18. Apache Kylin在百度地图的实践
  19. 小猪佩奇python_小猪佩奇社会人专用服务器,有意思的python小程序,附python代码...
  20. 工厂模式——猫粮厂的演进

热门文章

  1. 清理系统垃圾文件的常用脚本
  2. iOS进阶之底层原理-weak实现原理
  3. web前段学习day_01:HTML(学习如何搭建页面结构和内容):文本标签、列表标签、图片标签、超链接、表格、表单表单、分区标签、实体引用
  4. numpy维度交换_15年!NumPy论文终出炉,还登上了Nature
  5. 解决Kali Linux XFCE桌面Tab无法补全
  6. arraylist 初始化_第一章 C#数据结构--数组和ArrayList
  7. 清华大学微纳脑机接口与机器人实验室:微纳系统机械设计研发工程师招聘
  8. Google新WorldSense预告片:独立VR
  9. win7计算机不支持此接口,win7系统IIS服务器启动失败显示不支持此接口的解决方法...
  10. springboot定时发送短信_springboot 整合websocket实现消息推送(主动推送,具体用户推送,群发,定时推送)...