js333 > 计算机互联网 > 金沙js333娱乐场04安装分布式存储Sheepdog,虚拟机

原标题:金沙js333娱乐场04安装分布式存储Sheepdog,虚拟机

浏览次数:200 时间:2019-11-05

牧羊犬(Sheepdog) 是由NTT的3名日本研究员开发的开源项目,提供分布式存储管理功能。牧羊犬提供高可用性的KVM提供块级存储卷类似亚马逊电子交易系统(弹性块存储虚拟机)的客户机。目前国内阿里等一些大公司在使用。

前言
sheepdog是一个专门为qemu设计的虚拟机分布式文件系统,采用完全对称的结构,没有元数据服务的中心节点,因此免除了单点故障的隐患.本文基于最新的0.7.0版本测试,介绍sheepdog的安装配置和使用。

CentOS 7 安装Mesos+Marathon+Zookeeper

一、Sheepdog架构图

sheepdog的后端集群管理
sheepdog的后端集群管理用于管理节点间的成员关系和消息通讯.目前可使用四种模式,分别是local driver(用于单机测试),corosync (默认), zookeeper and Accord.

1.地址规划

金沙js333娱乐场 1

推荐阅读:

  • 192.168.1.110  master1
  • 192.168.1.111  master2
  • 192.168.1.112  master3

如上图:

Hadoop在Linux下伪分布式的安装 wordcount实例的运行 http://www.linuxidc.com/Linux/2012-01/50706.htm

 

采用无中心节点的全对称架构,无单点故障,存储容量和性能可线性扩展;

Hadoop实例WordCount程序一步一步运行 http://www.linuxidc.com/Linux/2011-09/44092.htm

  • 192.168.1.115  salve1
  • 192.168.1.116  salve2

新增节点通过简单配置可自动加入(IP:PORT),数据自动实现负载均衡;

分为两种模型:

Master节点:

节点故障时,数据可自动恢复;

– 全对称 (依赖 Corosync ,运行于 Sheepdog 的地址空间)

1.关闭防火墙

直接支持QEMU/KVM应用;

● 缺点:规模小 [<100]

systemctl stop firewalld && systemctl disable firewalld

二、数据具体存储方式

● 优点:无需配置

2.关闭selinux

金沙js333娱乐场 2

– 单独的控制集群 (依赖 Accord* 或者 Zookeeper ,运行于独立地址空间)

setenforce 0

如上图:

● 缺点:需要配置控制集群

3.安装mesosphere源

以VDI Object存储VM数据,向用户暴露的是一个块设备;

● 优点:规模大 [>1000]

rpm -ivh /mesosphere-el-repo-7-1.noarch.rpm

包含4种数据对象:VDI、Data Object、属性对象和用于快照的VM实时状态数据对象;

本测试使用的就是默认的Corosync模式.

4.安装mesos及相关软件

以4M的小文件方式实现OBS,但很容易基于此扩展,如使用使用库替代4M的小文件;

安装前准备:
先做一些系统设置

yum -y install mesos  mesosphere-zookeeper

下面我们来具体搭建下,我们将采用Sheepdog+Zookeeper方式。

echo "* soft nofile 65533" >> /etc/security/limits.conf
echo "* hard nofile 65533" >> /etc/security/limits.conf
yum install -y make automake autoconf gcc nss-devel wget git glib2
安装epel源

5.配置zookeeper

环境介绍:

rpm -ivh

  • master1: echo 1 > /var/lib/zookeeper/myid
  • master2: echo 2 > /var/lib/zookeeper/myid
  • master3: echo 3 > /var/lib/zookeeper/myid

系统:Ubuntu 14.04

安装sheepdog
1).安装corosync
CentOS6自带的版本过旧,我们需要安装新版

vi /etc/zookeeper/conf/zoo.cfg  #加入

软件:Sheepdog,Zookeeper

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  

  • server.1=192.168.1.110:2888:3888
  • server.2=192.168.1.111:2888:3888
  • server.3=192.168.1.112:2888:3888

我们这次采用的是github上的源码下来直接编译制作成deb包来进行安装的。

2).安装sheepdog
cd /home2/install
git clone git://github.com/collie/sheepdog.git
cd sheepdog
./autogen.sh
./configure
make install  

6.配置mesos

1.获取sheepdog源码:

配置corosync和sheepdog
cd /etc/corosync
cp corosync.conf.example corosync.conf
编辑corosync.conf修改bindnetaddr成你的网段如192.168.1.0

master1 master2 master3

root@node1:~# git clone sheepdog-github

# Please read the corosync.conf 5 manual page
compatibility: whitetank
totem {
  version: 2
  secauth: off
  threads: 0
  #金沙js333娱乐场, Note, fail_recv_const is only needed if you're
  # having problems with corosync crashing under
  # heavy sheepdog traffic. This crash is due to
  # delayed/resent/misordered multicast packets.
  # fail_recv_const: 5000
  interface {
    ringnumber: 0
    bindnetaddr: 192.168.1.0
    mcastaddr: 226.94.1.1
    mcastport: 5405
  }
}
logging {
  fileline: off
  to_stderr: no
  to_logfile: yes
  to_syslog: yes
  # the pathname of the log file
  logfile: /var/log/cluster/corosync.log
  debug: off
  timestamp: on
  logger_subsys {
    subsys: AMF
    debug: off
  }
}
amf {
  mode: disabled
}启动服务

vi /etc/mesos/zk  #加入

2.切换到最稳定版本0.7.6:

/etc/init.d/corosync start
#或通过命令启动(/var/lib/sheepdog是sheepdog使用的数据目录,你可以更改到其他)
#sheep /var/lib/sheepdog  

zk://192.168.1.110:2181,192.168.1.111:2181,192.168.1.112:2181/mesos

root@node1:~# cd sheepdog-github/

sheepdog要求/var/lib/sheepdog目录所在的分区支持xattr

echo 2 > /etc/mesos-master/quorum  #加入

root@node1:~# git checkout v0.7.6

mount -o remount,user_xattr /以上操作需要在每一台sheepdog节点执行

  • master1: echo 192.168.1.110 | sudo tee /etc/mesos-master/hostname
  • master2: echo 192.168.1.111 | sudo tee /etc/mesos-master/hostname
  • master3: echo 192.168.1.112 | sudo tee /etc/mesos-master/hostname

4.执行autogen.sh生成configure,在此之前,可能需要安装依赖:

格式化sheepdog集群并设置3个副本,只需要在其中一台节点执行

7.配置marathon

root@node1:~# apt-get install autoconf libtool make pkg-config

collie cluster format  --copies=3查看节点状态

去官网下载marathon.tar.gz

root@node1:~# ./autogen.sh

collie node list至此sheepdog集群已经配置完毕

master1 master2 master3

5.开始编译,sheepdog本身依赖于corosync、zookeeper等集群管理工具,由于我们制作deb包,还依赖于debian的一些工具:

接下来请看第2页精彩内容:http://www.linuxidc.com/Linux/2013-08/89109p2.htm

tar zxvf  marathon.tar.gz

root@node1:~# apt-get install liburcu-dev corosync corosync-dev zookeeper zookeeperd libzookeeper-mt-dev

金沙js333娱乐场 3

cd marathon/

root@node1:~# ./configure --enable-zookeeper

启动: ./bin/start --master zk://192.168.0.180:2181,192.168.0.227:2181,192.168.0.221:2181/mesos --zk zk://192.168.0.180:2181,192.168.0.227:2181,192.168.0.221:2181/marathon

root@node1:~# apt-get install debhelper dh-autoreconf devscripts

8.启动mesos-master,zookeeper

root@node1:~# make deb

systemctl start  zookeeper && systemctl start mesos-master

6.开始安装sheepdog:

systemctl disable mesos-slave

root@node1:~# cd ..

Slave节点:

root@node1:~# dpkg -i sheepdog_0.7.6-1_amd64.deb

1.关闭防火墙

7.至此sheepdog已经安装完成,如果你要把这个deb包拷贝到别的机器(node2)进行安装那么就必须在那台机器上安装相应的依赖包:

systemctl stop firewalld && systemctl disable firewalld

root@node1:~# apt-get install zookeeperd libcfg4 libcfg6 libcpg4 libzookeeper-mt2 libcoroipcc4

2.关闭selinux

特别注意:在ubuntu14.04上找不到libcfg4的包,因为libcfg4是12.04上的包,需要在/etc/apt/sources.list里面添加一条

setenforce 0

deb precise main

3.安装mesosphere源

8.配置zookeeper:

rpm -ivh /mesosphere-el-repo-7-1.noarch.rpm

一般正式环境使用zookeeper作为sheepdog集群的管理工具,需要相关配置。如果只是单节点试用,可以不配置zookeeper。

4.安装mesos

先修改myid文件,你配置第几个节点就写几,内容是1-255;

yum -y install  mesos

root@node1:~# vi /etc/zookeeper/conf/myid

5.配置mesos

9.然后修改zoo.cfg文件,主要填写各个zookeeper节点的信息:

slave1  slave2

root@node1:~# vi /etc/zookeeper/conf/zoo.cfg

vi /etc/mesos/zk  #加入

server.1=10.0.0.18:2888:3888

zk://192.168.1.110:2181,192.168.1.111:2181,192.168.1.112:2181/mesos

server.2=10.0.0.19:2889:3889

  • slave1: echo 192.168.1.115 | sudo tee /etc/mesos-slave/hostname
  • slave2: echo 192.168.1.116 | sudo tee /etc/mesos-slave/hostname

我有两个节点所有就只有两个,这格式就是server.myid=ip+端口号;

6.启动mesos-slave

其中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。

systemctl start  mesos-slave  && systemctl enable  mesos-slave

10.重启下zookeeper;

systemctl disable mesos-master

root@node1:~# service zookeeper restart

测试:

11.启动sheepdog并挂载磁盘;

输入192.168.0.111:5050

root@node1:~# mkdir /mnt/sheepdog

随便输入一个master的地址就OK,zookeeper会自动选出一个leader

root@node1:~# mount -t ext4 -o noatime,barrier=0,user_xattr,data=writeback /dev/sdb1 /mnt/sheepdog

金沙js333娱乐场 4

root@node1:~# useradd sheepdog

金沙js333娱乐场 5

root@node1:~# chown -R sheepdog:sheepdog /mnt/sheepdog

输入192.168.0.111:8080,可利用其发布docker镜像并可调整应用数量

root@node1:~# sheep /mnt/sheepdog -c zookeeper:10.0.0.18:2181,10.0.0.19:2181

金沙js333娱乐场 6

Sheepdog常用命令

使用Mesos和Marathon管理Docker集群  http://www.linuxidc.com/Linux/2015-08/120966.htm

设置副本数:

关于Apache Mesos的一些想法  http://www.linuxidc.com/Linux/2015-03/114733.htm

dog cluster format --copies=3    //copies副本数

使用 Docker,7 个命令部署一个 Mesos 集群  http://www.linuxidc.com/Linux/2015-06/118589.htm

查看sheepdog节点:两种方式都可以

Ubuntu 14.04安装分布式存储Sheepdog+ZooKeeper  http://www.linuxidc.com/Linux/2014-12/110352.htm

金沙js333娱乐场 7

CentOS 6安装sheepdog 虚拟机分布式储存  http://www.linuxidc.com/Linux/2013-08/89109.htm

CentOS 6安装sheepdog 虚拟机分布式储存  http://www.linuxidc.com/Linux/2013-08/89109.htm

ZooKeeper集群配置 http://www.linuxidc.com/Linux/2013-06/86348.htm

ZooKeeper集群配置 http://www.linuxidc.com/Linux/2013-06/86348.htm

使用ZooKeeper实现分布式共享锁 http://www.linuxidc.com/Linux/2013-06/85550.htm

使用ZooKeeper实现分布式共享锁 http://www.linuxidc.com/Linux/2013-06/85550.htm

分布式服务框架 ZooKeeper -- 管理分布式环境中的数据 http://www.linuxidc.com/Linux/2013-06/85549.htm

分布式服务框架 ZooKeeper -- 管理分布式环境中的数据 http://www.linuxidc.com/Linux/2013-06/85549.htm

ZooKeeper集群环境搭建实践 http://www.linuxidc.com/Linux/2013-04/83562.htm

ZooKeeper集群环境搭建实践 http://www.linuxidc.com/Linux/2013-04/83562.htm

ZooKeeper服务器集群环境配置实测 http://www.linuxidc.com/Linux/2013-04/83559.htm

ZooKeeper服务器集群环境配置实测 http://www.linuxidc.com/Linux/2013-04/83559.htm

ZooKeeper集群安装 http://www.linuxidc.com/Linux/2012-10/72906.htm

ZooKeeper集群安装 http://www.linuxidc.com/Linux/2012-10/72906.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-11/125031.htm

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

金沙js333娱乐场 8

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-12/110352.htm

金沙js333娱乐场 9

本文由js333发布于计算机互联网,转载请注明出处:金沙js333娱乐场04安装分布式存储Sheepdog,虚拟机

关键词:

上一篇:Proftpd环境下设定虚拟主机金沙js333娱乐场

下一篇:没有了